Tartalomjegyzék:
- 1. lépés: Készítse elő a NeoPixel gyűrűt
- 2. lépés: Vágja le a LED -ek csíkjait
- Lépés: Forrasztja a LED -eket
- 4. lépés: A hát előkészítése
- Lépés: A mikrofon és az Arduino bekötése
- 6. lépés: Az Arduino programozása
- 7. lépés: A színek, a fényerő és az érzékelő küszöbértékének módosítása
- 8. lépés: Az áramkör tartósabbá tétele
- 9. lépés: Hozzon létre egy képet
- 10. lépés: Összerakás
- 11. lépés: Tanulj a hibákból
Videó: Interaktív gyermekláncfű: 11 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ez a projekt bemutatja, hogyan lehet interaktív képet készíteni egy pitypangról. Sárga virágként kezdődik, a szirmok LED -jeivel, majd fehér pitypangórává változik, amelyet fel lehet fújni, hogy a magok szétszóródjanak.
Qi Jie gyönyörű alkotásán alapul, akinek képét Jessie Thompson és Zachory Berta egyetlen virágterve ihlette. Az enyémet szövetre készítettem, és egy gobelin karikába kereteztem, hogy a Tech és Textiles gyártótér falára menjek Devonban, Angliában, egy kezdő projekt példájaként, amely ötvözi a varrást az Arduino -val.
Videó Qi Jie fényfestéséről
Videó Jessie Thompson és Zachory Berta egyetlen virág tervezéséről
Mindkét meglévő projekthez rendelkezésre áll a kód, és azt hittem, hogy könnyű lesz elkészíteni, de az utasítások minimálisak voltak, és több kísérletbe telt, mire találtam egy működő módszert. Tehát itt vannak a teljes utasítások és időtakarékos tippek egy remixhez, amely egyesíti a tervek elemeit és a saját csípéseimet.
A részletek, amelyek nem működtek számomra, a végén azoknak szólnak, akiket érdekel, miért ezt az utat választottam.
Qi Jie fényfestési kódja
A kis virág kódja Jessie Thompson és Zachory Berta
Anyagok
- Arduino UNO
- Adafruit gyűrű 12 neopixelből
- 5 V -os szalag 11 RGB LED -del
- Hang mikrofon érzékelő
- Jumper vezetékek
- 5 V -os újratölthető akkumulátor USB A csatlakozóval
- Nyomtatókábel (USB A -B kábel)
- Ragasztó pontok vagy forró ragasztó
- A4 -es kártya
- 30 cm x 30 cm krém pamutszövet, például egy régi párnahuzat
- Zöld szövet festék
- Barna pamut szál
- 70 cm x 50 cm hullámkarton, például pizza dobozok
- Maszkolószalag
- 9 hüvelykes hímzőkarika a kép bekeretezéséhez
- 9 öntapadós tépőzáras fül
Eszközök
- Letöltött egy Arduino IDE -vel rendelkező számítógépet
- Forrasztópáka és ólommentes forrasztópáka
- Kenyérlap az áramkör tesztelésére
- Drótcsíkoló/vágók
- Varrótű
- Toll
- Olló
1. lépés: Készítse elő a NeoPixel gyűrűt
Forrasztjon különböző színű vezetékeket a NeoPixel gyűrű hátoldalán lévő táp-, földelő- és adatpárnákhoz.
Ha a gyűrű másik verziója van, előfordulhat, hogy a vezetékek nem ugyanabban a helyzetben vannak, mint az enyém.
Jegyezze fel, hogy mely vezetékek a bemenet és a kimenet, valamint a pozitív, az adatok és a földelés, mert ezek jelölései a gyűrű alján találhatók, és nem láthatók, amikor a gyűrű a helyén van.
2. lépés: Vágja le a LED -ek csíkjait
Vágjon le 11 egyedi LED -et az RGB LED -ek csíkjából, ügyelve arra, hogy a középvonal mentén vágjon, hogy a vágás mindkét oldalán forrasztópárna maradjon. Dörzsöljön egy folt forrasztást minden párna felső oldalára.
Lépés: Forrasztja a LED -eket
Készítsen lyukat a kártya közepére, hogy illeszkedjen a mikrofonhoz. Ragasztási pontok segítségével ragassza a neo pixelek gyűrűjét és az egyes LED -eket az ábrán látható helyzetbe, ügyelve arra, hogy a LED -ek összes nyila azonos módon illeszkedjen, amikor a lánc össze van láncolva.
Forrasztja a kimeneti vezetékeket a gyűrűtől az első egyedi LED -ig, illessze a pozitív, a földelt és az adatvezetékeket mindkét LED azonos párnájához.
A leggyorsabb és legegyszerűbb módja a LED -ek összekapcsolásának, ha egy áthidaló vezetéket külön rézszálakká csupaszítunk. Csatlakoztasson egy szálat, hogy összekapcsolja a LED -ek forrasztott párnáit a következővel, pozitív, adatok és földeléssel. Csak egy gyors érintést igényel egy forró forrasztópáka, mert a párnákat az előző lépésben előforrasztották. Ahelyett, hogy ebben a szakaszban elvágná a vezetékeket, vigye át őket a LED tetején, hogy elérje a másik oldalon lévő forrasztott párnákat. Győződjön meg arról, hogy egyetlen vezeték sem keresztezi és nem érinti egymást, forrasztja ezeket a párnákat, és folytassa a körét az utolsó LED bemeneti oldaláig.
Ne csatlakoztasson vezetéket az utolsó LED kimeneti oldalához. Ellentétben néhány LED -del, amelyeket Ön ismerhet, nem kell körkörös áramkört befejeznie, amely visszavezeti az áramot a földhöz, mivel végig külön földelést és pozitív vonalakat vezetett. Vágja el az összes vezetéket, amelyek áthaladnak a LED -ek tetején, hogy csak a vezetékek kapcsolódjanak egymáshoz.
Tipp: Annak elkerülése érdekében, hogy a vezetékek megérintsék a sarkokat, fűzze vissza mindegyiket egy kis műanyag szigeteléscsíkba, amelyet korábban eltávolítottak.
4. lépés: A hát előkészítése
Csináljon egy másik lyukat a fehér kártyán a bemeneti vezetékekhez, és nyomja át őket.
Válassza szét a kárpit karika két gyűrűjét. Rajzolja le a legkisebb gyűrű külső oldalát 5 darab hullámkartonra, és vágja ki. Vágjon lyukakat a körök 3 közepébe, körülbelül 2 cm -re a szélétől, hogy gyűrűket készítsen, és vágjon mindegyikbe 5 mm -es rést. Ragassza a gyűrűket egymásra, illessze be a réseket, és ragassza fel a kártya többi körének egyikére.
Lépés: A mikrofon és az Arduino bekötése
Csatlakoztassa az Arduino -t a mikrofonérzékelőhöz és a LED -gyűrűhöz az ábrán látható módon. A TinkerCad segítségével készítettem az áramköri diagramot, amely nem rendelkezik mikrofonképpel, ezért lecseréltem egy másik érzékelőt, amely ugyanazokat a csapokat használja, és ugyanúgy működik a szimulációban.
A szimuláció megtekintéséhez keresse fel a https://www.tinkercad.com/things/5cgI2wluA0c oldalt. Húzza az érzékelőhöz rögzített kört az aktív területre, hogy szimulálja a mikrofonba fújást. A LED -ek 6 -os csíkokban vannak, így a szimuláció utolsó LED -je nem része a tervezésnek és nem világít.
6. lépés: Az Arduino programozása
Nyissa meg az Arduino IDE -t számítógépén, és indítson új vázlatot. Töröljön mindent a vázlaton belül, és másolja be és illessze be ezt a kódot
// A NeoPixel Ring egyszerű vázlatával adaptálva (c) 2013 Shae Erisson // és az érzékelő kódja a https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Melyik tű a Az Arduino csatlakozik a NeoPixelshez? #define PIN 6 // Hány NeoPixel kapcsolódik az Arduino -hoz? #define NUMPIXELS 23 // Amikor beállítjuk a NeoPixel könyvtárat, megmondjuk, hogy hány képpont és melyik tűt kell használni a jelek küldéséhez. // Ne feledje, hogy a régebbi NeoPixel csíkok esetében előfordulhat, hogy módosítania kell a harmadik paramétert-a lehetséges értékekről további információt a strandtest // példában talál. Adafruit_NeoPixel pixelek = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // késés fél másodperc int szenzorPin = A0; // válassza ki az érzékelő bemeneti érintkezőjét int sensorValue = 0; // változó az érzékelőből érkező érték tárolására // tetszőleges küszöbszint, amely az analóg bemeneti void setup tartományában van () {pixels.begin (); // Ezzel inicializálja a NeoPixel könyvtárat. pixels.setBrightness (20); // Fényerő beállítása Serial.begin (9600); } void loop () {// Egy NeoPixel halmaz esetén az első NeoPixel 0, a második 1, egészen a képpontok számáig mínusz egy. // Pitypang LED -ek // pixelek. A szín RGB értékeket vesz fel, 0, 0, 0 és 255, 255, 255 pixel között. SetPixelColor (0, pixel. Color (0, 0, 0)); // Ki. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (6, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (8, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (9, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (10, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (11, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Ki. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. delay (delayval*6); // Fokozatos váltás virágról magfejre // pixel. A szín RGB értékeket vesz fel, 0, 0, 0 és 255, 255, 255 pixel között. setPixelColor (0, pixel. Color (0, 0, 0)); // Ki. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (5, pixel. Color (226, 246, 255)); // kékesfehér pixelek.setPixelColor (6, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (7, pixel. Color (226, 246, 255)); // kékesfehér pixelek.setPixelColor (8, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // kékesfehér pixelek.setPixelColor (10, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // kékesfehér. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Ki. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. késleltetés (delayval*6); // Vetőfej LED -ek pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (9, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // off pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Ki. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. késleltetés (delayval*3); // Késleltetés egy bizonyos ideig (ezredmásodpercben). pixels.setPixelColor (0, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (3, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Narancssárga. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Ki. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. késleltetés (delayval*3); // Késleltetés egy bizonyos ideig (ezredmásodpercben). pixels.setPixelColor (0, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (1, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (2, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (3, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (5, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (7, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Ki. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. késleltetés (késleltetés); // Késleltetés egy bizonyos ideig (ezredmásodpercben). // Olvassa el az érzékelő értékét és jelenítse meg a soros monitorban sensorValue = analogRead (sensorPin); Serial.println (sensorValue); késleltetés (250); // Míg az érzékelő értéke kisebb, mint a küszöb, ellenőrizze az érzékelő értékét, és nyomtassa ki a soros monitoron. Ha az érték küszöbérték feletti, a vázlat folytatható, miközben (sensorValue <küszöb) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); késleltetés (250); } // Első szél LED -ek pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (12, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (13, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (14, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (15, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (16, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Ki. pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. késleltetés (késleltetés); // Késleltetés egy bizonyos ideig (ezredmásodpercben). // Második szél LED -ek pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Ki. pixels.setPixelColor (17, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (18, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (19, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (20, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (21, pixel. Color (226, 246, 255)); // Kékesfehér. pixels.setPixelColor (22, pixel. Color (226, 246, 255)); // Kékesfehér.pixels.show (); // Ez elküldi a frissített pixelszínt a hardvernek. késleltetés (2000); // Késleltetés egy bizonyos ideig (ezredmásodpercben). }
Csatlakoztassa Arduino készülékét a számítógéphez az USB nyomtatókábellel
Lépjen az Eszközök> Tábla menübe, és válassza ki az Arduino/Genuino UNO táblát
Lépjen a Portra, és győződjön meg arról, hogy a kártya a megfelelő USB -porthoz van csatlakoztatva. Ha nem biztos benne, húzza ki az Arduino csatlakozót, és nézze meg, melyik port tűnik el a listából. Csatlakoztassa újra, és a port újra megjelenik.
Töltse fel a vázlatot a megjegyzésekkel ellátott fotón látható Feltöltés ikonra kattintva. Fények villogniuk kell az Arduino -n feltöltés közben. Amikor befejezi a feltöltést, a neo pixelgyűrű LED -jeinek fele felgyullad, majd sárga színűre vált, majd teljes fehér gyűrűre vált. Fújja be a mikrofont az áramkör teszteléséhez. A külső rétegekben lévő LED -eknek fel kell világítaniuk. Ellenőrizze a forrasztást minden LED -en, amely nem működik.
7. lépés: A színek, a fényerő és az érzékelő küszöbértékének módosítása
Színek
A LED -ek színeit RGB (piros zöld kék) színértékekkel állítják be. Ha inkább más színeket szeretne használni, mint én, a kívánt színek értékeit megtalálhatja egy online RGB színkalkulátorral, például www.w3schools.com/colors/colors_rgb.asp
A LED kikapcsolásához használja a 0, 0, 0 értékeket.
A LED fehérre állításához használja a 255, 255, 255 értékeket. Az előző lépésben használt kód kékes fehéret használ a 226, 246, 255 értékekkel, és egy narancssárgát a 255, 165, 0 értékekkel.
Fényerősség
A LED -ek fényerejének megváltoztatásához lépjen a kód üres beállítási szakaszába, és keresse meg a következő kódsort:
pixels.setBrightness (20); // Állítsa be a fényerőt
A zárójelben lévő szám szerkesztésével módosíthatja a LED -ek fényerejét.
Érzékelő küszöbértéke
Amikor futtatja a programot, a NeoPixel gyűrű fele sárga színnel kezdődik, virágot ábrázolva, és fokozatosan a fehér LED -ek teljes körére változik, hogy a magfejet ábrázolja. Ekkor a programnak szünetelnie kell, amíg rá nem fúj a mikrofon érzékelőjére. Ha a program folytatódik és a LED -ek külső rétegei világítanak anélkül, hogy az érzékelő aktiválná őket, menjen a kód üres beállítási szakaszába, és csökkentse az alább látható értéket. Növelje az értéket, ha a program leáll, de nem reagál, amikor ráfúj az érzékelőre.
const int küszöb = 200;
8. lépés: Az áramkör tartósabbá tétele
Ha az áramkör működik, húzza ki az Arduino -t a számítógépről, és távolítsa el a mikrofonérzékelőt a kenyértábláról. Forrasztja a vezetékeket az Arduino -tól a mikrofon -érzékelőig, hogy ugyanazt az áramkört állandóbbá tegye. Hátulról nyomja be a mikrofont a kártya lyukán. Ha szükséges, óvatosan hajlítsa meg a mikrofont 90 fokkal, hogy a tábla laposan feküdjön a kártya mögött. Csatlakoztassa az akkumulátort az Arduino -hoz a nyomtatókábel segítségével, és az egész sorozatnak működnie kell.
9. lépés: Hozzon létre egy képet
Készítsen lyukat a szövetébe, ahol a mikrofont szeretné elhelyezni. Forró forrasztópáka segítségével égettem egy kis lyukat, és ollóval vágtam, amíg a mikrofon be nem illeszkedett. Festse és varrja virágát az anyagra. Amikor a festék megszárad, rögzítse a festményt a hímzőkarikához, és vágja le a felesleges szövetet, hagyva egy kis szegélyt.
Ha meg szeretné nézni, hogy az áramkör bármely összetevője átlátszik -e az anyagon, ideiglenesen helyezze a szövetet és a karikát a kártya tetejére úgy, hogy a mikrofon a lyukon át mutasson. Ha szükséges, fedje le az áramkört maszkolószalag rétegekkel, időnként ellenőrizze, amíg az alkatrészek már nem jelennek meg. A LED -ek elég fényesek ahhoz, hogy egy maszkolószalagon keresztül láthatók legyenek. Ha még több réteget kell hozzáadnia, akkor a LED -eket világosabbá teheti a kód beállításával a 7. lépésben látható módon.
Helyezze vissza az anyagot és a karikát a kártya tetejére, mint korábban, és rögzítse a helyére úgy, hogy az extra szövetet a kártya hátoldalára ragasztja.
10. lépés: Összerakás
Ragassza fel a fehér kártyát a hullámkarton körre, körülvéve a mikrofont, de ne az Arduino -t és az akkumulátorcsomagot, amelyeknek körbe kell menniük a karton szélén, és a vezetékek áthaladnak a réseken.
Rögzítse az utolsó kartonkört tépőzárral, hogy hozzáférjen az akkumulátorhoz. Készítsen egy lyukat a kartonba, ahová akasztani szeretné a falon lévő horogra.
11. lépés: Tanulj a hibákból
Az első kísérletem áramköri matricákkal és rézszalaggal történt. Az áramköri matricák apró LED -ek, amelyeket rézpárnákkal ellátott matricákra szerelnek fel. Qi Jie cégétől, a Chibitroniks -tól származnak, és azt hittem, tökéletesek lesznek.
Nem tudtam megbízható kapcsolatot létesíteni rézszalag vagy ezüst szalag használatával, és amikor a huzalokat a matricákhoz forrasztottam, továbbra is csak egy 3 LED -es matrica sorozatát tudtam megvilágítani 9 V -os elem használatával. Világossá vált, hogy nem több fényprojekthez készültek, mint reméltem. Amikor alaposabban megnéztem az áramköri matricákról szóló weboldalt, egy 4 lámpával ellátott projekt más típusú LED -eknek bizonyult. Az áramköri matricákat 12 V -os akkumulátorral táplálhatnám, de túl nagy lenne ahhoz, hogy elférjen a képen.
Aztán kipróbáltam a varrható LED -eket. Azt hittem, hogy csak a táp és a föld csatlakoztatása könnyebb, mint a programozható LED -ek, amelyek táp-, föld- és adatvezetékekkel rendelkeznek. De kiderült, hogy ez egy bonyolultabb áramkör, amely extra tápegységet és MOSFET -et igényel, ami nekem nem volt. Használhattam volna varrható NeoPixelt, de drágábbak.
Így néhány hamis indítás után végül egy sor programozható LED -et kaptam, amelyek olcsók és könnyen használhatók.
Ajánlott:
BBC Micro: bit and Scratch - Interaktív kormánykerék és vezetési játék: 5 lépés (képekkel)
BBC Micro: bit and Scratch - Interaktív kormánykerék és vezetési játék: Ezen a héten az egyik osztályfeladatom az, hogy a BBC Micro: bitet használom az általunk írt Scratch programmal való interfészhez. Úgy gondoltam, hogy ez a tökéletes alkalom arra, hogy a ThreadBoard -om segítségével beágyazott rendszert hozzak létre! Az inspirációm a karcoláshoz
Arduino interaktív LED dohányzóasztal: 6 lépés (képekkel)
Arduino Interactive LED dohányzóasztal: Készítettem egy interaktív dohányzóasztalt, amely felkapcsolja a LED -es lámpákat egy tárgy alatt, amikor a tárgyat az asztal fölé helyezik. Csak azok a LED -ek világítanak, amelyek az adott tárgy alatt vannak. Ezt hatékonyan teszi közelségérzékelők használatával, és amikor a proximit
Interaktív LED csempefal (egyszerűbb, mint amilyennek látszik): 7 lépés (képekkel)
Interaktív LED csempefal (egyszerűbb, mint amilyennek látszik): Ebben a projektben egy interaktív LED falikijelzőt építettem egy Arduino és 3D nyomtatott alkatrészek felhasználásával. A projekt inspirációja részben a Nanoleaf lapokból származik. Szerettem volna egy saját verziót kitalálni, amely nemcsak megfizethetőbb, hanem egyben
Az interaktív történetmesélő rádió: 6 lépés (képekkel)
Az interaktív történetmesélő rádió: Ebben a projektben egy ügyes megjelenésű rádiót alakítunk hangos, interaktív mesemondóvá. Jövő, jövünk
Interaktív reflex lyukasztótáska: 3 lépés (képekkel)
Interaktív reflex lyukasztó táska: Ez az oktatóanyag azoknak készült, akik javítani akarják mozgékonyságukat és ökölvívó készségeiket, miközben több tapasztalatot szereznek a forrasztásban, az Arduino, a LED -ek és az MK 2125 gyorsulásmérő segítségével. A projekt célja egy meglévő reflex táska és transzformáció módosítása