Obsah:

Interaktívna púpava: 11 krokov (s obrázkami)
Interaktívna púpava: 11 krokov (s obrázkami)

Video: Interaktívna púpava: 11 krokov (s obrázkami)

Video: Interaktívna púpava: 11 krokov (s obrázkami)
Video: Solidity и смарт-контракты Ethereum, урок #11 | Наследование, конструкторы, super, override, virtual 2024, November
Anonim
Image
Image
Pripravte si NeoPixel Ring
Pripravte si NeoPixel Ring

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

Odstrihnite pásy LED diód
Odstrihnite pásy LED diód
Odstrihnite pásy LED diód
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

Spájkujte LED diódy
Spájkujte LED diódy
Spájkujte LED diódy
Spájkujte LED diódy
Spájkujte LED diódy
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

Príprava chrbta
Príprava chrbta
Príprava chrbta
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

Zapojenie mikrofónu a Arduina
Zapojenie mikrofónu a Arduina
Zapojenie mikrofónu a Arduina
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

Programovanie Arduina
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

Zmena prahov farieb, jasu a senzora
Zmena prahov farieb, jasu a senzora
Zmena prahov farieb, jasu a senzora
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

Urobte obvod trvalejším
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

Vytvorte obrázok
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

Dať to dohromady
Dať 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

Poučenie sa z chýb
Poučenie sa z chýb
Poučenie sa z chýb
Poučenie sa z chýb
Poučenie sa z chýb
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: