Sadržaj:

Interaktivni maslačak: 11 koraka (sa slikama)
Interaktivni maslačak: 11 koraka (sa slikama)

Video: Interaktivni maslačak: 11 koraka (sa slikama)

Video: Interaktivni maslačak: 11 koraka (sa slikama)
Video: Тополь цветёт_Рассказ_Слушать 2024, Studeni
Anonim
Image
Image
Pripremite prsten NeoPixel
Pripremite prsten NeoPixel

Ovaj projekt pokazuje kako napraviti interaktivnu sliku maslačka. Počinje kao žuti cvijet sa LED diodama za latice, a zatim se pretvara u bijeli sat od maslačka, na koji se može puhati kako bi se sjeme raspršilo.

Temelji se na prekrasnom umjetničkom djelu Qi Jiea, čija je slika inspirirana dizajnom jednog cvijeta Jessie Thompson i Zachory Berta. Napravio sam svoj na tkanini i uokvirio ga u obruč od tapiserije kako bi išao na zid proizvodnog prostora Tech and Textiles u Devonu u Engleskoj, kao primjer projekta za početnike koji kombinira šivanje s Arduinom.

Videozapis slikanja svjetlom, Qi Jie

Videozapis dizajna jednog cvijeta Jessie Thompson i Zachory Berta

Kod za oba postojeća projekta je dostupan i mislio sam da će ga biti lako napraviti, ali upute su bile minimalne i trebalo je nekoliko pokušaja prije nego što sam pronašao metodu koja je djelovala. Dakle, ovdje su potpune upute i savjeti za uštedu vremena za remix koji kombinira elemente moga dizajna i ugađanja.

Pojedinosti o tome što mi nije uspjelo su na kraju za svakoga koga zanima zašto sam se odlučio na ovaj način.

Šifra za svjetlopis Qi Jie

Kôd za sliku s malim cvijećem Jessie Thompson i Zachory Berta

Materijali

  • Arduino UNO
  • Adafruit prsten od 12 neopiksela
  • 5V traka od 11 RGB LED dioda
  • Senzor mikrofona za zvuk
  • Žice za kratkospojnike
  • Punjiva baterija od 5 V s USB A vezom
  • Kabel pisača (USB A do B kabel)
  • Ljepljive točke ili vruće ljepilo
  • A4 kartica
  • 30 cm x 30 cm krem pamučna tkanina, poput stare jastučnice
  • Boja za zelenu tkaninu
  • Smeđi pamučni konac
  • 70 cm x 50 cm valoviti karton, poput kutija za pizzu
  • Samoljepljiva traka
  • 9 inčni vez za obrub slike
  • 9 samoljepljivih čičak traka

Alati

  • Računalo s Arduino IDE -om preuzeto
  • Lemilica i lemilo bez olova
  • Oglasna ploča za krug ispitivanja
  • Skidač žice/rezači
  • Šivaća igla
  • Olovka
  • Škare

Korak 1: Pripremite prsten NeoPixel

Lemite žice različitih boja na svaki od priključaka za napajanje, masu i podatke na stražnjoj strani NeoPixel prstena.

Ako imate drugu verziju prstena, vaše žice možda neće biti na istom položaju kao moja fotografija.

Zabilježite koje su žice za ulaz i izlaz, kao i pozitivne, podatke i uzemljenje jer se oznake za njih nalaze na donjoj strani prstena i neće biti vidljive kada je prsten na svom mjestu.

Korak 2: Izrežite trake LED dioda

Izrežite LED trake
Izrežite LED trake
Izrežite LED trake
Izrežite LED trake

Izrežite 11 pojedinačnih LED dioda iz trake RGB LED dioda, vodeći računa da režete po središnjoj liniji kako biste ostavili jastučiće za lemljenje s obje strane reza. Utisnite mrlju lema na gornju stranu svakog jastučića.

Korak 3: Lemite LED diode

Lemiti LED diode
Lemiti LED diode
Lemiti LED diode
Lemiti LED diode
Lemiti LED diode
Lemiti LED diode

Napravite rupu u sredini kartice da stane na mikrofon. Pomoću točkica ljepila zalijepite prsten neo piksela i pojedinačne LED diode na mjesto kao što je prikazano, pazeći da se sve strelice na LED -ima poravnaju na isti način kada je tratinčica spojena zajedno.

Lemite izlazne žice s prstena na prvu pojedinačnu LED diodu, usklađujući pozitivnu, uzemljenu i podatkovnu žicu s istim jastučićima na obje LED.

Najbrži i najjednostavniji način na koji sam spojio LED diode je skinuti kratkospojnu žicu u zasebne bakrene niti. Pričvrstite jedan niz kako biste povezali svaki od lemljenih jastučića na LED diodama sa sljedećim, odgovarajući pozitivni, podaci i uzemljenje. Samo je potreban brz dodir vrućeg lemilice jer su jastučići prethodno lemljeni u prethodnom koraku. Umjesto prerezivanja žica u ovoj fazi, odvedite ih preko vrha LED diode kako biste došli do lemljenih jastučića s druge strane. Pazeći da se žice ne križaju niti dodiruju, lemite na te jastučiće i nastavite zaokruživati na ulaznu stranu posljednje LED diode.

Nemojte priključivati žicu na izlaznu stranu posljednje LED diode. Za razliku od nekih LED dioda s kojima ste možda upoznati, ne morate dovršiti okrugli krug koji vraća energiju na tlo jer ste cijelo vrijeme ožičavali odvojeno uzemljenje i pozitivne vodove. Izrežite sve žice koje idu preko vrha LED dioda tako da imate samo žice koje povezuju između njih.

Savjet: Da biste spriječili dodirivanje žica pri zaobilaženju uglova, svaku uvucite natrag u malu traku plastične izolacije koja je prethodno uklonjena.

Korak 4: Priprema leđa

Priprema leđa
Priprema leđa
Priprema leđa
Priprema leđa

Napravite još jednu rupu na bijeloj kartici za ulazne žice i progurajte ih.

Odvojite dva prstena obruča za tapiseriju. Nacrtajte vanjski dio najmanjeg prstena na 5 komada valovitog kartona i izrežite. Izrežite rupe u sredini 3 kruga otprilike 2 cm od ruba kako biste napravili prstenove i u svaki izrežite prorez od 5 mm. Zalijepite prstenove jedan na drugi, poravnavajući proreze, i zalijepite ovo na jedan od preostalih krugova kartice.

Korak 5: Ožičenje mikrofona i Arduina

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

Priključite svoj Arduino na senzor mikrofona i LED prsten kao što je prikazano. Koristio sam TinkerCad za izradu dijagrama kruga koji nema sliku mikrofona pa sam zamijenio drugi senzor koji koristi iste pinove i radi na isti način u simulaciji.

Da biste pogledali simulaciju, idite na https://www.tinkercad.com/things/5cgI2wluA0c. Povucite krug pričvršćen na senzor na aktivno područje kako biste simulirali puhanje u mikrofon. LED diode su u trakama na 6, pa posljednja LED dioda u simulaciji nije dio dizajna i ne svijetli.

Korak 6: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina

Otvorite Arduino IDE na svom računalu i pokrenite novu skicu Izbrišite sve unutar skice te kopirajte i zalijepite ovaj kod u nju

// Prilagođeno pomoću jednostavne skice NeoPixel Ring (c) 2013 Shae Erisson // i koda senzora s https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Koji pin na Arduino je spojen na NeoPixels? #define PIN 6 // Koliko je NeoPixela priključeno na Arduino? #define NUMPIXELS 23 // Kad postavljamo NeoPixel knjižnicu, govorimo joj koliko piksela i koji pin treba koristiti za slanje signala. // Imajte na umu da ćete za starije NeoPixel trake možda morati promijeniti treći parametar-za više informacija o mogućim vrijednostima pogledajte primjer Strandtest //. Adafruit_NeoPixel pikseli = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // odgoda za pola sekunde int sensorPin = A0; // odabir ulaznog pina za senzor int sensorValue = 0; // varijabla za spremanje vrijednosti koja dolazi od senzora const int prag = 200; // proizvoljna razina praga koja je u rasponu analognog ulaza void setup () {pixels.begin (); // Ovo inicijalizira NeoPixel knjižnicu. piksela.setBrightness (20); // Postavljanje svjetline Serial.begin (9600); } void loop () {// Za skup NeoPixela prvi NeoPixel je 0, drugi je 1, sve do broja piksela minus jedan. // Maslačkovi LED diode // pikseli. Boja uzima RGB vrijednosti, od 0, 0, 0 do 255, 255, 255 piksela.setPixelColor (0, pikseli. Boja (0, 0, 0)); // Isključeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (6, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (8, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (10, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (11, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Isključeno. pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. delay (delayval*6); // Postupna promjena s cvjetne na sjemensku glavu // piksela. Boja uzima RGB vrijednosti, od 0, 0, 0 do 255, 255, 255 piksela.setPixelColor (0, piksela. Boja (0, 0, 0)); // Isključeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // plavkastobijeli pikseli.setPixelColor (6, pikseli. Boja (255, 165, 0)); // Naranča. pixels.setPixelColor (7, piksela. Color (226, 246, 255)); // plavkasto bijeli pikseli.setPixelColor (8, pikseli. Boja (255, 165, 0)); // Naranča. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // plavkasto bijeli pikseli.setPixelColor (10, piksela. Boja (255, 165, 0)); // Naranča. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // plavkastobijelo. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Isključeno. pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. kašnjenje (delayval*6); // LED diode sjemenske piksele pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // isključeno piksela.setPixelColor (2, piksela. Boja (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // isključeno piksela.setPixelColor (4, piksela. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // isključeno piksela.setPixelColor (12, piksela. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Isključeno. pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. kašnjenje (delayval*3); // Odgoda za određeno vrijeme (u milisekundama). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // isključeno piksela.setPixelColor (2, piksela. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Naranča. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Isključeno. pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. kašnjenje (delayval*3); // Odgoda za određeno vrijeme (u milisekundama). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (1, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (7, piksela. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Isključeno. pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. odgoda (delayval); // Odgoda za određeno vrijeme (u milisekundama). // Očitajte vrijednost senzora i prikažite je u serijskom monitoru sensorValue = analogRead (sensorPin); Serial.println (sensorValue); kašnjenje (250); // Dok je vrijednost senzora manja od praga, provjerite vrijednost senzora i ispišite je na serijskom monitoru. Kad je vrijednost iznad praga, skica se može nastaviti dok (sensorValue <prag) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); kašnjenje (250); } // LED za prvi vjetar pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (12, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (13, pikseli. Boja (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (14, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (15, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (16, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Isključeno. pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. odgoda (delayval); // Odgoda za određeno vrijeme (u milisekundama). // LED za drugi vjetar pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Isključeno. pixels.setPixelColor (17, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (18, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (19, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (20, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (21, pixels. Color (226, 246, 255)); // Plavkasto bijelo. pixels.setPixelColor (22, pixels. Color (226, 246, 255)); // Plavkasto bijelo.pikseli.show (); // Ovo šalje ažuriranu boju piksela na hardver. odgoda (2000); // Odgoda za određeno vrijeme (u milisekundama). }

Priključite svoj Arduino na računalo pomoću kabela USB pisača

Idite na Alati> Ploča i odaberite Arduino/Genuino UNO ploču

Idite na Port i provjerite jeste li spojili ploču na desni USB priključak. Ako niste sigurni, možete isključiti Arduino i vidjeti koji port nestaje s popisa. Ponovno ga uključite i port će ponovno biti na popisu.

Prenesite skicu klikom na ikonu za prijenos, prikazanu na označenoj fotografiji. Svjetla bi trebala treptati na Arduinu dok se učitava. Kada završi s učitavanjem, pola LED dioda na neo pikselnom prstenu zasvijetlit će žuto, a zatim će se promijeniti u puni prsten bijelih svjetala. Puhanjem u mikrofon provjerite strujni krug. LED diode u vanjskim slojevima trebale bi svijetliti zauzvrat. Provjerite lemljenje na LED diodama koje ne rade.

Korak 7: Promjena boja, svjetline i praga senzora

Promjena boja, svjetline i praga senzora
Promjena boja, svjetline i praga senzora
Promjena boja, svjetline i praga senzora
Promjena boja, svjetline i praga senzora

Boje

Boje LED dioda postavljaju se pomoću vrijednosti boje RGB (crveno zelena plava). Ako više volite koristiti različite boje nego što sam ja koristio, možete pronaći vrijednosti za boje koje želite pomoću mrežnog RGB kalkulatora boja, poput www.w3schools.com/colors/colors_rgb.asp

Za isključivanje LED diode upotrijebite vrijednosti 0, 0, 0.

Da biste LED postavili na bijelo, upotrijebite vrijednosti 255, 255, 255. Kôd u prethodnom koraku koristi plavkasto bijelu boju s vrijednostima 226, 246, 255 i narančastu s vrijednostima 255, 165, 0.

Svjetlina

Da biste promijenili svjetlinu LED dioda, idite na odjeljak za postavljanje praznine u kodu i pronađite sljedeći redak koda:

piksela.setBrightness (20); // Postavljanje svjetline

Uredite broj u zagradama kako biste promijenili svjetlinu LED dioda.

Prag senzora

Kada pokrenete program, polovica NeoPixel prstena počinje žuto predstavljati cvijet i postupno se mijenja u puni krug bijelih LED dioda za predstavljanje sjemenske glave. U ovom trenutku program bi trebao pauzirati sve dok ne udarite u senzor mikrofona. Ako se program nastavi i osvijetli vanjske slojeve LED dioda bez aktiviranja senzora, idite na odjeljak za postavljanje praznine u kodu i smanjite dolje prikazanu vrijednost. Povećajte vrijednost ako se program zaustavi, ali ne reagira kada pušete u senzor.

const int prag = 200;

Korak 8: Učinite krug trajnijim

Učiniti krug trajnijim
Učiniti krug trajnijim

Kad krug radi, isključite Arduino iz računala i uklonite senzor mikrofona s matične ploče. Lemite žice od Arduina do senzora mikrofona kako biste isti krug učinili trajnijim. Gurnite mikrofon kroz otvor na kartici straga. Ako je potrebno, pažljivo savijte mikrofon za 90 stupnjeva kako bi ploča mogla ležati ravno iza kartice. Priključite bateriju na Arduino pomoću kabela pisača i cijeli niz bi trebao funkcionirati.

Korak 9: Stvorite sliku

Stvorite sliku
Stvorite sliku

Napravite rupu u tkanini na mjestu gdje želite mikrofon. Vrelim lemilicom spalio sam malu rupu i obrezao je škarama dok mikrofon nije ušao. Obojite i ušijte svoj cvijet na tkaninu. Kad se boja osuši, pričvrstite sliku na obruč za vezenje i odrežite višak tkanine, ostavljajući mali rub.

Da biste vidjeli prikazuje li se neka od komponenti strujnog kruga kroz tkaninu, privremeno postavite tkaninu i obruč na vrh kartice s mikrofonom kroz rupu. Ako je potrebno, prekrijte krug slojevima maskirne trake, povremeno provjeravajući, sve dok se komponente više ne pokažu. LED diode su dovoljno svijetle da se vide kroz sloj maskirne trake. Ako morate dodati još više slojeva, LED diode možete učiniti svjetlijima prilagođavanjem koda kao što je prikazano u koraku 7.

Vratite tkaninu i obruč na vrh kartice kao i prije i pričvrstite je lijepljenjem dodatne tkanine preko stražnje strane kartice.

Korak 10: Sastavite to zajedno

Sastavljajući to zajedno
Sastavljajući to zajedno

Zalijepite bijelu kartu na krug od valovitog kartona, zatvarajući mikrofon, ali ne i Arduino i bateriju, koji trebaju zaobići rub kartona tako da žice prolaze kroz proreze.

Zadnji krug kartona pričvrstite čičakom kako biste mogli pristupiti bateriji. Napravite rupu u kartonu na mjestu gdje ga želite objesiti na kuku na zidu.

Korak 11: Učenje iz grešaka

Učenje iz grešaka
Učenje iz grešaka
Učenje iz grešaka
Učenje iz grešaka
Učenje iz grešaka
Učenje iz grešaka

Moj prvi pokušaj bio je s naljepnicama za krugove i bakrenom trakom. Naljepnice kruga su male LED diode koje su površinski montirane na naljepnice s bakrenim jastučićima. Dolaze iz tvrtke Qi Jie, Chibitroniksa, i mislio sam da će biti savršeni.

Nisam mogao uspostaviti pouzdanu vezu pomoću bakrene trake ili srebrne trake, a kad sam lemio žicu na naljepnice, mogao sam dobiti samo seriju od 3 LED naljepnice za osvjetljenje pomoću 9V baterije. Postalo je jasno da nisu namijenjeni multi light projektima kako sam se nadao. Kad sam pomnije pogledao web stranicu o naljepnicama krugova, projekt s 4 svjetla pokazao se kao druga vrsta LED -a. Mogao bih napajati naljepnice strujnog kruga s 12V baterijom, ali bile bi previše glomazne da stanu unutar slike.

Zatim sam isprobao LED za LED za kanalizaciju. Mislio sam da bi bilo lakše spojiti samo napajanje i uzemljenje od programabilnih LED dioda koje imaju napajanje, uzemljenje i podatkovne vodove. No, pokazalo se da je to bio složeniji krug koji je trebao dodatno napajanje i MOSFET, što ja nisam imao. Mogao sam koristiti NeoPixele za kanalizaciju, ali oni su skuplji.

Tako sam nakon nekoliko lažnih startova završio s nizom programabilnih LED dioda koje su jeftine i jednostavne za upotrebu.

Preporučeni: