Satura rādītājs:

Interaktīvā pienene: 11 soļi (ar attēliem)
Interaktīvā pienene: 11 soļi (ar attēliem)

Video: Interaktīvā pienene: 11 soļi (ar attēliem)

Video: Interaktīvā pienene: 11 soļi (ar attēliem)
Video: Вся правда о Куликовской Битве 2024, Novembris
Anonim
Image
Image
Sagatavojiet NeoPixel gredzenu
Sagatavojiet NeoPixel gredzenu

Šis projekts parāda, kā izveidot interaktīvu pieneņu attēlu. Tas sākas kā dzeltens zieds ar gaismas diodēm ziedlapiņām, pēc tam pārvēršas par baltu pieneņu pulksteni, kuru var uzpūst, lai sēklas izkliedētos.

Tas ir balstīts uz skaistu Qi Jie mākslas darbu, kura attēlu iedvesmoja Džesija Tompsone un Zakorija Berta. Es izveidoju savu uz auduma un ierāmēju to gobelēna stīpā, lai dotos uz Tech un Textiles veidotāja sienas Devonas, Anglijā, kā piemēru iesācēju projektam, kas apvieno šūšanu ar Arduino.

Gai Gje gleznas video

Jessie Thompson un Zachory Berta video par viena zieda dizainu

Abu esošo projektu kods ir pieejams, un es domāju, ka to būs viegli izveidot, taču instrukcijas bija minimālas, un vajadzēja vairākus mēģinājumus, pirms es atradu metodi, kas darbojās. Tātad šeit ir pilnas instrukcijas un laika taupīšanas padomi remiksam, kurā ir apvienoti gan dizaina elementi, gan manis veiktie pielāgojumi.

Sīkāka informācija par to, kas man nedarbojās, beigās ir visiem, kurus interesē, kāpēc es izvēlējos šo ceļu.

Gai gleznas kods, ko veidojis Qi Jie

Jessie Thompson un Zachory Berta mazu ziedu attēla kods

Materiāli

  • Arduino UNO
  • Adafruit gredzens no 12 neopikseļiem
  • 5 V sloksne ar 11 RGB gaismas diodēm
  • Skaņas mikrofona sensors
  • Jumper vadi
  • 5V uzlādējams akumulators ar USB A savienojumu
  • Printera kabelis (USB A līdz B kabelis)
  • Līmes punkti vai karstā līme
  • A4 karte
  • 30 cm x 30 cm krēmveida kokvilnas audums, piemēram, vecs spilvendrāna
  • Zaļa auduma krāsa
  • Brūns kokvilnas pavediens
  • 70 cm x 50 cm gofrēts kartons, piemēram, picas kastes
  • Maskēšanas lente
  • 9 collu izšūšanas stīpa attēla ierāmēšanai
  • 9 pašlīmējošas Velcro cilnes

Rīki

  • Lejupielādēts dators ar Arduino IDE
  • Lodāmurs un bezsvina lodmetāls
  • Maizes dēlis ķēdes testēšanai
  • Stiepļu noņēmējs/griezēji
  • Šūšanas adata
  • Pildspalva
  • Šķēres

1. darbība: sagatavojiet NeoPixel gredzenu

Lodējiet dažādu krāsu vadus katram strāvas, zemes un datu spilventiņam NeoPixel gredzena aizmugurē.

Ja jums ir cita gredzena versija, jūsu vadi var nebūt tādā pašā stāvoklī kā mans fotoattēls.

Pierakstiet, kuri vadi ir paredzēti ieejai un izvadei, kā arī pozitīvus, datus un zemējumu, jo marķējumi tiem ir gredzena apakšpusē un nebūs redzami, kad gredzens būs savā vietā.

2. darbība: izgrieziet gaismas diodes sloksnes

Izgrieziet gaismas diodes sloksnes
Izgrieziet gaismas diodes sloksnes
Izgrieziet gaismas diodes sloksnes
Izgrieziet gaismas diodes sloksnes

Izgrieziet 11 atsevišķas gaismas diodes no RGB gaismas diodes sloksnes, rūpējoties par to, lai grieztu gar centra līniju, lai abās griezuma pusēs paliktu lodēšanas spilventiņi. Katras spilventiņa augšējā pusē notīriet lodēšanas lāse.

3. solis: lodējiet gaismas diodes

Lodējiet gaismas diodes
Lodējiet gaismas diodes
Lodējiet gaismas diodes
Lodējiet gaismas diodes
Lodējiet gaismas diodes
Lodējiet gaismas diodes

Kartītes vidū izveidojiet caurumu, lai tas ietilptu mikrofonā. Izmantojot līmes punktus, pielīmējiet neo pikseļu gredzenu un atsevišķas gaismas diodes pozīcijā, kā parādīts attēlā, pārliecinoties, ka visas gaismas diodes bultiņas sakrīt vienādi.

Lodējiet izejas vadus no gredzena līdz pirmajam atsevišķam LED, savienojot pozitīvos, zemējuma un datu vadus ar vienādiem spilventiņiem abās gaismas diodēs.

Ātrākais un vienkāršākais veids, kā atrast gaismas diodes, ir atvienot džempera vadu atsevišķos vara pavedienos. Pievienojiet vienu pavedienu, lai savienotu katru LED lodēto spilventiņu ar nākamo, saskaņojot pozitīvos, datus un zemējumu. Tas tikai ātri pieskaras karstam lodāmurim, jo spilventiņi ir iepriekš lodēti iepriekšējā solī. Tā vietā, lai šajā posmā nogrieztu vadus, pārvietojiet tos pāri gaismas diodes augšdaļai, lai sasniegtu pielodētos spilventiņus otrā pusē. Pārliecinoties, ka vadi nekrustojas un nepieskaras viens otram, pielodējiet šos spilventiņus un turpiniet noapaļot līdz pēdējās gaismas diodes ievades pusei.

Nepiestipriniet vadu pie pēdējās gaismas diodes izejas puses. Atšķirībā no dažām gaismas diodēm, kuras jūs, iespējams, pazīstat, jums nav jāpabeidz apaļa ķēde, kas atgriež strāvu zemē, jo visu laiku esat vadījis atsevišķu zemējumu un pozitīvas līnijas. Izgrieziet visus vadus, kas šķērso gaismas diodes augšpusi, lai starp tiem būtu tikai vadi.

Padoms. Lai novērstu stiepļu pieskārienu, veicot apaļus stūrus, pavediet katru no tiem atpakaļ nelielā plastmasas izolācijas sloksnē, kas iepriekš tika noņemta.

4. solis: muguras sagatavošana

Muguras sagatavošana
Muguras sagatavošana
Muguras sagatavošana
Muguras sagatavošana

Izveidojiet vēl vienu caurumu baltajā kartē ieejas vadiem un spiediet tos cauri.

Atdaliet divus gobelēna stīpas gredzenus. Uzzīmējiet mazākā gredzena ārpusi uz 5 gofrētās kartītes gabaliem un izgrieziet. Izgrieziet caurumus 3 apļu vidū apmēram 2 cm attālumā no malas, lai izveidotu gredzenus, un katrā no tiem izgrieziet 5 mm spraugu. Līmējiet gredzenus vienu virs otra, izlīdzinot spraugas, un pielīmējiet to vienam no atlikušajiem kartes apļiem.

5. darbība: pieslēdziet mikrofonu un Arduino

Mikrofona un Arduino vadu savienošana
Mikrofona un Arduino vadu savienošana
Mikrofona un Arduino vadu savienošana
Mikrofona un Arduino vadu savienošana

Pievienojiet Arduino pie mikrofona sensora un LED gredzena, kā parādīts attēlā. Es izmantoju TinkerCad, lai izveidotu shēmu, kurai nav mikrofona attēla, tāpēc esmu nomainījis citu sensoru, kas izmanto tās pašas tapas un simulācijā darbojas vienādi.

Lai apskatītu simulāciju, dodieties uz vietni https://www.tinkercad.com/things/5cgI2wluA0c. Velciet sensoram pievienoto apli uz aktīvo zonu, lai simulētu pūšanu mikrofonā. Gaismas diodes ir sloksnēs pa 6, tāpēc pēdējais simulācijas gaismas diode nav dizaina sastāvdaļa un nedeg.

6. solis: Arduino programmēšana

Arduino programmēšana
Arduino programmēšana

Datorā atveriet Arduino IDE un sāciet jaunu skici Izdzēsiet visu skices iekšpusē un tā vietā nokopējiet un ielīmējiet šo kodu

// Pielāgots, izmantojot NeoPixel Ring vienkāršo skici (c) 2013 Shae Erisson // un sensora kodu no https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Kura tapa uz Arduino ir savienots ar NeoPixels? #define PIN 6 // Cik NeoPikseļu ir pievienoti Arduino? #define NUMPIXELS 23 // Iestatot NeoPixel bibliotēku, mēs norādām, cik pikseļu un kuru tapu izmantot signālu nosūtīšanai. // Ņemiet vērā, ka vecākām NeoPixel sloksnēm jums, iespējams, būs jāmaina trešais parametrs-lai iegūtu plašāku informāciju par iespējamām vērtībām, skatiet piemēru strandtest //. Adafruit_NeoPixel pikseļi = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // kavēšanās uz pussekundi int sensorsPin = A0; // atlasiet sensora ievades tapu int sensorValue = 0; // mainīgais, lai saglabātu vērtību, kas nāk no sensora const int slieksnis = 200; // patvaļīgs sliekšņa līmenis, kas atrodas analogās ieejas void setup () diapazonā () {pixels.begin (); // Tas inicializē NeoPixel bibliotēku. pikseļi.setBrightness (20); // Iestatīt spilgtumu Serial.begin (9600); } void loop () {// NeoPikseļu kopai pirmais NeoPixel ir 0, otrais ir 1, līdz pat pikseļu skaitam mīnus viens. // Pieneņu gaismas diodes // pikseļi. Krāsa uzņem RGB vērtības no 0, 0, 0 līdz 255, 255, 255 pikseļi. SetPixelColor (0, pikseļi. Krāsa (0, 0, 0)); // Izslēgts. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (6, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (8, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (10, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (11, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Izslēgts. pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. aizkave (delayval*6); // Pakāpeniska pāreja no zieda uz sēklas galvu // pikseļi. Krāsa ņem RGB vērtības no 0, 0, 0 līdz 255, 255, 255 pikseļi. setPixelColor (0, pikseļi. Krāsa (0, 0, 0)); // Izslēgts. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // zilgani balti pikseļi.setPixelColor (6, pikseļi. Krāsa (255, 165, 0)); // Apelsīns. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // zilgani balti pikseļi.setPixelColor (8, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // zilgani balti pikseļi.setPixelColor (10, pikseļi. Krāsa (255, 165, 0)); // Apelsīns. pixels.setPixelColor (11, pikseļi. Krāsa (226, 246, 255)); // zilgani balts. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Izslēgts. pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. kavēšanās (delayval*6); // Sēklu galvas gaismas diodes pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (11, pikseļi. Krāsa (226, 246, 255)); // off pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Izslēgts. pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. kavēšanās (delayval*3); // Kavēšanās uz noteiktu laiku (milisekundēs). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Apelsīns. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (11, pikseļi. Krāsa (226, 246, 255)); // zilgani balts. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Izslēgts. pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. kavēšanās (delayval*3); // Kavēšanās uz noteiktu laiku (milisekundēs). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (1, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (11, pikseļi. Krāsa (226, 246, 255)); // zilgani balts. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Izslēgts. pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. kavēšanās (kavēšanās); // Kavēšanās uz noteiktu laiku (milisekundēs). // Nolasiet sensora vērtību un parādiet to sērijveida monitorā sensorValue = analogRead (sensorPin); Serial.println (sensorValue); kavēšanās (250); // Kamēr sensora vērtība ir mazāka par slieksni, pārbaudiet sensora vērtību un izdrukājiet to sērijas monitorā. Kad vērtība ir virs sliekšņa, skici var turpināt, kamēr (sensorValue <slieksnis) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); kavēšanās (250); } // Pirmās vēja gaismas diodes pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (12, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (13, pikseļi. Krāsa (226, 246, 255)); // zilgani balts. pixels.setPixelColor (14, pikseļi. Krāsa (226, 246, 255)); // zilgani balts. pixels.setPixelColor (15, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (16, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Izslēgts. pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. kavēšanās (kavēšanās); // Kavēšanās uz noteiktu laiku (milisekundēs). // Otrā vēja gaismas diodes pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Izslēgts. pixels.setPixelColor (17, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (18, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (19, pikseļi. Krāsa (226, 246, 255)); // zilgani balts. pixels.setPixelColor (20, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (21, pixels. Color (226, 246, 255)); // zilgani balts. pixels.setPixelColor (22, pixels. Color (226, 246, 255)); // zilgani balts.pikseļi.parādīt (); // Tādējādi aparatūrai tiek nosūtīta atjauninātā pikseļu krāsa. kavēšanās (2000); // Kavēšanās uz noteiktu laiku (milisekundēs). }

Pievienojiet savu Arduino datoram, izmantojot USB printera kabeli

Dodieties uz Rīki> Padome un atlasiet Arduino/Genuino UNO dēli

Dodieties uz ostu un pārliecinieties, vai tāfele ir pievienota pareizajam USB portam. Ja neesat pārliecināts, varat atvienot Arduino kontaktligzdu un redzēt, kurš ports pazūd no saraksta. Pievienojiet to atpakaļ, un ports tiks atkal uzskaitīts.

Augšupielādējiet skici, noklikšķinot uz augšupielādes ikonas, kas parādīta fotoattēlā ar anotāciju. Augšupielādes laikā Arduino vajadzētu mirgot gaismām. Kad būs pabeigta augšupielāde, neo pikseļu gredzena gaismas diodes iedegsies dzeltenā krāsā un pēc tam mainīsies uz pilnu baltu lukturu gredzenu. Pūtiet mikrofonu, lai pārbaudītu ķēdi. Gaismas diodēm ārējos slāņos vajadzētu iedegties pēc kārtas. Pārbaudiet lodmetālu uz visām gaismas diodēm, kas nedarbojas.

7. darbība: krāsu, spilgtuma un sensora sliekšņa maiņa

Krāsu, spilgtuma un sensora sliekšņa maiņa
Krāsu, spilgtuma un sensora sliekšņa maiņa
Krāsu, spilgtuma un sensora sliekšņa maiņa
Krāsu, spilgtuma un sensora sliekšņa maiņa

Krāsas

Gaismas diodes krāsas tiek iestatītas, izmantojot RGB (sarkanā zaļā zilā) krāsu vērtības. Ja vēlaties izmantot citas krāsas, nekā es esmu izmantojis, vēlamo krāsu vērtības varat atrast, izmantojot tiešsaistes RGB krāsu kalkulatoru, piemēram, www.w3schools.com/colors/colors_rgb.asp

Lai izslēgtu gaismas diodi, izmantojiet vērtības 0, 0, 0.

Lai diodi iestatītu uz baltu, izmantojiet vērtības 255, 255, 255. Iepriekšējā solī izmantotais kods izmanto zilgani baltu krāsu ar vērtībām 226, 246, 255 un oranžu ar vērtībām 255, 165, 0.

Spilgtums

Lai mainītu gaismas diožu spilgtumu, dodieties uz koda tukšās iestatīšanas sadaļu un atrodiet šādu koda rindu:

pikseļi.setBrightness (20); // Iestatiet spilgtumu

Rediģējiet iekavās esošo numuru, lai mainītu gaismas diodes spilgtumu.

Sensora slieksnis

Palaižot programmu, puse NeoPixel gredzena sākas dzeltenā krāsā, lai attēlotu ziedu, un pakāpeniski mainās uz pilnu baltu gaismas diodes loku, lai attēlotu sēklas galvu. Šajā brīdī programmai vajadzētu apstāties, līdz jūs iepūsit mikrofona sensoru. Ja programma turpinās un iedegas gaismas diodes ārējos slāņos, neaktivizējot sensoru, dodieties uz koda tukšuma iestatīšanas sadaļu un pazeminiet zemāk redzamo vērtību. Palieliniet vērtību, ja programma pārtrauc darbību, bet nereaģē, kad uzpūšat sensoru.

const int slieksnis = 200;

8. solis: padariet ķēdi pastāvīgāku

Ķēdes padarīšana pastāvīgāka
Ķēdes padarīšana pastāvīgāka

Kad ķēde darbojas, atvienojiet Arduino no datora un noņemiet mikrofona sensoru no maizes dēļa. Lodējiet vadus no Arduino līdz mikrofona sensoram, lai padarītu to pašu ķēdi pastāvīgāku. Izvelciet mikrofonu caur kartes caurumu no aizmugures. Ja nepieciešams, uzmanīgi salieciet mikrofonu par 90 grādiem, lai tāfele varētu novietot līdzenumu aiz kartes. Pievienojiet akumulatoru Arduino, izmantojot printera kabeli, un visai secībai vajadzētu darboties.

9. darbība: izveidojiet attēlu

Izveidojiet attēlu
Izveidojiet attēlu

Izveidojiet caurumu audumā, kur vēlaties mikrofonu. Es izmantoju karstu lodāmuru, lai sadedzinātu nelielu caurumu, un apgriezu to ar šķērēm, līdz mikrofons iederas. Krāsojiet un šujiet ziedu uz auduma. Kad krāsa izžūst, piestipriniet gleznu pie izšūšanas stīpas un nogrieziet lieko audumu, atstājot nelielu apmali.

Lai redzētu, vai kāds no ķēdes komponentiem iziet cauri audumam, īslaicīgi novietojiet audumu un stīpiņu uz kartes augšpuses, un mikrofons ir redzams caur caurumu. Ja nepieciešams, pārklājiet ķēdi ar maskēšanas lentes slāņiem, laiku pa laikam pārbaudot, līdz komponenti vairs netiek rādīti. Gaismas diodes ir pietiekami spilgtas, lai tās varētu redzēt caur maskēšanas lentes slāni. Ja jums jāpievieno vēl vairāk slāņu, varat padarīt gaismas diodes gaišākas, pielāgojot kodu, kā parādīts 7. darbībā.

Novietojiet audumu un stīpu atpakaļ uz kartes, kā iepriekš, un nostipriniet to vietā, pielīmējot papildu audumu virs kartes aizmugures.

10. solis: salieciet to kopā

Liekot to kopā
Liekot to kopā

Līmējiet balto kartīti uz gofrētā kartona apļa, iekļaujot mikrofonu, bet ne Arduino un akumulatoru, kuriem jāiet ap kartona malu ar vadiem, kas iet caur spraugām.

Piestipriniet pēdējo kartona apli ar Velcro, lai varētu piekļūt akumulatoram. Izveidojiet caurumu kartonā, kur vēlaties to pakārt uz āķa pie sienas.

11. solis. Mācīties no kļūdām

Mācoties no kļūdām
Mācoties no kļūdām
Mācoties no kļūdām
Mācoties no kļūdām
Mācoties no kļūdām
Mācoties no kļūdām

Mans pirmais mēģinājums bija ar ķēdes uzlīmēm un vara lenti. Ķēdes uzlīmes ir niecīgas gaismas diodes, kas uzmontētas uz uzlīmēm ar vara spilventiņiem. Viņi nāk no Qi Jie uzņēmuma Chibitroniks, un es domāju, ka viņi būtu ideāli.

Es nevarēju iegūt uzticamu savienojumu, izmantojot vara lentu vai sudraba lenti, un, pielīmējot vadu pie uzlīmēm, es joprojām varēju izgaismot tikai 3 LED uzlīmes, izmantojot 9 V akumulatoru. Kļuva skaidrs, ka tie nav paredzēti vairākiem viegliem projektiem, kā es cerēju. Kad es uzmanīgāk apskatīju tīmekļa lapu par shēmas uzlīmēm, projekts ar 4 gaismām izrādījās cita veida gaismas diodes. Es varētu barot ķēdes uzlīmes ar 12 V akumulatoru, bet tas būtu pārāk apjomīgs, lai ietilptu attēlā.

Tad es izmēģināju šujamas gaismas diodes. Es domāju, ka ar vadu un zemi būtu vieglāk pieslēgt vadu nekā programmējamas gaismas diodes, kurām ir barošanas, zemes un datu līnijas. Bet tā izrādījās sarežģītāka ķēde, kurai bija nepieciešams papildu barošanas avots un MOSFET, kas man nebija. Es varēju izmantot šujamus NeoPixels, bet tie ir dārgāki.

Tāpēc pēc dažiem viltus startiem es saņēmu virkni programmējamu gaismas diožu, kas ir lētas un viegli lietojamas.

Ieteicams: