Turinys:

Interaktyvi kiaulpienė: 11 žingsnių (su nuotraukomis)
Interaktyvi kiaulpienė: 11 žingsnių (su nuotraukomis)

Video: Interaktyvi kiaulpienė: 11 žingsnių (su nuotraukomis)

Video: Interaktyvi kiaulpienė: 11 žingsnių (su nuotraukomis)
Video: How Your Kidneys Filter GALLONS of Blood 2024, Liepa
Anonim
Image
Image
Paruoškite „NeoPixel“žiedą
Paruoškite „NeoPixel“žiedą

Šis projektas parodo, kaip sukurti interaktyvų kiaulpienės vaizdą. Jis prasideda kaip geltona gėlė su žiedlapių šviesos diodais, o paskui virsta baltu kiaulpienių laikrodžiu, kurį galima pūsti, kad sėklos išsisklaidytų.

Jis sukurtas pagal gražų Qi Jie meno kūrinį, kurio paveikslą įkvėpė vieno Jessie Thompson ir Zachory Berta gėlių dizainas. Aš padariau savo ant audinio ir įrėminau jį į gobeleno lanką, kad galėčiau eiti į „Tech and Textiles“kūrėjų erdvės sieną Devone, Anglijoje, kaip pradedančiųjų projekto, kuriame derinamas siuvimas su „Arduino“, pavyzdys.

Vaizdo įrašas apie Qi Jie šviesią tapybą

Jessie Thompson ir Zachory Berta vaizdo įrašas apie vienos gėlės dizainą

Abiejų esamų projektų kodas yra prieinamas, ir aš maniau, kad tai bus lengva padaryti, tačiau instrukcijos buvo minimalios ir prireikė kelių bandymų, kol radau veiksmingą metodą. Taigi čia yra išsamios instrukcijos ir laiko taupymo patarimai remiksui, apimančiam tiek dizaino elementus, tiek mano paties pakeitimus.

Išsami informacija apie tai, kas man netiko, yra pabaigoje visiems, kam įdomu, kodėl pasirinkau šį kelią.

Qi Jie šviesos tapybos kodas

Jessie Thompson ir Zachory Berta mažų gėlių paveikslo kodas

Medžiagos

  • Arduino UNO
  • Adafruit žiedas iš 12 neopikselių
  • 5 V juostelė iš 11 RGB šviesos diodų
  • Garso mikrofono jutiklis
  • Trumpieji laidai
  • 5 V įkraunama baterija su USB A jungtimi
  • Spausdintuvo kabelis (USB A – B kabelis)
  • Klijų taškai arba karštas klijai
  • A4 kortelė
  • 30 cm x 30 cm kreminės medvilnės audinys, pavyzdžiui, senas pagalvės užvalkalas
  • Žalio audinio dažai
  • Rudas medvilninis siūlas
  • 70 cm x 50 cm gofruotas kartonas, pvz., Picos dėžutės
  • Izoliacine juosta
  • 9 colių siuvinėjimo lankelis paveikslui įrėminti
  • 9 lipnios Velcro skirtukai

Įrankiai

  • Atsisiųstas kompiuteris su „Arduino IDE“
  • Lituoklis ir lydmetalis be švino
  • Duonos lenta bandymo grandinei
  • Vielos nuėmiklis/pjaustytuvai
  • Siuvimo adata
  • Rašiklis
  • Žirklės

1 žingsnis: Paruoškite „NeoPixel“žiedą

Lituokite skirtingų spalvų laidus prie visų maitinimo, įžeminimo ir duomenų blokų, esančių „NeoPixel“žiedo gale.

Jei turite kitokią žiedo versiją, jūsų laidai gali būti ne toje pačioje padėtyje kaip mano nuotrauka.

Užsirašykite, kurie laidai skirti įėjimui ir išėjimui, taip pat teigiamus, duomenis ir įžeminimą, nes jų žymės yra apatinėje žiedo pusėje ir nebus matomos, kai žiedas bus padėtyje.

2 žingsnis: nupjaukite šviesos diodų juosteles

Iškirpkite šviesos diodų juostas
Iškirpkite šviesos diodų juostas
Iškirpkite šviesos diodų juostas
Iškirpkite šviesos diodų juostas

Iškirpkite 11 atskirų šviesos diodų iš RGB šviesos diodų juostos, stengdamiesi pjauti išilgai centrinės linijos, kad abiejose pjūvio pusėse liktų litavimo pagalvėlės. Kiekvienos trinkelės viršutinėje pusėje užtepkite litavimo gabalėlį.

3 žingsnis: lituokite šviesos diodus

Lituokite šviesos diodus
Lituokite šviesos diodus
Lituokite šviesos diodus
Lituokite šviesos diodus
Lituokite šviesos diodus
Lituokite šviesos diodus

Kortelės viduryje padarykite skylę, kad tilptų mikrofonas. Naudodami klijų taškus, priklijuokite neo pikselių žiedą ir atskirus šviesos diodus tokioje padėtyje, kaip parodyta, ir įsitikinkite, kad visos rodyklės ant šviesos diodų sutaps vienodai.

Lituokite išėjimo laidus nuo žiedo iki pirmojo atskiro šviesos diodo, suderindami teigiamus, įžeminimo ir duomenų laidus prie tų pačių abiejų šviesos diodų pagalvėlių.

Greičiausias ir paprasčiausias būdas, kurį radau sujungdamas šviesos diodus, yra nuimti trumpiklį nuo atskirų vario gijų. Pritvirtinkite vieną sruogą, kad susietumėte kiekvieną šviesos diodų lituojamą trinkelę su kita, atitinkančia teigiamus duomenis ir pagrindą. Tiesiog reikia greitai paliesti karštą lituoklį, nes pagalvėlės buvo iš anksto lituotos ankstesniame etape. Užuot nukirpę laidus šiame etape, perkelkite juos per šviesos diodo viršų, kad pasiektumėte kitoje pusėje esančias lituotas trinkeles. Įsitikinkite, kad jokie laidai nesikerta ir neliečia vienas kito, prilituokite prie tų trinkelių ir tęskite iki paskutinio šviesos diodo įvesties pusės.

Negalima pritvirtinti laido prie paskutinio šviesos diodo išvesties pusės. Skirtingai nuo kai kurių jums pažįstamų šviesos diodų, jums nereikia užbaigti apvalios grandinės, kuri grąžina energiją į žemę, nes visą laiką jungėte atskirą įžeminimą ir teigiamas linijas. Iškirpkite visus laidus, einančius per šviesos diodų viršų, kad tarp jų būtų tik jungiamieji laidai.

Patarimas: norėdami išvengti laidų susiliejimo, kai apvažiuojate kampus, priveržkite kiekvieną atgal į mažą plastikinės izoliacijos juostelę, kuri anksčiau buvo pašalinta.

4 žingsnis: nugaros paruošimas

Nugaros paruošimas
Nugaros paruošimas
Nugaros paruošimas
Nugaros paruošimas

Padarykite dar vieną angą įvesties laidų baltojoje kortelėje ir stumkite juos.

Atskirkite du gobeleno žiedo žiedus. Nubrėžkite mažiausio žiedo išorę ant 5 gofruotos kortelės dalių ir iškirpkite. Iškirpkite skylutes 3 apskritimų viduryje maždaug 2 cm atstumu nuo krašto, kad padarytumėte žiedus, ir išpjaukite po 5 mm plyšį. Klijuokite žiedus vienas ant kito, išdėstydami plyšius, ir priklijuokite prie vieno iš likusių kortelės apskritimų.

5 žingsnis: prijunkite mikrofoną ir „Arduino“

Mikrofono ir „Arduino“prijungimas
Mikrofono ir „Arduino“prijungimas
Mikrofono ir „Arduino“prijungimas
Mikrofono ir „Arduino“prijungimas

Prijunkite „Arduino“prie mikrofono jutiklio ir LED žiedo, kaip parodyta. Aš naudoju „TinkerCad“, norėdamas sukurti grandinės schemą, kurioje nėra mikrofono vaizdo, todėl pakeičiau kitą jutiklį, kuris naudoja tuos pačius kaiščius ir veikia taip pat, kaip ir modeliavimas.

Norėdami peržiūrėti modeliavimą, eikite į https://www.tinkercad.com/things/5cgI2wluA0c. Vilkite prie jutiklio pritvirtintą apskritimą ant aktyvios srities, kad imituotumėte pūtimą į mikrofoną. Šviesos diodai yra juostelėmis po 6, todėl paskutinis simuliacijos šviesos diodas nėra dizaino dalis ir neužsidega.

6 žingsnis: „Arduino“programavimas

„Arduino“programavimas
„Arduino“programavimas

Kompiuteryje atidarykite „Arduino IDE“ir pradėkite naują eskizą Ištrinkite viską eskizo viduje ir nukopijuokite bei įklijuokite šį kodą

// Pritaikytas naudojant paprastą „NeoPixel Ring“eskizą (c) 2013 m. „Shae Erisson“// ir jutiklio kodą iš https://www.hackster.io/ingo-lohs/first-test-37-s… #include // Kuris smeigtukas ant „Arduino“prijungtas prie „NeoPixels“? #define PIN 6 // Kiek „NeoPixels“pridedama prie „Arduino“? #define NUMPIXELS 23 // Kai nustatome „NeoPixel“biblioteką, nurodome, kiek pikselių ir kokį smeigtuką naudoti signalams siųsti. // Atminkite, kad senesnėms „NeoPixel“juostelėms gali tekti pakeisti trečiąjį parametrą-daugiau informacijos apie galimas vertes rasite „strandtest //“pavyzdyje. Adafruit_NeoPixel pikseliai = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); int delayval = 500; // delsimas pusę sekundės int sensorPin = A0; // pasirinkite jutiklio įvesties kaištį int sensorValue = 0; // kintamasis, norint išsaugoti reikšmę, gaunamą iš jutiklio const int slenkstis = 200; // savavališkas slenksčio lygis, esantis analoginės įvesties tuštumos sąrankos diapazone () {pixels.begin (); // Tai inicijuoja „NeoPixel“biblioteką. pikseliai.setBrightness (20); // Nustatyti ryškumą Serial.begin (9600); } void loop () {// NeoPikselių rinkinio pirmasis NeoPikselis yra 0, antrasis - 1, iki pikselių skaičiaus minus vienas. // Kiaulpienės šviesos diodai // taškai. Spalva paima RGB reikšmes, nuo 0, 0, 0 iki 255, 255, 255 pikselių. SetPixelColor (0, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (6, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (8, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (10, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (11, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Išjungta. pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. uždelsimas (delayval*6); // Palaipsnis gėlių keitimas į sėklos galvutę // taškai. Spalva paima RGB reikšmes nuo 0, 0, 0 iki 255, 255, 255 pikselių. setPixelColor (0, pikselių. Spalva (0, 0, 0)); // Išjungta. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // melsvai balti pikseliai.setPixelColor (6, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // melsvai balti pikseliai.setPixelColor (8, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // melsvai balti pikseliai.setPixelColor (10, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // melsvai baltas. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Išjungta. pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. uždelsimas (uždelsimas*6); // Sėklų galvutės šviesos diodai pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (9, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // off pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Išjungta. pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. uždelsimas (uždelsimas*3); // Vėlavimas tam tikrą laiką (milisekundėmis). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // off pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (5, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (7, pixels. Color (255, 165, 0)); // Oranžinė. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Išjungta. pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. uždelsimas (uždelsimas*3); // Vėlavimas tam tikrą laiką (milisekundėmis). pixels.setPixelColor (0, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (1, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (2, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (3, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (4, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (5, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (6, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (7, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (8, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (9, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (10, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (11, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Išjungta. pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. vėlavimas (uždelsimas); // Vėlavimas tam tikrą laiką (milisekundėmis). // Perskaitykite jutiklio vertę ir parodykite ją serijiniame monitoriuje sensorValue = analogRead (sensorPin); Serial.println (sensorValue); vėlavimas (250); // Nors jutiklio vertė yra mažesnė už slenkstį, patikrinkite jutiklio vertę ir atsispausdinkite ją serijiniame monitoriuje. Kai vertė viršija slenkstį, eskizas gali būti tęsiamas, kol (sensorValue <slenkstis) {sensorValue = analogRead (sensorPin); Serial.println (sensorValue); vėlavimas (250); } // Pirmojo vėjo šviesos diodai pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (12, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (13, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (14, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (15, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (16, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (17, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (18, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (19, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (20, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (21, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (22, pixels. Color (0, 0, 0)); // Išjungta. pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. vėlavimas (uždelsimas); // Vėlavimas tam tikrą laiką (milisekundėmis). // Antrojo vėjo šviesos diodai pixels.setPixelColor (0, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (1, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (2, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (3, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (4, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (5, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (6, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (7, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (8, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (9, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (10, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (11, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (12, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (13, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (14, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (15, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (16, pixels. Color (0, 0, 0)); // Išjungta. pixels.setPixelColor (17, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (18, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (19, pixels. Color (226, 246, 255)); // melsvai balta. pixels.setPixelColor (20, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (21, pixels. Color (226, 246, 255)); // Melsvai balta. pixels.setPixelColor (22, pixels. Color (226, 246, 255)); // melsvai balta.pixels.show (); // Tai siunčia atnaujintą pikselių spalvą aparatinei įrangai. vėlavimas (2000 m.); // Vėlavimas tam tikrą laiką (milisekundėmis). }

Prijunkite „Arduino“prie kompiuterio naudodami USB spausdintuvo kabelį

Eikite į Įrankiai> Lenta ir pasirinkite „Arduino/Genuino UNO“plokštę

Eikite į „Port“ir įsitikinkite, kad plokštė prijungta prie tinkamo USB prievado. Jei nesate tikri, galite atjungti „Arduino“ir pamatyti, kuris prievadas dingsta iš sąrašo. Prijunkite jį atgal ir prievadas vėl bus pateiktas sąraše.

Įkelkite eskizą spustelėdami įkėlimo piktogramą, rodomą anotuotoje nuotraukoje. Įkeliant „Arduino“turėtų mirksėti lemputės. Baigus įkelti pusę šviesos diodų, esančių neo pikselių žiede, užsidegs geltona spalva, o tada pasikeis į visą baltų lempučių žiedą. Norėdami patikrinti grandinę, pūskite mikrofoną. Išorinių sluoksnių šviesos diodai turėtų užsidegti paeiliui. Patikrinkite lydmetalį ant bet kokių šviesos diodų, kurie neveikia.

7 žingsnis: spalvų, ryškumo ir jutiklio slenksčio keitimas

Spalvų, ryškumo ir jutiklio slenksčio keitimas
Spalvų, ryškumo ir jutiklio slenksčio keitimas
Spalvų, ryškumo ir jutiklio slenksčio keitimas
Spalvų, ryškumo ir jutiklio slenksčio keitimas

Spalvos

Šviesos diodų spalvos nustatomos naudojant RGB (raudona žalia mėlyna) spalvų vertes. Jei norite naudoti kitokias spalvas nei aš, norimų spalvų vertes galite rasti naudodami internetinę RGB spalvų skaičiuoklę, pvz., Www.w3schools.com/colors/colors_rgb.asp

Norėdami išjungti šviesos diodą, naudokite 0, 0, 0 reikšmes.

Jei norite, kad šviesos diodas būtų baltas, naudokite reikšmes 255, 255, 255. Ankstesnio veiksmo kode naudojama melsvai balta spalva su reikšmėmis 226, 246, 255 ir oranžinė, kurios vertės yra 255, 165, 0.

Ryškumas

Norėdami pakeisti šviesos diodų ryškumą, eikite į kodo tuštumos sąrankos skyrių ir raskite šią kodo eilutę:

pikseliai.setBrightness (20); // Nustatykite ryškumą

Redaguokite skliausteliuose esantį skaičių, kad pakeistumėte šviesos diodų ryškumą.

Jutiklio slenkstis

Kai vykdote programą, pusė „NeoPixel“žiedo prasideda geltonai, kad būtų pavaizduota gėlė, ir palaipsniui pasikeičia į visą baltų šviesos diodų ratą, kad atspindėtų sėklos galvutę. Šiuo metu programa turėtų pristabdyti, kol nepūsite mikrofono jutiklio. Jei programa tęsiama ir užsidega išoriniai šviesos diodų sluoksniai, nesuaktyvinus jutiklio, eikite į kodo tuštumos nustatymo skyrių ir sumažinkite žemiau pateiktą vertę. Padidinkite vertę, jei programa pristabdo, bet neatsako, kai pučiate jutiklį.

const int slenkstis = 200;

8 žingsnis: Padarykite grandinę patvaresnę

Padaryti grandinę patvaresnę
Padaryti grandinę patvaresnę

Kai grandinė veikia, atjunkite „Arduino“nuo kompiuterio ir ištraukite mikrofono jutiklį iš duonos lentos. Lituokite laidus iš „Arduino“į mikrofono jutiklį, kad ta pati grandinė būtų patvaresnė. Išstumkite mikrofoną iš kortelės angos iš užpakalio. Jei reikia, atsargiai sulenkite mikrofoną 90 laipsnių kampu, kad plokštė galėtų atsigulti už kortelės. Prijunkite akumuliatorių prie „Arduino“naudodami spausdintuvo kabelį ir visa seka turėtų veikti.

9 žingsnis: sukurkite paveikslėlį

Sukurkite paveikslėlį
Sukurkite paveikslėlį

Padarykite skylę audinyje, kur norite mikrofono. Aš karštu lituokliu sudeginau nedidelę skylę ir apipjaustiau žirklėmis, kol mikrofonas įsitvirtino. Dažykite ir siūkite gėlę ant audinio. Kai dažai išdžiūsta, pritvirtinkite paveikslą prie siuvinėjimo lankelio ir nukirpkite perteklinį audinį, palikdami nedidelę kraštinę.

Norėdami pamatyti, ar bet kuris grandinės komponentas nepasirodo per audinį, laikinai padėkite audinį ir lanką ant kortelės, o mikrofonas rodomas pro skylę. Jei reikia, uždenkite grandinę maskavimo juostos sluoksniais, retkarčiais tikrindami, kol komponentai nebebus rodomi. Šviesos diodai yra pakankamai ryškūs, kad juos būtų galima pamatyti per maskavimo juostos sluoksnį. Jei turite pridėti dar daugiau sluoksnių, galite padaryti šviesos diodus ryškesnius, pakoreguodami kodą, kaip parodyta 7 veiksme.

Uždėkite audinį ir lanką ant kortelės, kaip ir anksčiau, ir pritvirtinkite, priklijuodami papildomą audinį ant kortelės galo.

10 žingsnis: surinkite jį kartu

Sujungimas
Sujungimas

Klijuokite baltą kortelę ant gofruoto kartono apskritimo, uždėkite mikrofoną, bet ne „Arduino“ir akumuliatorių, kurie turi apeiti kartono kraštą, o laidai praeina per plyšius.

Pritvirtinkite paskutinį kartono ratą su Velcro, kad galėtumėte pasiekti bateriją. Kartone padarykite skylę, kurioje norite pakabinti ant kabliuko ant sienos.

11 žingsnis: Mokykitės iš klaidų

Mokymasis iš klaidų
Mokymasis iš klaidų
Mokymasis iš klaidų
Mokymasis iš klaidų
Mokymasis iš klaidų
Mokymasis iš klaidų

Pirmasis mano bandymas buvo su grandinės lipdukais ir varine juostele. Grandinės lipdukai yra maži šviesos diodų paviršiai, pritvirtinti prie lipdukų su varinėmis trinkelėmis. Jie kilę iš Qi Jie kompanijos „Chibitroniks“, ir aš maniau, kad jie bus tobuli.

Nepavyko gauti patikimo ryšio naudojant varinę juostą ar sidabrinę juostą, o lituodamas laidą prie lipdukų vis tiek galėjau apšviesti tik 3 LED lipdukų seriją, naudodamas 9 V bateriją. Tapo aišku, kad jie nėra skirti daugialypiams projektams, kaip tikėjausi. Kai atidžiau pažvelgiau į tinklalapį apie grandinės lipdukus, projektas su 4 lemputėmis pasirodė esąs kitokio tipo šviesos diodai. Galėčiau maitinti grandinės lipdukus su 12 V baterija, tačiau ji būtų per didelė, kad tilptų paveikslėlyje.

Tada aš išbandžiau siuvamus šviesos diodus. Maniau, kad prijungti tik maitinimą ir įžeminimą būtų lengviau nei laidus, kuriuose yra maitinimo, įžeminimo ir duomenų linijos. Bet paaiškėjo, kad tai sudėtingesnė grandinė, kuriai reikia papildomo maitinimo šaltinio ir MOSFET, kurių aš neturėjau. Galėjau naudoti siuvamus „NeoPixels“, bet jie yra brangesni.

Taigi po kelių klaidingų paleidimų gavau virtinę programuojamų šviesos diodų, kurie yra pigūs ir lengvai naudojami.

Rekomenduojamas: