Tartalomjegyzék:
- Lépés: Gyűjtse össze az anyagokat
- 2. lépés: Áramkörök készítése
- 3. lépés: A kesztyű tervezése
- 4. lépés: Forrasztás
- 5. lépés: Kódolás
- 6. lépés: Változások
Videó: Ritmus kéz: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Ez a cyberlove arról szól, hogy a megfelelő lépést a megfelelő pillanatban tegye meg.
A fények a karodtól (könyöködtől) a kezed felé haladnak, és amikor a fények a kezedhez érnek, akkor meg kell nyomnod az ujjaidat a mini fotocellán.
Ha a megfelelő pillanatban nyomja meg a kezét a mini fotocellán, a LED -ek zöldre váltanak. Ha nem, a LED -ek pirossá válnak.
Lépés: Gyűjtse össze az anyagokat
- Kesztyű
- Anyag, amely hosszabbá teszi a kesztyűt
- WS2812B LED szalag
- Vezetékek
- Arduino
- Mini fotóeladó
2. lépés: Áramkörök készítése
Először csatlakoztassa a led szalagot az arduino -hoz. Ezt úgy teheti meg, hogy a +5v -ot az arduino 5V -jához csatlakoztatja. A Din -t az arduino A0 -jához, a GND -t pedig az arduino GND -hez kell csatlakoztatni.
Ezenkívül a mini fotocellát az arduino -hoz kell csatlakoztatnia az 5 V -os vezetékhez való csatlakoztatás révén, és ugyanabból a forrásból, amely egy vezetékkel csatlakozik az arduino PIN -kódjához. A mini fotocella másik oldalát a LED szalag GND vezetékéhez kell csatlakoztatni
3. lépés: A kesztyű tervezése
A kesztyűnek megfelelő méretűnek kell lennie ahhoz, hogy illeszkedjen a ledszalagokhoz. A LED -eket igazítani kell, hogy élvezetesebb legyen nézni.
Ehhez a játékhoz a karját kell használnia, és szabad mozgást szeretne. Ez úgy valósítható meg, hogy az arduino -t a kesztyűre helyezi. Tépőzárral rögzítettem az arduinót a kesztyűhöz. A nagyobb stabilitás érdekében kötelet köthet a kesztyű és az arduino körül.
A mini fotocellát a kesztyű belsejébe varrták, így a helyén marad.
Végül el kell rejtenie a vezetékeket, hogy jobban nézzen ki. Ezt megteheti szövetekkel, amelyeket a vezetékek tetejére varrnak.
4. lépés: Forrasztás
Most forrasztással biztonságossá teheti az áramkör csatlakozóvezetékeit.
5. lépés: Kódolás
// Alapvető mindennapi NeoPixel szalag tesztprogram.
// A NEOPIXEL LEGJOBB GYAKORLATA a legmegbízhatóbb működéshez: // - Adjon hozzá 1000 uF KAPACITORT a NeoPixel szalag + és - csatlakozásaihoz. // - MINIMÁLI A VEZETÉK HOSSZÁT a mikrokontroller kártya és az első pixel között. //-A NeoPixel szalag DATA-IN-jének 300-500 OHM-os ellenálláson kell áthaladnia. // - Kerülje a NeoPixelek csatlakoztatását ÉLŐ ÁRAMKÖRÖN. Ha szükséges, MINDIG // először csatlakoztassa a GROUND (-), majd a +, majd az adatokat. //-Ha 3,3 V-os mikrokontrollert használ 5 V-os NeoPixel szalaggal, // a LOGIC-LEVEL CONVERTER az adatvonalon ERŐSEN JAVASOLT. // (Ezek kihagyása működhet rendesen a munkaasztalon, de nem sikerül a területen)
#include #ifdef _AVR_ #include // 16 MHz -es Adafruit csecsebecséhez szükséges #endif
// Az Arduino melyik csapja csatlakozik a NeoPixelshez? // Egy csecsebecse vagy Gemma esetén javasoljuk, hogy ezt változtassa meg 1 -re: #define LED_PIN 6
// Hány NeoPixel kapcsolódik az Arduino -hoz? #define LED_COUNT 60
// NeoPixel szalag objektumunk deklarálása: Adafruit_NeoPixel szalag (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t szín = csík. Szín (127, 127, 127); // Fehér szín, alapértelmezett bool kattintvaCorrectly = false; // Argument 1 = A pixelek száma a NeoPixel szalagon // Argument 2 = Arduino pin number (legtöbb érvényes) // Argument 3 = Pixel típusú zászlók, szükség szerint összeadva: // NEO_KHZ800 800 KHz bitfolyam (a legtöbb NeoPixel termék WS2812 LED -ek) // NEO_KHZ400 400 KHz (klasszikus 'v1' (nem v2) FLORA képpontok, WS2811 illesztőprogramok) // NEO_GRB Pixelek GRB bitfolyamhoz vannak kötve (a legtöbb NeoPixel termék) // A NEO_RGB képpontok RGB bitfolyamhoz vannak kötve (v1 FLORA képpontok), nem v2) // NEO_RGBW A Pixelek vezetékesek az RGBW bitfolyamhoz (NeoPixel RGBW termékek)
// setup () függvény-indításkor egyszer fut --------------------------------
void setup () {// Ezek a sorok kifejezetten az Adafruit Trinket 5V 16 MHz támogatását szolgálják. // Bármely más fórumon eltávolíthatja ezt a részt (de nem árt ha hagyja): #if define (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END of Trinket-specifikus kód.
pinMode (A0, INPUT); strip.begin (); // INICIALIZÁLÁS NeoPixel szalag objektum (SZÜKSÉGES) strip.show (); // Kapcsolja ki az összes pixelt ASAP strip.setBrightness (10); // Állítsa a FÉNYESSÉGET körülbelül 1/5 értékre (max = 255)}
// loop () függvény-ismétlődően fut, amíg a tábla be van kapcsolva ---------------
void loop () {kattintottCorrectly = TheaterChaseOne (szín); if (helyesen kattintott) {color = strip. Color (0, 255, 0); } else {szín = csík. Szín (255, 0, 0); }}
// Néhány saját funkció animált effektek létrehozásához -----------------
// Színházi sátor stílusú üldöző fények. Adjon meg egy színt (32 bites érték, // a la csík. Szín (r, g, b), ahogy fent említettük), és késleltetési időt (ms-ban) // a keretek között. bool TheaterChaseOne (uint32_t color) {bool correct = false; bool kattintottWrong = false; for (int index = 0; index 800) {// érték a fényérzékelő, ha (index <16) {// 2 led a vége előtt, akkor rákattinthat a color = strip. Color (255, 0, 0); // piros színű LED -ek kattintottakWrong = true; // rosszul kattintott, majd a ledek pirosra változtak} else if (! clickWrong) {// ha nem rossz szín = csík. Szín (0, 255, 0); // zöld színű ledek helyes = igaz; // helyesen kattintott, majd a ledek zöldre váltak}} strip.clear (); strip.setPixelColor (17 - index, szín); // első sor led fények strip.setPixelColor (18 + index, szín); // második sor led fények strip.setPixelColor (53 - index, szín); // harmadik sor led fények csík.show (); késleltetés (300); } visszatérés helyes; }
6. lépés: Változások
Végeztem néhány változtatást. Először is elrejtettem az arduino -t, hogy kényelmesebb legyen a "Rythm hand" használata, másodszor pedig kicsit megváltoztattam a kódot. A kódot úgy változtattam meg, hogy amikor megnyomja a megfelelő pillanatban, a szín zöld lesz, és a LED -ek gyorsabban mozognak. Ezzel a LED Swill 10% -kal gyorsabb lesz, mint korábban. Ez érdekesebbé teszi a játékot
A kód most így néz ki:
// Alapvető mindennapi NeoPixel szalag tesztprogram. // A NEOPIXEL LEGJOBB GYAKORLATA a legmegbízhatóbb működéshez: // - Adjon hozzá 1000 uF KAPACITORT a NeoPixel szalag + és - csatlakozásaihoz. // - MINIMÁLI A VEZETÉK HOSSZÁT a mikrokontroller kártya és az első pixel között. //-A NeoPixel szalag DATA-IN-jének 300-500 OHM-os ellenálláson kell áthaladnia. // - Kerülje a NeoPixelek csatlakoztatását ÉLŐ ÁRAMKÖRÖN. Ha szükséges, MINDIG // először csatlakoztassa a GROUND (-), majd a +, majd az adatokat. //-Ha 3,3 V-os mikrokontrollert használ 5 V-os NeoPixel szalaggal, // a LOGIC-LEVEL CONVERTER az adatvonalon ERŐSEN JAVASOLT. // (Ezek kihagyása működhet rendesen a munkaasztalon, de nem sikerül a területen) #include #ifdef _AVR_ #include // Szükséges a 16 MHz -es Adafruit csecsebecséhez #endif // Az Arduino melyik tűje csatlakozik a NeoPixels -hez? // Egy csecsebecse vagy Gemma esetén javasoljuk, hogy ezt változtassa meg 1 -re: #define LED_PIN 6 // Hány NeoPixel van az Arduino -hoz csatlakoztatva? #define LED_COUNT 60 // NeoPixel szalag objektumunk deklarálása: Adafruit_NeoPixel szalag (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t szín = csík. Szín (127, 127, 127); // Fehér szín, alapértelmezett bool kattintvaCorrectly = false; int index = 0; int intervallum = 300; int eredmény = 0; előjel nélküli hosszú előzőMs = millis (); // Argument 1 = A pixelek száma a NeoPixel szalagon // Argument 2 = Arduino pin number (legtöbb érvényes) // Argument 3 = Pixel típusú zászlók, szükség szerint összeadva: // NEO_KHZ800 800 KHz bitfolyam (a legtöbb NeoPixel termék WS2812 LED -ek) // NEO_KHZ400 400 KHz (klasszikus 'v1' (nem v2) FLORA képpontok, WS2811 illesztőprogramok) // NEO_GRB Pixelek GRB bitfolyamhoz vannak kötve (a legtöbb NeoPixel termék) // A NEO_RGB képpontok RGB bitfolyamhoz vannak kötve (v1 FLORA képpontok), nem v2) // NEO_RGBW A Pixelek be vannak kötve az RGBW bitfolyamhoz (NeoPixel RGBW termékek) // setup () függvény-indításkor egyszer fut -------------------- ------------ void setup () {// Ezek a sorok kifejezetten az Adafruit Trinket 5V 16 MHz támogatását szolgálják. // Bármely más tábla eltávolíthatja ezt a részt (de nem árt, ha elhagyja): #if define (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END a Trinket-specifikus kód. Sorozat.kezdet (9600); while (! Sorozat) {; // várjon, amíg a soros port csatlakozik. Csak natív USB -porthoz szükséges} pinMode (A0, INPUT); strip.begin (); // INICIALIZÁLÁS NeoPixel szalag objektum (SZÜKSÉGES) strip.show (); // Kapcsolja ki az összes pixelt ASAP strip.setBrightness (10); // A FÉNYESSÉG beállítása körülbelül 1/5 (max = 255)} // loop () függvény-ismétlődően fut, amíg a tábla be van kapcsolva --------------- void loop () {unsigned long currentMs = millis (); // Az aktuális idő lekérése int érték = analogRead (A0); // Az aktuális fényérzékelő leolvasása, ha (érték> 900 && eredmény == 0) {// Ha az érzékelőt megnyomja, és még nincs eredmény rögzítve, indítsa el az eredmény rögzítését, ha (index = intervallum) {// Ellenőrizze, hogy az aktuális ciklus meghaladja az előzőMs = aktuálisMs intervallumot; // Az új intervallum beállítása az aktuális idő + intervallum index + = 1; // Állítsa a LED -eket egy lépéssel tovább a ciklusban, ha (index> 17) {// A ciklusvége indításának vége index = 0; if (eredmény == 2) {// Helyes eredményintervallumon = (int) max ((intervallum * 0,95), 50); // 10%-os gyorsítás, 50 ms intervallumig/ color = strip. Color (0, 255, 0); // Állítsa a ledeket zöldre} else if (result == 1) {// Helytelen eredményintervallumon = 300; // Az intervallum visszaállítása color = strip. Color (255, 0, 0); // Állítsa a LED -eket pirosra} else {// Ha nincs eredmény, akkor szín = csík. Szín (255, 0, 0); // Állítsa pirosra a ledeket} result = 0; // A következő ciklus eredményének visszaállítása} TheaterChaseOne (szín, index); // Világítsa meg a LED -eket a megjelenítéshez. }} // Néhány saját funkció animált effektek létrehozásához ----------------- // Színházi sátor stílusú üldöző fények. Adjon meg egy színt (32 bites érték, // a la csík. Szín (r, g, b), ahogy fent említettük), és késleltetési időt (ms-ban) // a keretek között. void TheaterChaseOne (uint32_t color, int index) {strip.clear (); strip.setPixelColor (17 - index, szín); // első sor led fények strip.setPixelColor (18 + index, szín); // második sor led fények strip.setPixelColor (53 - index, szín); // harmadik sor led fények csík.show (); }
Ajánlott:
Egyszerű forrasztó /segítő kéz állomás: 4 lépés
Egyszerű forrasztási /segítő kézállomás: Itt az üzlet. A webböngészés során megtanulta, hogyan kell forrasztó /segítő kéz állást készíteni. És ezen a webhelyen landoltál. A legjobb DIY felhasználó által létrehozott webhely a bolygó böngészőben. Most azt javaslom, hogy kifejezetten keressen a forrasztáshoz az utasításokat tartalmazó oldalon
Zenei ritmus LED vaku: 9 lépés (képekkel)
Zenei ritmus LED vakufény: Ebben a projektben zenei ritmusú LED vaku fényáramkört készítünk a mikrofon és a BC547 segítségével a kenyértáblán és a NYÁK -on, ahol a led szalagfények villogni fognak a zenei ritmus mellett. A mikrofon érzékeli a zenei ritmust és generál egy elektromos pulzus
Arduino ritmus játékvezérlő (saját játékhoz): 6 lépés
Arduino ritmusjáték -vezérlő (saját játékhoz): Ebben az utasításban megmutatom, hogyan építhetem fel ezt a ritmusjáték -kontrollert a semmiből. Ez magában foglalja az alapvető faipari készségeket, az alapvető 3D nyomtatási készségeket és az alapvető forrasztási készségeket. Valószínűleg sikeresen felépítheti ezt a projektet, ha nulla ex
Robot kéz kéz nélküli vezeték nélküli kesztyűvel - NRF24L01+ - Arduino: 7 lépés (képekkel)
Robot kéz kéz nélküli vezeték nélküli kesztyűvel | NRF24L01+ | Arduino: Ebben a videóban; 3D robot kézi összeszerelés, szervo vezérlés, flex érzékelő vezérlés, vezeték nélküli vezérlés nRF24L01, Arduino vevő és adó forráskód áll rendelkezésre. Röviden, ebben a projektben megtanuljuk, hogyan kell egy robotkezet vezetékek segítségével irányítani
Harmadik kéz ++: többfunkciós segítő kéz elektronikához és egyéb kényes munkákhoz: 14 lépés (képekkel)
Harmadik kéz ++: többfunkciós segítő kéz elektronikához és egyéb kényes munkákhoz .: Korábban a lánc elektronikai üzleteiben kapható harmadik kezet/segítő kezet használtam, és csalódott voltam a használhatóságukban. Soha nem tudtam a klipeket pontosan oda hozni, ahová akartam, vagy több időbe telt, mint a beállításhoz kellett volna