Obsah:
- Krok 1: Pripravte si krúžok NeoPixel
- Krok 2: Odstrihnite pásy LED diód
- Krok 3: Spájkujte LED diódy
- Krok 4: Príprava chrbta
- Krok 5: Zapojenie mikrofónu a Arduina
- Krok 6: Programovanie Arduina
- Krok 7: Zmena prahov farieb, jasu a senzora
- Krok 8: Urobte obvod trvalejším
- Krok 9: Vytvorte obrázok
- Krok 10: Dajte to dohromady
- Krok 11: Poučenie sa z chýb
Video: Interaktívna púpava: 11 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento projekt ukazuje, ako vytvoriť interaktívny obrázok púpavy. Začína sa to ako žltý kvet s LED diódami pre okvetné lístky a potom sa zmení na biele púpavové hodiny, na ktoré je možné fúkať, aby sa semená rozptýlili.
Je založený na krásnom umeleckom diele Qi Jie, ktorého obraz bol inšpirovaný jediným kvetinovým dizajnom od Jessie Thompson a Zachoryho Bertu. Svoju som vyrobil na tkanine a zarámoval som ju do gobelínovej obruče, aby som išiel na stenu výrobného priestoru Tech and Textiles v Devone v Anglicku, ako príklad projektu pre začiatočníkov, ktorý kombinuje šitie s Arduinom.
Video zo svetelnej maľby od Qi Jie
Video z návrhu jedného kvetu od Jessie Thompsonovej a Zachoryho Bertu
Kód pre oba existujúce projekty je k dispozícii a myslel som si, že bude ľahké ho vytvoriť, ale návod bol minimálny a trvalo niekoľko pokusov, kým som našiel metódu, ktorá funguje. Tu sú teda úplné pokyny a tipy na úsporu času pre remix, ktorý kombinuje prvky oboch návrhov a mojich vylepšení.
Podrobnosti o tom, čo nefungovalo pre mňa, sú na konci pre kohokoľvek, koho zaujíma, prečo som sa rozhodol pre tento spôsob.
Kód pre maľovanie svetlom od Qi Jie
Kód pre obrázok s malými kvetmi od Jessie Thompsonovej a Zachoryho Bertu
Materiály
- Arduino UNO
- Prsteň Adafruit z 12 neopixelov
- Pás 5V s 11 RGB LED diódami
- Senzor zvukového mikrofónu
- Prepojovacie vodiče
- 5V nabíjateľná batéria s pripojením USB A.
- Kábel tlačiarne (kábel USB A na B)
- Lepiace bodky alebo horúce lepidlo
- Karta A4
- 30 cm x 30 cm krémová bavlnená látka, napríklad stará obliečka na vankúš
- Farba na zelenú látku
- Hnedá bavlnená niť
- Vlnitá lepenka 70 cm x 50 cm, napríklad škatule na pizzu
- Maskovacia páska
- 9 palcová vyšívacia obruč na zarámovanie obrázku
- 9 samolepiacich záložiek na suchý zips
Nástroje
- Stiahol sa počítač s Arduino IDE
- Spájkovačka a bezolovnatá spájka
- Breadboard na testovanie obvodu
- Odizolovač/rezačka drôtu
- Šijacia ihla
- Pero
- Nožnice
Krok 1: Pripravte si krúžok NeoPixel
Na každý napájací, uzemňovací a dátový panel na zadnej strane prstenca NeoPixel spájkujte rôznofarebné vodiče.
Ak máte inú verziu prsteňa, vaše drôty nemusia byť v rovnakej polohe ako moja fotka.
Poznamenajte si, ktoré vodiče sú určené pre vstup a výstup, ako aj pre kladné, dátové a uzemňovacie vodiče, pretože ich označenia sú na spodnej strane krúžku a nebudú viditeľné, keď je krúžok na svojom mieste.
Krok 2: Odstrihnite pásy LED diód
Vyrežte 11 jednotlivých LED diód z pásu RGB LED diód, pričom dbajte na to, aby ste rezali pozdĺž stredovej čiary, aby na oboch stranách rezu zostali spájkovacie podložky. Na vrchnú stranu každej podložky naneste kúsok spájky.
Krok 3: Spájkujte LED diódy
V strede karty urobte otvor, aby sa zmestil do mikrofónu. Pomocou lepiacich bodiek prilepte krúžok neo pixelov a jednotlivé diódy LED na miesto tak, ako je to znázornené na obrázku, a uistite sa, že všetky šípky na diódach LED budú zarovnané rovnako, ako sú navzájom prepojené.
Výstupné vodiče z prstenca spájkujte s prvou samostatnou diódou LED tak, aby boli kladné, uzemňovacie a dátové vodiče zladené na rovnaké pady na oboch diódach LED.
Najrýchlejší a najľahší spôsob, akým som spojil LED diódy, je odizolovať prepojovací kábel do oddelených medených prameňov. Pripojte jeden prameň, aby ste prepojili každú spájkovanú podložku na diódach LED s ďalšou, zodpovedajúcou kladnému pólu, údaju a uzemneniu. Stačí len rýchly dotyk horúcej spájkovačky, pretože podložky boli v predchádzajúcom kroku vopred spájkované. Namiesto rezania drôtov v tomto štádiu ich vezmite cez hornú časť diódy LED, aby ste dosiahli na spájkované podložky na druhej strane. Zaistite, aby sa žiadne drôty neskrížili ani sa navzájom nedotýkali, spájkujte tieto podložky a pokračujte dokola na vstupnú stranu poslednej LED diódy.
Nepripájajte vodič na výstupnú stranu poslednej LED diódy. Na rozdiel od niektorých diód LED, ktoré možno poznáte, nemusíte dokončiť kruhový obvod, ktorý napája energiu späť na zem, pretože ste po celú dobu zapojovali oddelené uzemňovacie a kladné vedenia. Odstrihnite všetky vodiče, ktoré prechádzajú cez hornú časť diód LED, aby medzi nimi boli prepojené iba vodiče.
Tip: Aby ste zabránili dotyku vodičov pri obchádzaní rohov, navlečte každý jeden späť do malého pásu plastovej izolácie, ktorý bol predtým odstránený.
Krok 4: Príprava chrbta
Na bielej karte urobte ďalší otvor pre vstupné vodiče a zatlačte ich.
Oddeľte dva krúžky gobelínovej obruče. Z vonkajšej strany najmenšieho prstenca nakreslite 5 kusov vlnitej lepenky a vystrihnite. Vystrihnite otvory v strede 3 kruhov približne 2 cm od okraja, aby ste vytvorili krúžky a v každom vyrežte 5 mm štrbinu. Prilepte krúžky na seba tak, aby zarovnávali štrbiny, a prilepte ho k jednému zo zostávajúcich kruhov karty.
Krok 5: Zapojenie mikrofónu a Arduina
Pripojte svoje Arduino k senzoru mikrofónu a krúžku LED podľa obrázku. Na vytvorenie schémy zapojenia, ktorá nemá obrázok mikrofónu, som použil TinkerCad, takže som nahradil iný snímač, ktorý používa rovnaké piny a pri simulácii funguje rovnako.
Ak chcete zobraziť simuláciu, navštívte stránku https://www.tinkercad.com/things/5cgI2wluA0c. Potiahnutím kruhu pripevneného k senzoru na aktívnu oblasť simulujete fúkanie do mikrofónu. LED diódy sú v pásoch na 6, takže posledná LED v simulácii nie je súčasťou dizajnu a nerozsvieti sa.
Krok 6: Programovanie Arduina
Otvorte na počítači Arduino IDE a spustite nový náčrt Odstráňte všetko, čo je v náčrte, a skopírujte a vložte doň tento kód.
// Upravené pomocou jednoduchého náčrtu NeoPixel Ring (c) 2013 Shae Erisson // a kódu senzora z https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Ktorý pin na Je Arduino pripojené k NeoPixels? #define PIN 6 // Koľko NeoPixelov je pripojených k Arduinu? #define NUMPIXELS 23 // Keď nastavujeme knižnicu NeoPixel, povieme jej, koľko pixelov a ktorý pin použiť na odosielanie signálov. // Upozorňujeme, že pre staršie pásy NeoPixel bude možno potrebné zmeniť tretí parameter-ďalšie informácie o možných hodnotách nájdete v príklade strandtest //. Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // oneskorenie o pol sekundy int sensorPin = A0; // vyberte vstupný pin pre senzor int sensorValue = 0; // premenná na uloženie hodnoty pochádzajúcej z prahu const int prah = 200; // ľubovoľná prahová úroveň, ktorá je v rozsahu analógového vstupu void setup () {pixely.begin (); // Tým sa inicializuje knižnica NeoPixel. pixelov.setJas (20); // Nastavenie jasu Serial.begin (9600); } void loop () {// Pre sadu NeoPixels je prvý NeoPixel 0, druhý je 1, a to až do počtu pixelov mínus jeden. // LED diódy púpavy // pixelov. Color má hodnoty RGB od 0, 0, 0 do 255, 255, 255 pixelov.setPixelColor (0, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (5, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (6, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (7, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (8, pixelov. Color (255, 165, 0)); // Oranžová. pixely.setPixelColor (9, pixelov. Color (255, 165, 0)); // Oranžová. pixely.setPixelColor (10, pixelov. Color (255, 165, 0)); // Oranžová. pixely.setPixelColor (11, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (12, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (13, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (16, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (17, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (18, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (19, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (20, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (21, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuté. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. delay (delayval*6); // Postupná zmena z kvetu na hlavu semena // pixelov. Farba má hodnoty RGB od 0, 0, 0 do 255, 255, 255 pixelov. setPixelColor (0, pixelov. Farba (0, 0, 0)); // Vypnuté. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (5, pixelov. Color (226, 246, 255)); // bluishwhite pixels.setPixelColor (6, pixely. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (7, pixelov. Color (226, 246, 255)); // bluishwhite pixels.setPixelColor (8, pixely. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (9, pixelov. Color (226, 246, 255)); // bluishwhite pixels.setPixelColor (10, pixely. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (11, pixelov. Color (226, 246, 255)); // modrasto biela. pixelov.setPixelColor (12, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (13, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (16, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (17, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (18, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (19, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (20, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (21, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuté. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. oneskorenie (delayval*6); // LED diódy osiva pixel.setPixelColor (0, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // vypnuté pixely.setPixelColor (2, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // vypnuté pixely.setPixelColor (4, pixely. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (5, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (6, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (7, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (8, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (9, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (10, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (11, pixelov. Color (226, 246, 255)); // vypnuté pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (13, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (16, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (17, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (18, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (19, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (20, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (21, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuté. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. oneskorenie (delayval*3); // Oneskorenie na určité časové obdobie (v milisekundách). pixelov.setPixelColor (0, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // vypnuté pixely.setPixelColor (2, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (3, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (4, pixely. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (5, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (6, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (7, pixelov. Color (255, 165, 0)); // Oranžová. pixelov.setPixelColor (8, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (9, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (10, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (11, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (12, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (13, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (16, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (17, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (18, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (19, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (20, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (21, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuté. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. oneskorenie (delayval*3); // Oneskorenie na určité časové obdobie (v milisekundách). pixelov.setPixelColor (0, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (1, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (2, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (3, pixely. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (4, pixely. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (5, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (6, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (7, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (8, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (9, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (10, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (11, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (12, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (13, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (16, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (17, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (18, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (19, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (20, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (21, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuté. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. delay (delayval); // Oneskorenie na určité časové obdobie (v milisekundách). // Prečítajte hodnotu senzora a zobrazte ju na sériovom monitore sensorValue = analogRead (sensorPin); Serial.println (sensorValue); oneskorenie (250); // Kým je hodnota senzora nižšia ako prahová hodnota, skontrolujte hodnotu senzora a vytlačte ju na sériový monitor. Keď je hodnota nad prahovou hodnotou, skica môže pokračovať, kým (sensorValue <prahová hodnota) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); oneskorenie (250); } // LED diódy prvého vetra pixelov.setPixelColor (0, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (5, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (6, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (7, pixely. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (8, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (9, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (10, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (11, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (12, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (13, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (14, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (15, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (16, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (17, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (18, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (19, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (20, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (21, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuté. pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. delay (delayval); // Oneskorenie na určité časové obdobie (v milisekundách). // LED diódy druhého vetra pixely.setPixelColor (0, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (5, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (6, pixely. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (7, pixely. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (8, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (9, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (10, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (11, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (12, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (13, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (14, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (15, pixelov. Color (0, 0, 0)); // Vypnuté. pixely.setPixelColor (16, pixelov. Color (0, 0, 0)); // Vypnuté. pixelov.setPixelColor (17, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (18, pixelov. Color (226, 246, 255)); // Namodralá biela. pixely.setPixelColor (19, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (20, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (21, pixelov. Color (226, 246, 255)); // Namodralá biela. pixelov.setPixelColor (22, pixelov. Color (226, 246, 255)); // Namodralá biela.pixely.show (); // Toto odošle aktualizovanú farbu pixelov na hardvér. oneskorenie (2000); // Oneskorenie na určité časové obdobie (v milisekundách). }
Pripojte svoje Arduino k počítaču pomocou kábla USB tlačiarne
Prejdite na Nástroje> Doska a vyberte dosku Arduino/Genuino UNO
Prejdite na Port a uistite sa, že je doska pripojená k správnemu portu USB. Ak si nie ste istí, môžete odpojiť Arduino a zistiť, ktorý port zmizne zo zoznamu. Pripojte ho späť a port sa znova zobrazí.
Načrtnite náčrt kliknutím na ikonu Odovzdať, ktorá je zobrazená na komentovanej fotografii. Počas načítania Arduina by mali blikať svetlá. Po dokončení nahrávania polovice LED diód na neo pixelovom prstenci sa rozsvieti žlto a potom sa zmení na plný krúžok bielych svetiel. Zapnite mikrofón a otestujte obvod. LED diódy vo vonkajších vrstvách by sa mali postupne rozsvietiť. Skontrolujte spájku na všetkých diódach LED, ktoré nefungujú.
Krok 7: Zmena prahov farieb, jasu a senzora
Farby
Farby diód LED sa nastavujú pomocou hodnôt farieb RGB (červená zelená modrá). Ak dávate prednosť použitiu iných farieb, ako som použil ja, hodnoty pre požadované farby nájdete pomocou online kalkulačky farieb RGB, ako je napríklad www.w3schools.com/colors/colors_rgb.asp
Na vypnutie LED diódy použite hodnoty 0, 0, 0.
Na nastavenie LED na bielu použite hodnoty 255, 255, 255. Kód v predchádzajúcom kroku používa modrastú bielu s hodnotami 226, 246, 255 a oranžovú s hodnotami 255, 165, 0.
Jas
Ak chcete zmeniť jas LED diód, prejdite do časti s neplatným nastavením kódu a nájdite nasledujúci riadok kódu:
pixelov.setJas (20); // Nastavenie jasu
Upravte číslo v zátvorkách, aby ste zmenili jas LED diód.
Prah senzora
Keď spustíte program, polovica prstenca NeoPixel začne žltou farbou predstavovať kvetinu a postupne sa zmení na celý kruh bielych diód LED, ktoré predstavujú hlavu semien. V tomto mieste by sa mal program pozastaviť, kým nezasiahnete snímač mikrofónu. Ak program pokračuje a rozsvieti vonkajšie vrstvy diód LED bez aktivácie snímačom, prejdite do sekcie neplatného nastavenia kódu a znížte hodnotu uvedenú nižšie. Zvýšte hodnotu, ak sa program pozastaví, ale nereaguje, keď zasiahnete senzor.
prah int int = 200;
Krok 8: Urobte obvod trvalejším
Keď obvod funguje, odpojte Arduino od počítača a vyberte snímač mikrofónu z dosky na chlieb. Spájkujte vodiče z Arduina k senzoru mikrofónu, aby bol ten istý obvod trvalejší. Zasuňte mikrofón otvorom v karte zozadu. V prípade potreby mikrofón opatrne ohnite o 90 stupňov, aby doska mohla ležať naplocho za kartou. Pripojte batériu k Arduinu pomocou kábla tlačiarne a celá sekvencia by mala fungovať.
Krok 9: Vytvorte obrázok
V tkanine urobte dieru tam, kde chcete mikrofón. Horúcou spájkovačkou som vypálil malý otvor a orezával ho nožnicami, kým sa mikrofón nezmestil. Maľujte a stehujte svoj kvet na látku. Keď farba zaschne, pripevnite maľbu na vyšívaciu obruč a odstrihnite prebytočnú tkaninu tak, aby zostal malý okraj.
Ak chcete zistiť, či niektorá z komponentov obvodu prechádza cez tkaninu, dočasne položte tkaninu a obruč na vrch karty, pričom cez otvor ukazuje mikrofón. Ak je to potrebné, pokryte obvod vrstvami krycej pásky, príležitostne kontrolujte, kým sa komponenty prestanú zobrazovať. LED diódy sú dostatočne jasné, aby ich bolo možné vidieť cez vrstvu maskovacej pásky. Ak musíte pridať ešte viac vrstiev, môžete LED diódy zosvetliť úpravou kódu podľa kroku 7.
Vložte látku a obruč späť na vrch karty ako predtým a zaistite na mieste prilepením ďalšej látky na zadnú stranu karty.
Krok 10: Dajte to dohromady
Prilepte bielu kartu na kruh z vlnitej lepenky priložením mikrofónu, nie však k Arduinu a batérii, ktoré musia obísť okraj kartónu pomocou drôtov prechádzajúcich štrbinami.
Pripojte posledný kruh kartónu na suchý zips, aby ste mali prístup k batérii. V kartóne urobte otvor, kam ho chcete zavesiť na háčik na stenu.
Krok 11: Poučenie sa z chýb
Môj prvý pokus bol s obvodovými nálepkami a medenou páskou. Obvodové nálepky sú malé diódy LED pripevnené na povrch na nálepky s medenými podložkami. Pochádzajú zo spoločnosti Qi Jie, Chibitroniks, a myslel som si, že budú dokonalí.
Nedokázal som získať spoľahlivé pripojenie pomocou medenej pásky alebo striebornej pásky, a keď som k nálepkám spájkoval drôt, stále som dokázal rozsvietiť iba sériu 3 samolepiek LED pomocou 9V batérie. Ukázalo sa, že nie sú určené pre viacľahké projekty, ako som dúfal. Keď som sa bližšie pozrel na webovú stránku o nálepkách obvodov, projekt so 4 svetlami sa ukázal byť iným typom diód LED. Mohol by som napájať nálepky obvodov batériou 12V, ale bolo by príliš objemné, aby sa zmestili do obrazu.
Potom som vyskúšal šité LED diódy. Myslel som si, že zapojenie iba napájania a uzemnenia bude jednoduchšie ako programovateľné LED diódy, ktoré majú napájacie, uzemňovacie a dátové vedenia. Ukázalo sa však, že je to komplikovanejší obvod, ktorý potrebuje dodatočné napájanie a MOSFET, ktorý som nemal. Mohol som použiť šiteľné NeoPixely, ale sú drahšie.
Takže po niekoľkých falošných štartoch som skončil s reťazcom programovateľných diód LED, ktoré sú lacné a ľahko sa používajú.
Odporúča:
Interaktívna stena z LED dlaždíc (jednoduchšie, ako to vyzerá): 7 krokov (s obrázkami)
Interaktívna LED dlaždicová stena (Jednoduchšie, ako to vyzerá): V tomto projekte som postavil interaktívny LED nástenný displej s použitím Arduino a 3D tlačených dielov. Inšpirácia pre tento projekt čiastočne pochádza z dlaždíc Nanoleaf. Chcel som prísť s vlastnou verziou, ktorá bude nielen cenovo dostupnejšia, ale aj
Vesmírne príšery - interaktívna maľba: 8 krokov (s obrázkami)
Vesmírne príšery - interaktívna maľba: Tiež vás unavuje počúvať " NIE! &Quot; keď sa chceš dotknúť obrazu? Vyrobme si taký, ktorého sa MÔŽETE dotknúť
GLO FLO: Interaktívna meditačná podložka: 8 krokov (s obrázkami)
GLO FLO: Interaktívna meditačná podložka: Stimulácia je v modernej dobe všade. Vonkajší svet je plný blikajúcich svetiel, hlasných zvukov, reklám, hudby, automobilov. V dnešnej dobe je neobvyklé nájsť si chvíľku pokoja, aby ste si vyčistili myseľ. Ako je technológia stále viac a viac
Interaktívna periodická tabuľka LED: 12 krokov (s obrázkami)
Interaktívna periodická tabuľka LED: Moja priateľka a ja máme zbierku prvkov - vzorky jedinečných kúskov hmoty, ktoré tvoria všetko vo vesmíre! Pre takú zaujímavú zbierku som sa rozhodol postaviť vitrínu, ktorá predvádza vzorky vo všetkých ich svetových stavbách
Interaktívna LED lampa - Tensegrity Structure + Arduino: 5 krokov (s obrázkami)
Interaktívna LED lampa | Tensegrity Structure + Arduino: Tento kúsok je lampa reagujúca na pohyb. Lampa, navrhnutá ako socha s minimálnym napätím, mení svoju konfiguráciu farieb v závislosti od orientácie a pohybov celej štruktúry. Inými slovami, v závislosti od svojej orientácie