Kazalo:

Interaktivni regrat: 11 korakov (s slikami)
Interaktivni regrat: 11 korakov (s slikami)

Video: Interaktivni regrat: 11 korakov (s slikami)

Video: Interaktivni regrat: 11 korakov (s slikami)
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Julij
Anonim
Image
Image
Pripravite prstan NeoPixel
Pripravite prstan NeoPixel

Ta projekt prikazuje, kako narediti interaktivno sliko regrata. Začne se kot rumena roža z LED diodami za cvetne liste, nato pa se spremeni v belo regratovo uro, na katero lahko pihamo, da se semena razpršijo.

Temelji na čudovitem umetniškem delu Qi Jieja, čigar slika je navdihnila en sam cvetlični dizajn Jessie Thompson in Zachory Berta. Jaz sem svojega naredil na tkanini in ga uokviril v tapiserijski obroč, ki je šel na steno proizvajalčevega prostora Tech and Textiles v Devonu v Angliji, kot primer projekta za začetnike, ki združuje šivanje z Arduinom.

Video posnetek svetlobe avtorja Qi Jie

Video posnetka enojnega cvetja Jessie Thompson in Zachory Berta

Koda za oba obstoječa projekta je na voljo in mislil sem, da jo bo enostavno narediti, vendar so bila navodila minimalna in trajalo je več poskusov, preden sem našel metodo, ki je delovala. Torej, tukaj so popolna navodila in nasveti za prihranek časa za remix, ki združuje elemente mojih oblikovanj in lastnih nastavitev.

Podrobnosti o tem, kaj mi ni uspelo, so na koncu za vsakogar, ki ga zanima, zakaj sem se odločil za to pot.

Koda za svetlobno slikarstvo Qi Jie

Koda za sliko majhnih cvetov Jessie Thompson in Zachory Berta

Materiali

  • Arduino UNO
  • Adafruit prstan z 12 neopiksli
  • 5V trak z 11 RGB LED diodami
  • Senzor mikrofona za zvok
  • Mostične žice
  • 5V polnilna baterija s priključkom USB A
  • Tiskalniški kabel (kabel USB A do B)
  • Lepilne pike ali vroče lepilo
  • Kartica A4
  • 30 cm x 30 cm krem bombažne tkanine, na primer stara prevleka za blazino
  • Zelena barva za tkanine
  • Rjava bombažna nit
  • 70cm x 50cm valovit karton, na primer škatle za pico
  • Lepilni trak
  • 9 -palčni obroč za vezenje za okvirjanje slike
  • 9 Samolepilni jezički Velcro

Orodja

  • Prenos računalnika z Arduino IDE
  • Spajkalnik in spajkalnik brez svinca
  • Plošča za preskusno vezje
  • Odstranjevalec žic/rezalniki
  • Šivalna igla
  • Peresnik
  • Škarje

1. korak: Pripravite prstan NeoPixel

Spajate žice različnih barv na vsako napajalno, ozemljitveno in podatkovno ploščico na hrbtni strani obroča NeoPixel.

Če imate drugo različico prstana, vaše žice morda ne bodo v istem položaju kot moja fotografija.

Zapišite, katere žice so za vhod in izhod, pa tudi pozitivne, podatke in ozemljitev, ker so oznake na spodnji strani obroča in ne bodo vidne, ko je obroč na svojem mestu.

Korak: Odrežite trakove LED

Odrežite trakove LED
Odrežite trakove LED
Odrežite trakove LED
Odrežite trakove LED

Izrežite 11 posameznih LED iz traku RGB LED, pri čemer pazite, da prerežete vzdolž središčne črte, da pustite spajkalne blazinice na obeh straneh reza. Na zgornjo stran vsake blazinice nanesite madež spajkanja.

3. korak: Spajkajte LED

Spajkajte LED
Spajkajte LED
Spajkajte LED
Spajkajte LED
Spajkajte LED
Spajkajte LED

Na sredini kartice naredite luknjo, ki bo ustrezala mikrofonu. Z lepilnimi pikami prilepite obroč neo -pikslov in posamezne LED -lučke v položaj, kot je prikazano, pri čemer pazite, da bodo vse puščice na LED -jih enako postavljene, ko je marjetica povezana.

Spajajte izhodne žice iz obroča na prvo posamezno LED, tako da pozitivne, ozemljitvene in podatkovne žice ujemate z istimi blazinicami na obeh LED.

Najhitrejši in najlažji način, da združim LED diode, je, da skakalno žico odstranim na ločene bakrene pramene. Pritrdite en pramen, da povežete vsako spajkano blazinico na LED -jih z naslednjo, tako da se ujema s pozitivo, podatki in maso. Potreben je le hiter dotik vročega spajkalnika, ker so bile blazinice predhodno spajkane v prejšnjem koraku. Namesto da na tej stopnji prerežete žice, jih popeljite po vrhu LED, da dosežete spajkane blazinice na drugi strani. Pazite, da se žice ne križajo ali dotikajo, spajkajte na te blazinice in nadaljujte na vhodno stran zadnje LED.

Ne priključujte žice na izhodno stran zadnje LED. Za razliko od nekaterih LED, ki jih morda poznate, vam ni treba dokončati okroglega tokokroga, ki napaja nazaj na tla, saj ste ves čas napeljali ločeno ozemljitev in pozitivne vodi. Odrežite vse žice, ki gredo čez vrh LED, tako da imate med njimi samo žice.

Namig: Da se izognete dotikanju žic pri zavijanju po vogalih, vsakega speljite nazaj v majhen trak plastične izolacije, ki ste ga predhodno odstranili.

4. korak: Priprava hrbta

Priprava hrbta
Priprava hrbta
Priprava hrbta
Priprava hrbta

V beli kartici naredite še eno luknjo za vhodne žice in jih potisnite skozi.

Ločite dva obroča obroča za tapiserijo. Zunanjost najmanjšega obroča potegnite na 5 kosov valovite kartice in izrežite. Izrežite luknje na sredini treh krogov približno 2 cm od roba, da naredite obroče in v vsakega izrežite 5 mm režo. Prstane lepite drug na drugega, tako da poravnate reže, in ga prilepite na enega od preostalih krogov kartice.

5. korak: Ožičenje mikrofona in Arduina

Ožičenje mikrofona in Arduina
Ožičenje mikrofona in Arduina
Ožičenje mikrofona in Arduina
Ožičenje mikrofona in Arduina

Arduino povežite s senzorjem mikrofona in LED obročem, kot je prikazano. Za izdelavo sheme vezja, ki nima slike mikrofona, sem uporabil TinkerCad, zato sem zamenjal drugo tipalo, ki uporablja iste zatiče in deluje enako pri simulaciji.

Če si želite ogledati simulacijo, pojdite na https://www.tinkercad.com/things/5cgI2wluA0c. Povlecite krog, pritrjen na senzor, na aktivno območje, da simulirate pihanje v mikrofon. LED diode so v trakovih na 6, zato zadnja LED v simulaciji ni del zasnove in ne sveti.

6. korak: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina

Odprite Arduino IDE v računalniku in zaženite novo skico Izbrišite vse v skici in namesto tega kopirajte in prilepite to kodo

// Prilagojeno s preprosto skico NeoPixel Ring (c) 2013 Shae Erisson // in kodo senzorja s https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Kateri pin na Arduino je povezan z NeoPixels? #define PIN 6 // Koliko NeoPixel je priključenih na Arduino? #define NUMPIXELS 23 // Ko nastavimo knjižnico NeoPixel, ji povemo, koliko slikovnih pik in kateri pin uporabite za pošiljanje signalov. // Upoštevajte, da boste za starejše trakove NeoPixel morda morali spremeniti tretji parameter-glejte primer strandtest // za več informacij o možnih vrednostih. Piksli Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // zakasnitev za pol sekunde int sensorPin = A0; // izberite vhodni pin za senzor int sensorValue = 0; // spremenljivka za shranjevanje vrednosti, ki prihaja iz senzorja const int prag = 200; // poljubna raven praga, ki je v razponu nastavitev void analognega vhoda () {pixels.begin (); // To inicializira knjižnico NeoPixel. pixels.setBrightness (20); // Nastavitev svetlosti Serial.begin (9600); } void loop () {// Za niz NeoPixel je prvi NeoPixel 0, drugi je 1, vse do števila slikovnih pik minus ena. // Regratove LED diode // slikovne pike. Barva sprejme vrednosti RGB, od 0, 0, 0 do 255, 255, 255 slikovnih pik.setPixelColor (0, slikovnih pik. Barva (0, 0, 0)); // izklopljeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (5, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (6, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (7, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (8, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (9, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (10, pixels. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (11, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (13, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (14, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (16, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (18, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (19, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (21, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (22, pikslov. Color (0, 0, 0)); // izklopljeno. piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zakasnitev (delayval*6); // Postopna sprememba od cvetne do semenske glave // slikovnih pik. Barva sprejme vrednosti RGB, od 0, 0, 0 do 255, 255, 255 slikovnih pik. setPixelColor (0, slikovnih pik. Barva (0, 0, 0)); // izklopljeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (5, pikslov. Color (226, 246, 255)); // modrikastobele piksle.setPixelColor (6, slikovnih pik. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (7, pikslov. Color (226, 246, 255)); // modrikastobele piksle.setPixelColor (8, slikovnih pik. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (9, slikovnih pik. Color (226, 246, 255)); // modrikastobele piksle.setPixelColor (10, slikovnih pik. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (11, pikslov. Color (226, 246, 255)); // modrikasto bela. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (14, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (16, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (17, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (18, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (19, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (21, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (22, pikslov. Color (0, 0, 0)); // izklopljeno. piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zakasnitev (delayval*6); // LED sejalne glave pikslov.setPixelColor (0, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // izklop pik.setPixelColor (2, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // izklop pik.setPixelColor (4, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (5, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (6, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (7, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (8, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (9, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (11, pikslov. Color (226, 246, 255)); // izklop pik.setPixelColor (12, slikovnih pik. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (14, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (16, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (18, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (19, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (21, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (22, pikslov. Color (0, 0, 0)); // izklopljeno. piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zakasnitev (delayval*3); // Zakasnitev za časovno obdobje (v milisekundah). pixels.setPixelColor (0, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // izklop pik.setPixelColor (2, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (3, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (4, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (5, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (6, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (7, pikslov. Color (255, 165, 0)); // oranžna. pixels.setPixelColor (8, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (9, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (10, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (11, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (14, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (16, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (18, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (19, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (21, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (22, pikslov. Color (0, 0, 0)); // izklopljeno. piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zakasnitev (delayval*3); // Zakasnitev za časovno obdobje (v milisekundah). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (1, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (3, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (4, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (5, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (6, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (7, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (8, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (9, slikovnih pik. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (11, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (13, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (14, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (16, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (18, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (19, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (21, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (22, pikslov. Color (0, 0, 0)); // izklopljeno. piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zamuda (delayval); // Zakasnitev za časovno obdobje (v milisekundah). // Odčitamo vrednost senzorja in jo prikažemo v serijskem monitorju sensorValue = analogRead (sensorPin); Serial.println (sensorValue); zamuda (250); // Ko je vrednost senzorja manjša od praga, preverite vrednost senzorja in jo natisnite na serijski monitor. Ko je vrednost nad pragom, se lahko skica nadaljuje, medtem ko (sensorValue <prag) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); zamuda (250); } // LED prvega vetra pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (8, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (12, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (13, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (14, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (15, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (16, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (18, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (19, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (21, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (22, pikslov. Color (0, 0, 0)); // izklopljeno. piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zamuda (delayval); // Zakasnitev za časovno obdobje (v milisekundah). // LED za drugi veter piksli.setPixelColor (0, piksli. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (8, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (14, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (16, pikslov. Color (0, 0, 0)); // izklopljeno. pixels.setPixelColor (17, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (18, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (19, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (20, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (21, pikslov. Color (226, 246, 255)); // Modrikasto bela. pixels.setPixelColor (22, pikslov. Color (226, 246, 255)); // Modrikasto bela.piksli.show (); // To pošlje posodobljeno barvo slikovnih pik strojni opremi. zamuda (2000); // Zakasnitev za časovno obdobje (v milisekundah). }

S kablom USB tiskalnika priključite Arduino na računalnik

Pojdite v Orodja> Plošča in izberite ploščo Arduino/Genuino UNO

Pojdite na vrata in se prepričajte, da imate ploščo priključeno na desna vrata USB. Če niste prepričani, lahko izklopite Arduino in pogledate, katera vrata izginejo s seznama. Priključite ga nazaj in vrata bodo spet na seznamu.

Skico naložite tako, da kliknete ikono za nalaganje, prikazano na označeni fotografiji. Med nalaganjem morajo na Arduinu utripati luči. Ko konča z nalaganjem, polovica LED na obroču neo pixel zasveti rumeno in se nato spremeni v poln obroč belih luči. Pihajte v mikrofon, da preizkusite vezje. Svetleče diode v zunanjih plasteh naj svetijo po vrsti. Preverite spajkanje na vseh LED, ki ne delujejo.

7. korak: Spreminjanje barv, svetlosti in praga senzorja

Spreminjanje barv, svetlosti in praga senzorja
Spreminjanje barv, svetlosti in praga senzorja
Spreminjanje barv, svetlosti in praga senzorja
Spreminjanje barv, svetlosti in praga senzorja

Barve

Barve LED diod so nastavljene z barvnimi vrednostmi RGB (rdeča zelena modra). Če raje uporabljate drugačne barve, kot sem jih uporabil, lahko vrednosti za želene barve poiščete z uporabo spletnega barvnega kalkulatorja RGB, na primer www.w3schools.com/colors/colors_rgb.asp

Za izklop LED uporabite vrednosti 0, 0, 0.

Če želite LED nastaviti na belo, uporabite vrednosti 255, 255, 255. Koda v prejšnjem koraku uporablja modrikasto belo z vrednostmi 226, 246, 255 in oranžno z vrednostmi 255, 165, 0.

Svetlost

Če želite spremeniti svetlost LED, pojdite v razdelek za nastavitev praznine kode in poiščite naslednjo vrstico kode:

pixels.setBrightness (20); // Nastavitev svetlosti

Uredite številko v oklepajih, da spremenite svetlost LED.

Prag senzorja

Ko zaženete program, se polovica obroča NeoPixel prične rumeno predstavljati rožo in se postopoma spremeni v poln krog belih LED, ki predstavlja semensko glavo. Na tej točki se mora program ustaviti, dokler ne pihate na senzor mikrofona. Če se program nadaljuje in prižge zunanje plasti LED, ne da bi jih aktiviral senzor, pojdite na razdelek za nastavitev praznine kode in znižajte spodnjo vrednost. Povečajte vrednost, če se program ustavi, vendar se ne odzove, ko pihate na senzor.

const int prag = 200;

8. korak: Naredite vezje trajnejše

Naredite vezje trajnejše
Naredite vezje trajnejše

Ko vezje deluje, odklopite Arduino iz računalnika in senzor mikrofona odstranite s plošče. Spajkajte žice od Arduina do senzorja mikrofona, da naredite isto vezje trajnejše. Potisnite mikrofon skozi odprtino v kartici od zadaj. Po potrebi previdno upognite mikrofon za 90 stopinj, da lahko plošča leži ravno za kartico. Priključite baterijo na Arduino s kablom tiskalnika in celotno zaporedje bi moralo delovati.

9. korak: Ustvarite sliko

Ustvarite sliko
Ustvarite sliko

Na mestu, kjer želite mikrofon, naredite luknjo. V vročem spajkalniku sem zažgal majhno luknjo in jo obrezal s škarjami, dokler se mikrofon ne prilega. Pobarvajte in prišite svojo rožo na tkanino. Ko se barva posuši, sliko pritrdite na vezen obroč in odrežite odvečno tkanino ter pustite majhno obrobo.

Če želite preveriti, ali katera od komponent vezja prihaja skozi tkanino, tkanino in obroč začasno položite na kartico z mikrofonom skozi luknjo. Po potrebi vezje prekrijemo s plastmi maskirnega traku, ki ga občasno preverjamo, dokler se komponente ne prikažejo več. LED diode so dovolj svetle, da jih je mogoče videti skozi plast maskirnega traku. Če morate dodati še več plasti, lahko LED osvetlite tako, da prilagodite kodo, kot je prikazano v 7. koraku.

Tkanino in obroč namestite nazaj na kartico kot prej in jo pritrdite tako, da dodatno tkanino prilepite na zadnjo stran voščilnice.

10. korak: Sestavite skupaj

Sestavljanje skupaj
Sestavljanje skupaj

Belo karto prilepite na krog valovitega kartona, ki obdaja mikrofon, ne pa tudi Arduina in akumulatorja, ki morata obiti rob kartona z žicami, ki gredo skozi reže.

Zadnji krog kartona pritrdite z ježkom, da boste lahko dostopali do baterije. V kartonu naredite luknjo, kamor jo želite obesiti na kavelj na steni.

11. korak: Učenje iz napak

Učenje iz napak
Učenje iz napak
Učenje iz napak
Učenje iz napak
Učenje iz napak
Učenje iz napak

Moj prvi poskus je bil z nalepkami za vezje in bakrenim trakom. Nalepke vezja so drobne LED diode, ki so površinsko nameščene na nalepke z bakrenimi blazinicami. Prihajajo iz podjetja Qi Jie, Chibitroniksa, in mislil sem, da bodo popolni.

Z bakrenim ali srebrnim trakom nisem mogel vzpostaviti zanesljive povezave in ko sem nalepil žico na nalepke, sem lahko še vedno prižgal le 3 LED nalepke z 9V baterijo. Postalo je jasno, da niso namenjeni za več lahkih projektov, kot sem upal. Ko sem podrobneje pogledal spletno stran o nalepkah za vezja, se je izkazal, da je projekt s 4 lučkami drugačen tip LED. Nalepke za vezje bi lahko napajal z 12V baterijo, vendar bi bile preveč velike, da bi se prilegale notranjosti slike.

Potem sem poskusil z LED za LED za kanalizacijo. Mislil sem, da bi bilo lažje priključiti samo napajanje in ozemljitev kot programabilne LED, ki imajo napajalne, ozemljitvene in podatkovne vodi. Vendar se je izkazalo za bolj zapleteno vezje, ki potrebuje dodaten napajalnik in MOSFET, česar nisem imel. Lahko bi uporabil kanalizacijske NeoPixels, vendar so dražje.

Tako sem po nekaj napačnih zagonih končal z nizom programabilnih LED, ki so poceni in enostavne za uporabo.

Priporočena: