Obsah:

Interaktivní pampeliška: 11 kroků (s obrázky)
Interaktivní pampeliška: 11 kroků (s obrázky)

Video: Interaktivní pampeliška: 11 kroků (s obrázky)

Video: Interaktivní pampeliška: 11 kroků (s obrázky)
Video: Panelová diskuze - Co a jak je potřeba systémově změnit, aby se zlepšila kvalita výuky a učení 2024, Listopad
Anonim
Image
Image
Připravte si prsten NeoPixel
Připravte si prsten NeoPixel

Tento projekt ukazuje, jak vytvořit interaktivní obrázek pampelišky. Začíná to jako žlutý květ s LED diodami pro okvětní lístky a poté se mění na bílé pampeliškové hodiny, na které lze foukat, aby se semínka rozptýlila.

Je založen na krásném uměleckém díle Qi Jie, jehož obrázek byl inspirován jediným květinovým designem Jessie Thompson a Zachory Berty. Udělal jsem svůj na látku a zarámoval ho do gobelínové obruče, abych šel na zeď výrobního prostoru Tech and Textiles v Devonu v Anglii jako příklad projektu pro začátečníky, který kombinuje šití s Arduinem.

Video světelné malby od Qi Jie

Video z návrhu jedné květiny od Jessie Thompsonové a Zachoryho Berty

Kód pro oba stávající projekty je k dispozici a myslel jsem si, že bude snadné jej vytvořit, ale pokyny byly minimální a trvalo několik pokusů, než jsem našel metodu, která fungovala. Zde jsou tedy úplné pokyny a tipy na úsporu času pro remix, který kombinuje prvky obou návrhů a mých vychytávek.

Podrobnosti o tom, co nefungovalo pro mě, jsou na konci pro každého, koho zajímá, proč jsem si vybral tento způsob.

Kód pro malbu světlem od Qi Jie

Kód pro malý květinový obrázek od Jessie Thompsonové a Zachoryho Berty

Materiály

  • Arduino UNO
  • Prsten Adafruit z 12 Neopixelů
  • Pás 5V 11 RGB LED diod
  • Zvukový mikrofonní senzor
  • Propojovací dráty
  • 5V dobíjecí baterie s připojením USB A.
  • Kabel tiskárny (kabel USB A na B)
  • Tečky lepidla nebo horké lepidlo
  • Karta A4
  • 30 cm x 30 cm krémová bavlněná tkanina, například stará povlak na polštář
  • Zelená tkaninová barva
  • Hnědá bavlněná nit
  • Vlnitá lepenka 70 cm x 50 cm, například krabice na pizzu
  • Maskovací páska
  • 9palcový vyšívací rámeček pro orámování obrázku
  • 9 Samolepicí záložky na suchý zip

Nástroje

  • Počítač se staženým Arduino IDE
  • Páječka a bezolovnatá pájka
  • Breadboard pro testování obvodu
  • Odizolovací kleště/řezačky
  • Jehla na šití
  • Pero
  • Nůžky

Krok 1: Připravte prsten NeoPixel

Ke každému napájecímu, uzemňovacímu a datovému polštářku na zadní straně prstence NeoPixel připájejte různě barevné vodiče.

Pokud máte jinou verzi prstenu, vaše dráty nemusí být ve stejné poloze jako moje fotka.

Poznamenejte si, které vodiče jsou pro vstup a výstup, stejně jako kladné, datové a uzemňovací, protože jejich označení jsou na spodní straně prstenu a nebudou viditelná, když je prsten na místě.

Krok 2: Odřízněte proužky LED diod

Odřízněte proužky LED diod
Odřízněte proužky LED diod
Odřízněte proužky LED diod
Odřízněte proužky LED diod

Vystřihněte 11 jednotlivých LED diod z pásu RGB LED diod, přičemž dbejte na to, abyste je prořízli podél středové čáry, aby na obou stranách řezu zůstaly pájecí plošky. Naneste kapku pájky na horní stranu každé podložky.

Krok 3: Pájejte LED diody

Pájejte LED diody
Pájejte LED diody
Pájejte LED diody
Pájejte LED diody
Pájejte LED diody
Pájejte LED diody

Uprostřed karty vytvořte otvor, aby se vešel do mikrofonu. Pomocí lepicích teček přilepte prstenec neo pixelů a jednotlivé LED diody na místo, jak je znázorněno na obrázku, a ujistěte se, že všechny šipky na LED diodách budou zarovnány stejným způsobem, když jsou sedmikrásky spojeny dohromady.

Pájejte výstupní vodiče z prstence k první jednotlivé LED diodě tak, aby kladné, zemnící a datové vodiče byly spojeny se stejnými pady na obou LED diodách.

Nejrychlejší a nejsnadnější způsob, jak jsem spojil LED diody dohromady, je odizolovat propojovací vodič do samostatných měděných vláken. Připojte jeden pramen a propojte každou z pájených podložek na diodách LED k další, která odpovídá kladnému, datovému a uzemňovacímu bodu. Chce to jen rychlý dotyk horké páječky, protože podložky byly v předchozím kroku předpájeny. Místo řezání vodičů v této fázi je vezměte přes horní část LED, abyste dosáhli na pájené podložky na druhé straně. Ujistěte se, že se žádné dráty nekříží ani se navzájem nedotýkají, připájejte je k těmto podložkám a pokračujte dokola na vstupní stranu poslední LED diody.

Nepřipojujte vodič na výstupní stranu poslední LED diody. Na rozdíl od některých LED diod, které možná znáte, nemusíte dokončit kruhový obvod, který odebírá energii zpět na zem, protože jste po celou dobu zapojovali oddělené uzemňovací a kladné vedení. Odřízněte všechny vodiče, které jdou přes horní část LED, tak, aby mezi nimi byly propojeny pouze vodiče.

Tip: Abyste zabránili dotyku vodičů při procházení rohů, navlékněte každý zpět do malého pásu plastové izolace, který byl dříve odstraněn.

Krok 4: Příprava zad

Příprava zad
Příprava zad
Příprava zad
Příprava zad

Udělejte další otvor v bílé kartě pro vstupní vodiče a protlačte je skrz.

Oddělte dva kroužky gobelínové obruče. Nakreslete vnější stranu nejmenšího prstence na 5 kusů vlnité lepenky a vystřihněte. Vystřihněte otvory ve středu 3 kruhů přibližně 2 cm od okraje, abyste vytvořili prsteny a v každém vyřízněte 5 mm štěrbinu. Přilepte prsteny na sebe, zarovnejte štěrbiny a přilepte je k jednomu ze zbývajících kruhů karty.

Krok 5: Zapojení mikrofonu a Arduina

Zapojení mikrofonu a Arduina
Zapojení mikrofonu a Arduina
Zapojení mikrofonu a Arduina
Zapojení mikrofonu a Arduina

Připojte Arduino k senzoru mikrofonu a kroužku LED podle obrázku. Použil jsem TinkerCad k vytvoření schématu zapojení, které nemá mikrofonní obraz, takže jsem nahradil jiný senzor, který používá stejné piny a funguje při simulaci stejným způsobem.

Simulaci zobrazíte na adrese https://www.tinkercad.com/things/5cgI2wluA0c. Přetáhněte kruh připevněný ke snímači na aktivní oblast, abyste simulovali foukání do mikrofonu. LED diody jsou v pásech na 6, takže poslední LED v simulaci není součástí designu a nesvítí.

Krok 6: Programování Arduina

Programování Arduina
Programování Arduina

Otevřete na počítači Arduino IDE a spusťte novou skicu Smažte vše uvnitř skici a zkopírujte a vložte do ní tento kód

// Upraveno pomocí jednoduchého náčrtu NeoPixel Ring (c) 2013 Shae Erisson // a kódu senzoru z https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Který pin na Je Arduino připojeno k NeoPixels? #define PIN 6 // Kolik NeoPixelů je připojeno k Arduinu? #define NUMPIXELS 23 // Když nastavujeme knihovnu NeoPixel, řekneme jí, kolik pixelů a jaký pin použít k odesílání signálů. // U starších proužků NeoPixel bude možná nutné změnit třetí parametr-další informace o možných hodnotách najdete v příkladu strandtest //. Pixely Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // zpoždění na půl sekundy int sensorPin = A0; // vyberte vstupní pin pro senzor int sensorValue = 0; // proměnná pro uložení hodnoty pocházející z prahu const int práh = 200; // libovolná prahová úroveň, která je v rozsahu analogového vstupu void setup () {pixely.begin (); // Tím se inicializuje knihovna NeoPixel. pixely.setBrightness (20); // Nastavit jas Serial.begin (9600); } void loop () {// U sady NeoPixelů je první NeoPixel 0, druhý 1, a to až do počtu pixelů mínus jeden. // LED diody pampelišky // pixely. Color přebírá hodnoty RGB, od 0, 0, 0 do 255, 255, 255 pixelů.setPixelColor (0, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (5, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (6, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (7, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (8, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (9, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (10, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (11, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (13, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (14, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (16, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (17, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (18, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (19, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (20, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (21, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuto. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. delay (delayval*6); // Postupná změna z květu na semennou hlavu // pixely. Barva nabývá hodnot RGB, od 0, 0, 0 do 255, 255, 255 pixelů. setPixelColor (0, pixelů. Barva (0, 0, 0)); // Vypnuto. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (5, pixely. Color (226, 246, 255)); // modravě bílé pixely.setPixelColor (6, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (7, pixely. Color (226, 246, 255)); // modravě bílé pixely.setPixelColor (8, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (9, pixely. Color (226, 246, 255)); // modravě bílé pixely.setPixelColor (10, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (11, pixely. Color (226, 246, 255)); // modravě bílá. pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (13, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (14, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (16, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (17, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (18, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (19, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (20, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (21, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuto. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. delay (delayval*6); // LED diody osivové hlavy pixely.setPixelColor (0, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // vypnuto pixely.setPixelColor (2, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // vypnuto pixely.setPixelColor (4, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (5, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (6, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (7, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (8, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (9, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (10, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (11, pixely. Color (226, 246, 255)); // vypnuto pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (13, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (14, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (16, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (17, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (18, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (19, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (20, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (21, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuto. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. delay (delayval*3); // Zpoždění po určitou dobu (v milisekundách). pixely.setPixelColor (0, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // vypnuto pixely.setPixelColor (2, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (3, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (4, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (5, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (6, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (7, pixely. Color (255, 165, 0)); // Oranžový. pixely.setPixelColor (8, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (9, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (10, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (11, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (13, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (14, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (16, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (17, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (18, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (19, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (20, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (21, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuto. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. delay (delayval*3); // Zpoždění po určitou dobu (v milisekundách). pixely.setPixelColor (0, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (1, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (2, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (3, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (4, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (5, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (6, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (7, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (8, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (9, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (10, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (11, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (13, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (14, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (16, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (17, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (18, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (19, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (20, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (21, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuto. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. delay (delayval); // Zpoždění po určitou dobu (v milisekundách). // Přečtěte hodnotu senzoru a zobrazte ji v sériovém monitoru sensorValue = analogRead (sensorPin); Serial.println (sensorValue); zpoždění (250); // Zatímco hodnota senzoru je nižší než prahová hodnota, zkontrolujte hodnotu senzoru a vytiskněte ji na sériovém monitoru. Když je hodnota nad prahovou hodnotou, skica může pokračovat, zatímco (sensorValue <práh) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); zpoždění (250); } // LED diody prvního větru pixely.setPixelColor (0, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (5, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (6, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (7, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (8, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (9, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (10, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (11, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (12, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (13, pixelů. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (14, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (15, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (16, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (17, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (18, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (19, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (20, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (21, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (22, pixely. Color (0, 0, 0)); // Vypnuto. pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. delay (delayval); // Zpoždění po určitou dobu (v milisekundách). // LED diody druhého větru pixely.setPixelColor (0, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (1, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (2, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (3, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (4, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (5, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (6, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (7, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (8, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (9, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (10, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (11, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (12, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (13, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (14, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (15, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (16, pixely. Color (0, 0, 0)); // Vypnuto. pixely.setPixelColor (17, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (18, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (19, pixely. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (20, pixelů. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (21, pixelů. Color (226, 246, 255)); // Namodralá bílá. pixely.setPixelColor (22, pixely. Color (226, 246, 255)); // Namodralá bílá.pixely.show (); // Tím se na hardware odešle aktualizovaná barva pixelu. zpoždění (2000); // Zpoždění po určitou dobu (v milisekundách). }

Připojte svůj Arduino k počítači pomocí kabelu USB tiskárny

Přejděte na Nástroje> Deska a vyberte desku Arduino/Genuino UNO

Přejděte na Port a ujistěte se, že máte desku připojenou ke správnému portu USB. Pokud si nejste jisti, můžete Arduino odpojit a zjistit, který port zmizí ze seznamu. Připojte jej zpět a port bude znovu uveden.

Načrtněte skicu kliknutím na ikonu Odeslat zobrazenou na fotografii s poznámkami. Během nahrávání by na Arduinu měly blikat světla. Po dokončení nahrávání poloviny LED diod na neo pixelovém prstenci se rozsvítí žlutě a poté se změní na plný kruh bílých světel. Zapněte mikrofon a otestujte obvod. LED diody ve vnějších vrstvách by se měly postupně rozsvítit. Zkontrolujte pájku na všech LED diodách, které nefungují.

Krok 7: Změna barev, jasu a prahu senzoru

Změna barev, jasu a prahu senzoru
Změna barev, jasu a prahu senzoru
Změna barev, jasu a prahu senzoru
Změna barev, jasu a prahu senzoru

Barvy

Barvy diod LED se nastavují pomocí barevných hodnot RGB (Red Green Blue). Pokud dáváte přednost použití jiných barev, než jaké jsem použil, můžete najít hodnoty pro požadované barvy pomocí online kalkulačky barev RGB, jako je www.w3schools.com/colors/colors_rgb.asp

Chcete -li vypnout LED, použijte hodnoty 0, 0, 0.

Chcete -li nastavit LED na bílou, použijte hodnoty 255, 255, 255. Kód v předchozím kroku používá modravou bílou s hodnotami 226, 246, 255 a oranžovou s hodnotami 255, 165, 0.

Jas

Chcete -li změnit jas LED diod, přejděte do části neplatného nastavení kódu a vyhledejte následující řádek kódu:

pixely.setBrightness (20); // Nastavení jasu

Upravte číslo v závorkách a změňte jas LED diod.

Práh senzoru

Když spustíte program, polovina prstence NeoPixel začne žlutě, aby představovala květinu, a postupně se změní na celý kruh bílých LED, které představují hlavu osiva. V tomto okamžiku by se měl program pozastavit, dokud nevyfouknete senzor mikrofonu. Pokud program pokračuje a rozsvítí vnější vrstvy LED diod bez aktivace senzorem, přejděte do sekce neplatného nastavení kódu a snižte hodnotu uvedenou níže. Zvyšte hodnotu, pokud se program pozastaví, ale nereaguje, když foukáte na senzor.

prah int int = 200;

Krok 8: Zlepšení obvodu

Zlepšení obvodu
Zlepšení obvodu

Když obvod funguje, odpojte Arduino od počítače a vyjměte senzor mikrofonu z prkénka. Pájejte vodiče od Arduina k senzoru mikrofonu, aby byl stejný obvod trvalejší. Zezadu protlačte mikrofon otvorem v kartě. V případě potřeby opatrně ohněte mikrofon o 90 stupňů, aby deska mohla ležet naplocho za kartou. Připojte baterii k Arduinu pomocí kabelu tiskárny a celá sekvence by měla fungovat.

Krok 9: Vytvořte obrázek

Vytvořte obrázek
Vytvořte obrázek

V tkanině vytvořte otvor, kam chcete mikrofon. Horkou páječkou jsem vypálil malý otvor a stříhal ho nůžkami, dokud mikrofon nepasoval. Malovat a stehovat květinu na látku. Když barva zaschne, připojte obraz k vyšívací obruči a odstřihněte přebytečnou látku a ponechte malý okraj.

Chcete -li zjistit, zda některá součást obvodu prosvítá skrz tkaninu, dočasně položte látku a obruč na horní část karty, přičemž mikrofon ukazuje otvorem. Pokud je to nutné, zakryjte obvod vrstvami krycí pásky a občas kontrolujte, dokud se součásti již nezobrazí. LED diody jsou dostatečně jasné, aby byly viditelné přes vrstvu maskovací pásky. Pokud musíte přidat ještě více vrstev, můžete LED diody zesvětlit úpravou kódu podle kroku 7.

Vložte látku a obruč zpět na horní část karty jako dříve a zajistěte na místě přilepením extra látky přes zadní část karty.

Krok 10: Dát to dohromady

Dát to dohromady
Dát to dohromady

Přilepte bílou kartu na kruh z vlnité lepenky a uzavřete mikrofon, ale ne Arduino a baterii, které musí obejít okraj lepenky s dráty procházejícími štěrbinami.

Připojte poslední kruh lepenky pomocí suchého zipu, abyste měli přístup k baterii. V kartonu vytvořte otvor, kam jej chcete zavěsit, na háček na zeď.

Krok 11: Poučení se z chyb

Poučení z chyb
Poučení z chyb
Poučení z chyb
Poučení z chyb
Poučení z chyb
Poučení z chyb

Můj první pokus byl s obvodovými nálepkami a měděnou páskou. Obvodové nálepky jsou malé LED diody přilepené na samolepky s měděnými podložkami. Pocházejí ze společnosti Qi Jie, Chibitroniks, a já jsem si myslel, že budou perfektní.

Nemohl jsem získat spolehlivé připojení pomocí měděné pásky nebo stříbrné pásky, a když jsem k nálepkám připájel drát, stále jsem mohl pomocí 9V baterie rozsvítit pouze sérii 3 LED samolepek. Ukázalo se, že nejsou určeny pro projekty více světel, jak jsem doufal. Když jsem se podrobněji podíval na webovou stránku o obvodových nálepkách, projekt se 4 světly se ukázal být jiným typem LED. Mohl bych napájet nálepky obvodů baterií 12V, ale bylo by příliš objemné, aby se vešlo do obrázku.

Pak jsem zkusil šité LED diody. Myslel jsem, že mít pouze napájení a uzemnění bude jednodušší k propojení než programovatelné LED diody, které mají napájecí, uzemňovací a datové linky. Ukázalo se však, že je to složitější obvod, který potřebuje další napájecí zdroj a MOSFET, což jsem neměl. Mohl jsem použít šité NeoPixely, ale jsou dražší.

Takže po několika falešných startech jsem skončil s řadou programovatelných LED, které jsou levné a snadno se používají.

Doporučuje: