Innholdsfortegnelse:
- Trinn 1: Samle materialer
- Trinn 2: Lag kretser
- Trinn 3: Designe hansken
- Trinn 4: Lodding
- Trinn 5: Koding
- Trinn 6: Endringer
Video: Rytmehånd: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Denne cyberglove handler om å gjøre det riktige trekket i rett øyeblikk.
Lysene går fra armen (albuen) til hånden din, og når lysene kommer til din hånd må du trykke fingrene på minifotocellen.
Hvis du trykker hånden på minifotocellen i riktig øyeblikk, blir lysdiodene grønne. Hvis ikke blir lysdiodene røde.
Trinn 1: Samle materialer
- En hanske
- Stoff som gjør hansken lengre
- WS2812B LED -stripe
- Ledninger
- Arduino
- Mini fotosel
Trinn 2: Lag kretser
Koble først led -stripen til arduinoen. Du kan gjøre det ved å koble +5v til 5v på arduinoen. Din må være koblet til A0 på arduinoen og GND må være koblet til GND på arduinoen.
Du må også koble minifotocellen til arduinoen ved å koble til 5v -ledningen fra led -stripen og fra samme kilde som koble til en ledning til PIN 6 på arduinoen. Den andre siden fra minifotocellen må kobles til GND -ledningen fra LED -stripen
Trinn 3: Designe hansken
Hansken må ha riktig størrelse for å passe til ledlistene. Lysdiodene må justeres for å gjøre det hyggeligere å se på.
For dette spillet må du bruke armen din og du vil kunne bevege deg fritt. Dette kan realiseres ved å sette arduinoen på hansken. Jeg brukte borrelås som et feste for å feste arduinoen til hansken. For å etablere mer stabilitet kan du sette et tau rundt hansken og rundt arduinoen.
Minifotocellen er sydd inne i hansken, så den holder seg på plass.
Til slutt må du skjule ledningene for å få det til å se bedre ut. Det kan gjøres med stoff som blir sydd på toppen av ledningene.
Trinn 4: Lodding
Nå kan du gjøre tilkoblingstrådene fra kretsen sikre ved lodding.
Trinn 5: Koding
// Et grunnleggende daglig testprogram for NeoPixel stripe.
// NEOPIXEL BESTE PRAKSISER for mest pålitelig drift: // - Legg til 1000 uF KAPASITOR mellom NeoPixel stripes + og - tilkoblinger. // - MINIMER KOBLINGSLENGDE mellom mikrokontrollerkort og første piksel. //-NeoPixel-stripens DATA-IN skal passere gjennom en 300-500 OHM-RESISTOR. // - UNNGÅ å koble NeoPixels til en LIVE CIRCUIT. Hvis du må, må du ALLTID // koble til GRUNN (-) først, deretter +, deretter data. //-Når du bruker en 3.3V mikrokontroller med en 5V-drevet NeoPixel-stripe, // ANBEFALES en LOGISK NIVÅ-KONVERTER på datalinjen STERKT. // (Hopp over disse kan fungere OK på arbeidsbenken din, men kan mislykkes i feltet)
#include #ifdef _AVR_ #include // Påkrevd for 16 MHz Adafruit Trinket #endif
// Hvilken pin på Arduino er koblet til NeoPixels? // På en trinket eller Gemma foreslår vi at du endrer dette til 1: #define LED_PIN 6
// Hvor mange NeoPixels er festet til Arduino? #define LED_COUNT 60
// Deklarere NeoPixel -stripeobjektet vårt: Adafruit_NeoPixel -stripe (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // Hvit farge, for standard bool clickedCorrectly = false; // Argument 1 = Antall piksler i NeoPixel -stripe // Argument 2 = Arduino -pinnummer (de fleste er gyldige) // Argument 3 = Pixel -flagg, legg sammen etter behov: // NEO_KHZ800 800 KHz bitstream (de fleste NeoPixel -produkter m/ WS2812 lysdioder) // NEO_KHZ400 400 KHz (klassiske 'v1' (ikke v2) FLORA -piksler, WS2811 -drivere) // NEO_GRB Piksler er koblet til GRB -bitstrøm (de fleste NeoPixel -produkter) // NEO_RGB -piksler er koblet til RGB -bitstrøm (v1 FLORA -piksler, ikke v2) // NEO_RGBW Piksler er koblet til RGBW -bitstrøm (NeoPixel RGBW -produkter)
// setup () -funksjonen-kjøres en gang ved oppstart --------------------------------
void setup () {// Disse linjene er spesielt for å støtte Adafruit Trinket 5V 16 MHz. // Alle andre brett, du kan fjerne denne delen (men ingen skade å forlate den): #if definert (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END of Trinket-specific code.
pinMode (A0, INNGANG); strip.begin (); // INITIALISER NeoPixel stripeobjekt (påkrevd) strip.show (); // Slå AV alle piksler ASAP strip.setBrightness (10); // Sett LYSSTYRKE til omtrent 1/5 (maks. 255)}
// loop () -funksjon-kjører gjentatte ganger så lenge brettet er på ---------------
void loop () {clickedCorrectly = theaterChaseOne (color); hvis (klikket riktig) {color = strip. Color (0, 255, 0); } annet {color = strip. Color (255, 0, 0); }}
// Noen egne funksjoner for å lage animerte effekter -----------------
// Jaktlys i teater-telt-stil. Send inn en farge (32-biters verdi, // a la strip. Color (r, g, b) som nevnt ovenfor), og en forsinkelse (i ms) // mellom rammer. bool theaterChaseOne (uint32_t color) {bool correct = false; bool clickedWrong = false; for (int index = 0; index 800) {// verdi lyssensor hvis (index <16) {// 2 lysdioder før slutten, kan du klikke color = strip. Color (255, 0, 0); // røde lysdioder clickedWrong = true; // klikket feil og lysdioder blir røde} ellers hvis (! clickedWrong) {// hvis ikke feil farge = strip. Color (0, 255, 0); // grønn farge lysdioder riktig = true; // klikket riktig så blir lysdioder grønne}} strip.clear (); strip.setPixelColor (17 - indeks, farge); // første rad led -lys strip.setPixelColor (18 + indeks, farge); // andre rad led -lys strip.setPixelColor (53 - indeks, farge); // tredje rad led lys strip.show (); forsinkelse (300); } returner riktig; }
Trinn 6: Endringer
Jeg gjorde noen endringer. For det første gjemte jeg arduinoen, så det ville være mer behagelig å bruke "Rythm -hånden", og for det andre endret jeg koden litt. Jeg endret koden slik at når du trykker i riktig øyeblikk, blir fargen grønn og lysdiodene beveger seg raskere. Ved å gjøre det blir LED Swill 10% raskere enn før. Dette gjør spillet mer interessant
Slik er koden nå:
// Et grunnleggende daglig testprogram for NeoPixel stripe. // NEOPIXEL BESTE PRAKSISER for mest pålitelig drift: // - Legg til 1000 uF KAPASITOR mellom NeoPixel stripes + og - tilkoblinger. // - MINIMER KOBLINGSLENGDE mellom mikrokontrollerkort og første piksel. //-NeoPixel-stripens DATA-IN skal passere gjennom en 300-500 OHM-RESISTOR. // - UNNGÅ å koble NeoPixels til en LIVE CIRCUIT. Hvis du må, må du ALLTID // koble til GRUNN (-) først, deretter +, deretter data. //-Når du bruker en 3.3V mikrokontroller med en 5V-drevet NeoPixel-stripe, // ANBEFALES en LOGISK NIVÅ-KONVERTER på datalinjen STERKT. // (Hopp over disse kan fungere OK på arbeidsbenken din, men kan mislykkes i feltet) #include #ifdef _AVR_ #include // Påkrevd for 16 MHz Adafruit Trinket #endif // Hvilken pin på Arduino er koblet til NeoPixels? // På en trinket eller Gemma foreslår vi at du endrer dette til 1: #define LED_PIN 6 // Hvor mange NeoPixels er festet til Arduino? #define LED_COUNT 60 // Declare our NeoPixel strip object: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // Hvit farge, for standard bool clickedCorrectly = false; int indeks = 0; int intervall = 300; int resultat = 0; usignerte lange tidligereMs = millis (); // Argument 1 = Antall piksler i NeoPixel -stripe // Argument 2 = Arduino -pinnummer (de fleste er gyldige) // Argument 3 = Pixel -type flagg, legg sammen etter behov: // NEO_KHZ800 800 KHz bitstream (de fleste NeoPixel -produkter m/ WS2812 LED) // NEO_KHZ400 400 KHz (klassiske 'v1' (ikke v2) FLORA -piksler, WS2811 -drivere) // NEO_GRB Piksler er koblet til GRB -bitstrøm (de fleste NeoPixel -produkter) // NEO_RGB -piksler er koblet til RGB -bitstrøm (v1 FLORA -piksler, ikke v2) // NEO_RGBW Piksler kobles til RGBW-bitstrøm (NeoPixel RGBW-produkter) // setup () -funksjon-kjøres en gang ved oppstart -------------------- ------------ ugyldig oppsett () {// Disse linjene er spesifikt for å støtte Adafruit Trinket 5V 16 MHz. // Alle andre brett, du kan fjerne denne delen (men ingen skade å forlate den): #if definert (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END of Trinket-specific code. Serial.begin (9600); mens (! Seriell) {; // vent på at seriell port kobles til. Bare nødvendig for en innfødt USB -port} pinMode (A0, INPUT); strip.begin (); // INITIALISER NeoPixel stripeobjekt (påkrevd) strip.show (); // Slå AV alle piksler ASAP strip.setBrightness (10); // Sett BRIGHTNESS til omtrent 1/5 (maks = 255)} // loop () -funksjon-kjører gjentatte ganger så lenge kortet er på --------------- void loop () {usignert lang currentMs = millis (); // Få den nåværende tiden int -verdien = analogRead (A0); // Leser gjeldende lyssensor hvis (verdi> 900 && resultat == 0) {// Hvis sensoren trykkes og det ikke er registrert noe resultat ennå, utløser resultatfangst hvis (indeks = intervall) {// Kontroller om gjeldende loop overskrider intervallet previousMs = currentMs; // Sett det nye intervallet til gjeldende tid + intervallindeks + = 1; // Sett lysdiodene et skritt videre i sløyfen hvis (indeks> 17) {// Trigger end of loop -håndteringsindeks = 0; hvis (resultat == 2) {// På et korrekt resultatintervall = (int) max ((intervall * 0,95), 50); // Fremskynde 10%, ned til 50ms intervall/ farge = strip. Color (0, 255, 0); // Sett lysdiodene til grønn} ellers hvis (resultat == 1) {// På et feil resultatintervall = 300; // Tilbakestill intervallfargen = strip. Color (255, 0, 0); // Sett lysdiodene til rød} else {// På ingen resultat fanget farge = strip. Color (255, 0, 0); // Sett lysdiodene til rød} result = 0; // Tilbakestill resultatet for neste sløyfe} theaterChaseOne (farge, indeks); // Tenn lysene for visning. }} // // Noen av våre egne funksjoner for å lage animerte effekter ----------------- // Teater-telt-stil jaktlys. Send inn en farge (32-biters verdi, // a la strip. Color (r, g, b) som nevnt ovenfor), og en forsinkelse (i ms) // mellom rammer. void theaterChaseOne (uint32_t color, int index) {strip.clear (); strip.setPixelColor (17 - indeks, farge); // første rad led -lys strip.setPixelColor (18 + indeks, farge); // andre rad led -lys strip.setPixelColor (53 - indeks, farge); // tredje rad led lys strip.show (); }
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte