Përmbajtje:

Luleradhiqe interaktive: 11 hapa (me fotografi)
Luleradhiqe interaktive: 11 hapa (me fotografi)

Video: Luleradhiqe interaktive: 11 hapa (me fotografi)

Video: Luleradhiqe interaktive: 11 hapa (me fotografi)
Video: История спасение дикого кабанчика. Кабанчик нуждался в помощи. 2024, Korrik
Anonim
Image
Image
Përgatitni Unazën NeoPixel
Përgatitni Unazën NeoPixel

Ky projekt tregon se si të bëni një pamje interaktive të një luleradhiqe. Fillon si një lule e verdhë me LED për petalet, pastaj shndërrohet në një orë të bardhë luleradhiqe, e cila mund të fryhet për të bërë që farat të shpërndahen.

Bazohet në një vepër arti të bukur nga Qi Jie, fotografia e së cilës u frymëzua nga një dizajn i vetëm lule nga Jessie Thompson dhe Zachory Berta. Unë e kam bërë timen në pëlhurë dhe e kam përshtatur në një rrip sixhade për të shkuar në murin e krijuesit të Teknologjisë dhe Tekstileve në Devon, Angli, si shembull i një projekti fillestar që kombinon qepjen me Arduino.

Video e pikturës së lehtë nga Qi Jie

Video e dizajnit të luleve të vetme nga Jessie Thompson dhe Zachory Berta

Kodi për të dy projektet ekzistuese është i disponueshëm dhe mendova se do të ishte i lehtë për tu bërë, por udhëzimet ishin minimale dhe u deshën disa përpjekje para se të gjeja një metodë që funksionoi. Pra, këtu janë udhëzimet e plota dhe këshilla për kursimin e kohës për një remix që kombinon elemente të të dy modeleve dhe rregullimeve të mia.

Detajet e asaj që nuk funksionoi për mua janë në fund për këdo që është i interesuar pse zgjodha këtë mënyrë.

Kodi për pikturën e lehtë nga Qi Jie

Kodi për foton e vogël të luleve nga Jessie Thompson dhe Zachory Berta

Materiale

  • Arduino UNO
  • Unaza Adafruit prej 12 neopixelësh
  • Rrip 5V me 11 LED RGB
  • Sensori i mikrofonit të zërit
  • Telat Jumper
  • Bateri e rimbushshme 5V me lidhje USB A
  • Kabllo printeri (kabllo USB A në B)
  • Ngjitës Pikat ose Ngjitës i nxehtë
  • Kartë A4
  • 30cm x 30cm Pëlhurë pambuku krem, siç është një jastëk i vjetër jastëku
  • Bojë e pëlhurës së gjelbër
  • Fije pambuku ngjyrë kafe
  • Karton i valëzuar 70cm x 50cm, siç janë kutitë e picave
  • Shirit maskimi
  • Kunja e Qëndisjes 9 inç për të kornizuar figurën
  • 9 Skeda Velcro vetë-ngjitëse

Mjetet

  • Një kompjuter me Arduino IDE u shkarkua
  • Saldim hekuri dhe saldim pa plumb
  • Tabela e bukës për qarkun e testimit
  • Heqës/prerës të telave
  • Gjilpërë qepëse
  • Stilolaps
  • Gërshërë

Hapi 1: Përgatitni Unazën NeoPixel

Lidhni tela me ngjyra të ndryshme në secilën prej jastëkëve të fuqisë, tokëzimit dhe të dhënave në anën e pasme të unazës NeoPixel.

Nëse keni një version të ndryshëm të unazës, telat tuaj mund të mos jenë në të njëjtin pozicion si fotografia ime.

Mbani shënim se cilat tela janë për hyrje dhe dalje, si dhe të dhëna pozitive, dhe tokë, sepse shenjat për këto janë në pjesën e poshtme të unazës dhe nuk do të jenë të dukshme kur unaza është në pozicion.

Hapi 2: Pritini shiritat e LED -ve

Pritini shiritat e LED -ve
Pritini shiritat e LED -ve
Pritini shiritat e LED -ve
Pritini shiritat e LED -ve

Pritini 11 LED individuale nga një brez LED RGB, duke u kujdesur që të shkurtoni përgjatë vijës qendrore për të lënë jastëkë lidhës në të dy anët e prerjes. Vendosni një pikë saldimi në anën e sipërme të secilës jastëk.

Hapi 3: Lidhni LED -et

Lidhni LED -et
Lidhni LED -et
Lidhni LED -et
Lidhni LED -et
Lidhni LED -et
Lidhni LED -et

Bëni një vrimë në mes të kartës për të përshtatur mikrofonin. Duke përdorur pika zam, ngjitni unazën e neo -pikselëve dhe LED -ve individualë në pozicionin siç tregohet, duke u siguruar që të gjitha shigjetat në LED -të do të rreshtohen në të njëjtën mënyrë kur margaritari të lidhet së bashku.

Ngjitni telat dalës nga unaza në LED -in e parë individual, duke përputhur telat pozitivë, tokëzues dhe të dhëna në të njëjtat shtresa në të dy LED -të.

Mënyra më e shpejtë dhe më e lehtë që kam gjetur për të bashkuar LED -të së bashku është të heqësh një tel bluzë në fije të veçanta bakri. Bashkangjitni një fillesë për të lidhur secilën prej jastëkëve të ngjitur në LED me tjetrën, duke përputhur të dhëna pozitive, dhe terren. Duhet vetëm një prekje e shpejtë e një hekuri të nxehtë për saldim sepse jastëkët janë ngjitur paraprakisht në hapin e mëparshëm. Në vend që të prisni telat në këtë fazë, çojini ato në pjesën e sipërme të LED për të arritur në jastëkët e ngjitur në anën tjetër. Duke u siguruar që asnjë tela të mos kalojë ose të prekë njëra -tjetrën, ngjitini ato pads dhe vazhdoni rrotull në anën hyrëse të LED -it të fundit.

Mos e lidhni një tel në anën e daljes të LED -it të fundit. Për dallim nga disa LED me të cilët mund të jeni të njohur, nuk keni nevojë të përfundoni një qark të rrumbullakët që merr energjinë përsëri në tokë pasi keni lidhur tela të veçantë dhe linja pozitive gjatë gjithë rrugës. Pritini të gjitha telat që kalojnë në pjesën e sipërme të LED -ve në mënyrë që të keni vetëm tela që lidhen midis tyre.

Këshillë: Për të parandaluar prekjen e telave kur shkoni në qoshe të rrumbullakëta, futini secilën përsëri në një rrip të vogël të izolimit plastik që ishte hequr më parë.

Hapi 4: Përgatitja e shpinës

Përgatitja e shpinës
Përgatitja e shpinës
Përgatitja e shpinës
Përgatitja e shpinës

Bëni një vrimë tjetër në kartën e bardhë për telat hyrës dhe shtyjini ato.

Ndani dy unazat e rrathit të sixhadeve. Vizatoni rrotull pjesën e jashtme të unazës më të vogël në 5 copa kartoni të valëzuar dhe prerë. Pritini vrimat në mes të 3 qarqeve afërsisht 2 cm nga buza për të bërë unaza dhe prerë një çarje 5 mm në secilën prej tyre. Ngjitni unazat njëra mbi tjetrën, duke i rreshtuar çarjet dhe ngjiteni këtë në një nga rrathët e mbetur të kartës.

Hapi 5: Instalimi i mikrofonit dhe Arduino

Instalimi i mikrofonit dhe Arduino
Instalimi i mikrofonit dhe Arduino
Instalimi i mikrofonit dhe Arduino
Instalimi i mikrofonit dhe Arduino

Lidhni Arduino tuaj me sensorin e mikrofonit dhe unazën LED siç tregohet. Kam përdorur TinkerCad për të krijuar diagramin e qarkut, i cili nuk ka një fotografi të mikrofonit, kështu që kam zëvendësuar një sensor tjetër që përdor të njëjtat kunja dhe punon në të njëjtën mënyrë në simulim.

Për të parë simulimin, shkoni te https://www.tinkercad.com/things/5cgI2wluA0c. Tërhiqeni rrethin e bashkangjitur me sensorin në zonën aktive për të simuluar fryrjen në mikrofon. LED -të janë në shirita në 6, kështu që LED -ja e fundit në simulim nuk është pjesë e dizajnit dhe nuk ndizet.

Hapi 6: Programimi i Arduino

Programimi i Arduino
Programimi i Arduino

Hapni Arduino IDE në kompjuterin tuaj dhe filloni një Skicë të re Fshini gjithçka brenda skicës dhe kopjoni dhe ngjisni këtë kod në të

// Përshtatur duke përdorur skicën e thjeshtë NeoPixel Ring (c) 2013 Shae Erisson // dhe kodin e sensorit nga https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Cila kunj në Arduino është i lidhur me NeoPixels? #define PIN 6 // Sa NeoPixel janë bashkangjitur në Arduino? #defino NUMPIXELS 23 // Kur vendosim bibliotekën NeoPixel, i tregojmë sa piksele dhe cilën kunjë të përdorim për të dërguar sinjale. // Vini re se për shiritat më të vjetër NeoPixel ju mund të keni nevojë të ndryshoni parametrin e tretë-shihni shembullin strandtest // për më shumë informacion mbi vlerat e mundshme. Piksela Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); vonesa int = 500; // vonesë për gjysmë sekondë int sensorPin = A0; // zgjidhni pinin e hyrjes për sensorin int sensorValue = 0; // ndryshore për të ruajtur vlerën që vjen nga pragu i konst int të sensorit = 200; // një nivel prag arbitrar që është në rangun e konfigurimit të zbrazëtisë së hyrjes analoge () {pixels.begin (); // Kjo inicializon bibliotekën NeoPixel. pixels.setBrightness (20); // Vendosni shkëlqimin Serial.begin (9600); } void loop () {// Për një grup NeoPixels NeoPixel i parë është 0, i dyti është 1, deri në numërimin e pikselave minus një. // LED të luleradhiqes // pikselë. Ngjyra merr vlera RGB, nga 0, 0, 0 deri në 255, 255, 255 pikselë. SetPixelColor (0, piksele. Ngjyra (0, 0, 0)); // Joaktiv. pixels.setPixelColor (1, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (2, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (3, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (4, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (6, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (8, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (9, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (10, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (11, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Joaktiv. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesë (vonesë*6); // Ndryshim gradual nga lulja në kokën e farës // pikselë. Ngjyra merr vlera RGB, nga 0, 0, 0 deri në 255, 255, 255 piksele. setPixelColor (0, piksele. Ngjyra (0, 0, 0)); // Joaktiv. pixels.setPixelColor (1, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (2, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (3, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (4, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (5, pixel. Color (226, 246, 255)); // pikselë të bardhë të kaltër.setPixelColor (6, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (7, pixel. Color (226, 246, 255)); // pikselë të bardhë të kaltër.setPixelColor (8, pikselë. Ngjyra (255, 165, 0)); // Portokalli. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // pikselë të bardhë të kaltër.setPixelColor (10, piksele. Ngjyra (255, 165, 0)); // Portokalli. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // bardh e kaltër. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Joaktiv. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesë (vonesë*6); // Koka e farës LEDs pixel.setPixelColor (0, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (1, pixel. Color (0, 0, 0)); // pa piksele.setPixelColor (2, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (3, pixel. Color (0, 0, 0)); // pa piksele.setPixelColor (4, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (9, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // pa piksele.setPixelColor (12, pikselë. Ngjyra (0, 0, 0)); // Joaktiv. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Joaktiv. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesë (vonesë*3); // Vonesa për një periudhë kohe (në milisekonda). pixels.setPixelColor (0, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (1, pixel. Color (0, 0, 0)); // pa piksele.setPixelColor (2, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (3, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (5, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (7, pixel. Color (255, 165, 0)); // Portokalli. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Joaktiv. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesë (vonesë*3); // Vonesa për një periudhë kohe (në milisekonda). pixels.setPixelColor (0, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (1, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (2, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (3, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (4, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (5, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (6, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (7, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (8, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (9, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (10, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (11, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Joaktiv. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesë (vonesë); // Vonesa për një periudhë kohe (në milisekonda). // Lexoni vlerën e sensorit dhe shfaqeni në monitorin serik sensorValue = analogRead (sensorPin); Serial.println (sensorVlera); vonesë (250); // Ndërsa vlera e sensorit është më e vogël se pragu, kontrolloni vlerën e sensorit dhe printojeni në monitorin serik. Kur vlera është mbi pragun, skica mund të vazhdojë ndërsa (sensorValue <pragu) {sensorValue = analogRead (sensorPin); Serial.println (sensorVlera); vonesë (250); } // LEDs e parë të erës pixel.setPixelColor (0, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (1, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (2, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (3, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (4, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (5, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (6, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (7, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (8, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (9, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (10, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (11, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (12, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (13, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (14, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (15, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (16, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (17, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (18, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (19, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (20, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (21, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (22, pixel. Color (0, 0, 0)); // Joaktiv. piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesë (vonesë); // Vonesa për një periudhë kohe (në milisekonda). // LED të erës së dytë pixel.setPixelColor (0, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (1, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (2, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (3, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (4, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (5, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (6, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (7, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (8, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (9, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (10, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (11, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (12, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (13, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (14, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (15, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (16, pixel. Color (0, 0, 0)); // Joaktiv. pixels.setPixelColor (17, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (18, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (19, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (20, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (21, pixel. Color (226, 246, 255)); // E bardhë kaltërosh. pixels.setPixelColor (22, pixel. Color (226, 246, 255)); // E bardhë kaltërosh.piksele.shfaq (); // Kjo dërgon ngjyrën e azhurnuar të pikselit në harduer. vonesa (2000); // Vonesa për një periudhë kohe (në milisekonda). }

Bashkangjitni Arduino -n tuaj në kompjuter me kabllon e printerit USB

Shkoni te Tools> Board dhe zgjidhni bordin Arduino/Genuino UNO

Shkoni te Porti dhe sigurohuni që bordi të jetë lidhur me portën e duhur USB. Nëse nuk jeni të sigurt, mund të shkëputni Arduino dhe të shihni se cila portë zhduket nga lista. Lidheni përsëri dhe porti do të listohet përsëri.

Ngarko skicën duke klikuar në ikonën Ngarko, e treguar në foton e shënuar. Dritat duhet të ndizen në Arduino ndërsa ngarkohet. Kur të përfundojë ngarkimi i gjysmës së LED -ve në unazën neo pixel do të ndizet e verdha dhe më pas do të ndryshojë në një unazë të plotë të dritave të bardha. Godit mikrofonin për të testuar qarkun. LED -të në shtresat e jashtme duhet të ndizen me radhë. Kontrolloni lidhësin në çdo LED që nuk funksionon.

Hapi 7: Ndryshimi i Pragut të Ngjyrave, Ndriçimit dhe Sensorit

Ndryshimi i Pragut të Ngjyrave, Ndriçimit dhe Sensorit
Ndryshimi i Pragut të Ngjyrave, Ndriçimit dhe Sensorit
Ndryshimi i Pragut të Ngjyrave, Ndriçimit dhe Sensorit
Ndryshimi i Pragut të Ngjyrave, Ndriçimit dhe Sensorit

Ngjyrat

Ngjyrat e LED -ve vendosen duke përdorur vlerat e ngjyrave RGB (E kuqe e gjelbër blu). Nëse preferoni të përdorni ngjyra të ndryshme nga ato që kam përdorur, ju mund të gjeni vlerat për ngjyrat që dëshironi duke përdorur një llogaritës të ngjyrave RGB në internet siç është www.w3schools.com/colors/colors_rgb.asp

Për të fikur një LED, përdorni vlerat 0, 0, 0.

Për të vendosur LED në të bardhë, përdorni vlerat 255, 255, 255. Kodi në hapin e mëparshëm përdor një ngjyrë të bardhë kaltërosh me vlerat 226, 246, 255 dhe një portokalli me vlerat 255, 165, 0.

Ndriçimi

Për të ndryshuar shkëlqimin e LED -ve, shkoni te pjesa e konfigurimit të zbrazëta të kodit dhe gjeni rreshtin e mëposhtëm të kodit:

pixels.setBrightness (20); // Vendosni shkëlqimin

Ndryshoni numrin në kllapa për të ndryshuar shkëlqimin e LED -ve.

Pragu i sensorit

Kur drejtoni programin, gjysma e unazës NeoPixel fillon të verdhë për të përfaqësuar një lule dhe gradualisht ndryshon në një rreth të plotë LED të bardhë për të përfaqësuar kokën e farës. Në këtë pikë programi duhet të ndalojë derisa të fryni në sensorin e mikrofonit. Nëse programi vazhdon dhe ndriçon shtresat e jashtme të LED -ve pa aktivizim nga sensori, shkoni te pjesa e konfigurimit të zbrazëta të kodit dhe ulni vlerën e treguar më poshtë. Rritni vlerën nëse programi ndalon, por nuk përgjigjet kur godisni sensorin.

const int pragu = 200;

Hapi 8: Duke e bërë qarkun më të përhershëm

Duke e bërë qarkun më të përhershëm
Duke e bërë qarkun më të përhershëm

Kur qarku funksionon, shkëputeni Arduino nga kompjuteri dhe hiqni sensorin e mikrofonit nga pllaka e bukës. Lidhni telat nga Arduino në sensorin e mikrofonit për ta bërë të njëjtin qark më të përhershëm. Shtyjeni mikrofonin përmes vrimës së kartës nga prapa. Nëse është e nevojshme, përkulni me kujdes mikrofonin me 90 gradë në mënyrë që tabela të qëndrojë e sheshtë prapa kartës. Bashkangjiteni baterinë në Arduino duke përdorur kabllon e printerit dhe e gjithë sekuenca duhet të funksionojë.

Hapi 9: Krijoni një fotografi

Krijo një fotografi
Krijo një fotografi

Bëni një vrimë në pëlhurën tuaj ku dëshironi mikrofonin. Kam përdorur një hekur bashkues të nxehtë për të djegur një vrimë të vogël dhe e kam prerë me gërshërë derisa mikrofoni të vendoset. Ngjyrosni dhe qepni lulen tuaj në pëlhurë. Kur boja të thahet, ngjiteni pikturën në kunjin e qëndisjes dhe shkurtoni pëlhurën e tepërt, duke lënë një kufi të vogël.

Për të parë nëse ndonjë nga komponentët e qarkut shfaqet përmes pëlhurës, vendosni përkohësisht pëlhurën dhe kapeni në krye të kartës me mikrofonin që shfaqet përmes vrimës. Nëse është e nevojshme, mbuloni qarkun me shtresa të shiritit maskues, duke kontrolluar herë pas here, derisa përbërësit të mos shfaqen më. LED -të janë mjaft të ndritshme për tu parë përmes një shtrese kasetë maskimi. Nëse duhet të shtoni edhe më shumë shtresa, mund t'i bëni LED -të më të ndritshme duke rregulluar kodin tuaj siç tregohet në Hapin 7.

Vendoseni pëlhurën dhe kapeni përsëri në krye të kartës si më parë dhe sigurojini në vend duke ngjitur pëlhurën shtesë mbi pjesën e pasme të kartës.

Hapi 10: Vendosja së bashku

Duke e vënë atë së bashku
Duke e vënë atë së bashku

Ngjiteni kartën e bardhë në rrethin e kartonit të valëzuar, duke mbyllur mikrofonin, por jo paketën Arduino dhe baterinë, e cila duhet të kalojë në skajin e kartonit me telat që kalojnë nëpër çarje.

Bashkangjitni rrethin e fundit të kartonit me Velcro në mënyrë që të keni qasje në baterinë. Bëni një vrimë në karton ku dëshironi ta varni në një grep në mur.

Hapi 11: Mësoni Nga Gabimet

Mësimi Nga Gabimet
Mësimi Nga Gabimet
Mësimi Nga Gabimet
Mësimi Nga Gabimet
Mësimi Nga Gabimet
Mësimi Nga Gabimet

Përpjekja ime e parë ishte me afishe qarkore dhe shirit bakri. Ngjitëset e qarkut janë sipërfaqe të vogla LED të montuara në afishe me jastëkë bakri. Ata vijnë nga kompania e Qi Jie, Chibitroniks, dhe mendova se do të ishin perfekte.

Unë nuk mund të kisha një lidhje të besueshme duke përdorur shirit bakri ose shirit argjendi dhe kur bashkova tela në afishe mund të ndriçoja vetëm një seri prej 3 afisheve LED duke përdorur një bateri 9V. U bë e qartë se ato nuk janë të destinuara për projekte shumë të lehta siç shpresoja. Kur shikova më nga afër një faqe në internet për ngjitësit e qarkut, një projekt me 4 drita doli të ishte një lloj tjetër LED. Unë mund të ndez ngjitësit e qarkut me një bateri 12V, por do të ishte shumë e rëndë për t'u përshtatur brenda figurës.

Pastaj provova LED të qepshëm. Mendova se të kishe vetëm fuqi dhe tokë do të ishte më e lehtë për t'u lidhur sesa LED -të e programueshëm të cilët kanë linja të energjisë, tokëzimit dhe të dhënave. Por doli të ishte një qark më i ndërlikuar që kishte nevojë për një furnizim shtesë të energjisë dhe një MOSFET, të cilin nuk e kisha. Mund të kisha përdorur NeoPixels të qepshëm, por ato janë më të shtrenjta.

Pra, pas disa fillimeve të rreme, përfundova me një varg LED të programueshëm të cilët janë të lirë dhe të lehtë për t'u përdorur.

Recommended: