Turinys:
- 1 žingsnis: Paruoškite „NeoPixel“žiedą
- 2 žingsnis: nupjaukite šviesos diodų juosteles
- 3 žingsnis: lituokite šviesos diodus
- 4 žingsnis: nugaros paruošimas
- 5 žingsnis: prijunkite mikrofoną ir „Arduino“
- 6 žingsnis: „Arduino“programavimas
- 7 žingsnis: spalvų, ryškumo ir jutiklio slenksčio keitimas
- 8 žingsnis: Padarykite grandinę patvaresnę
- 9 žingsnis: sukurkite paveikslėlį
- 10 žingsnis: surinkite jį kartu
- 11 žingsnis: Mokykitės iš klaidų
Video: Interaktyvi kiaulpienė: 11 žingsnių (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Š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 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
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
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“
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
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
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ę
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į
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
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ų
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:
Interaktyvi LED plytelių siena (lengviau nei atrodo): 7 žingsniai (su nuotraukomis)
Interaktyvi LED plytelių siena (lengviau nei atrodo): Šiame projekte aš sukūriau interaktyvų LED sieninį ekraną, naudojant „Arduino“ir 3D spausdintas dalis. Šio projekto įkvėpimas iš dalies kilo iš „Nanoleaf“plytelių. Norėjau sugalvoti savo versiją, kuri būtų ne tik pigesnė, bet ir
Interaktyvi LED periodinė lentelė: 12 žingsnių (su paveikslėliais)
Interaktyvi LED periodinė lentelė: Mes su mergina turime elementų kolekciją - unikalių materijos dalelių, sudarančių viską visatoje, pavyzdžius! Tokiai įdomiai kolekcijai nusprendžiau sukurti vitriną, kurioje būtų parodyti viso pasaulio pavyzdžiai
Interaktyvi bekontaktė šviesa: 7 žingsniai (su nuotraukomis)
Interaktyvi bekontaktė šviesa: Sveiki visi! Čia norėčiau pasidalinti projektu, prie kurio dirbau. Įkvėpiau eksperimentuoti su talpiniu prisilietimo jutimu per savo universiteto projektą. Sužinojau apie šią technologiją naudodamas instrukcijas ir panaudojau tai, ką mokausi
„HairIO“: plaukai kaip interaktyvi medžiaga: 12 žingsnių (su nuotraukomis)
HairIO: plaukai kaip interaktyvi medžiaga: HairIO: žmogaus plaukai kaip interaktyvi medžiaga plaukai yra unikali ir mažai ištirta medžiaga naujoms nešiojamoms technologijoms. Ilga kultūrinės ir individualios išraiškos istorija daro ją vaisingą naujų sąveikų vietą. Šioje instrukcijoje galite
Paprasta interaktyvi vartotojo sąsaja mokymui ir vertinimui: 11 žingsnių
Paprasta interaktyvi vartotojo sąsaja mokymui ir vertinimui: Šis projektas buvo sukurtas kaip universiteto pamokos dalis, kurio tikslas buvo sukurti interaktyvią sistemą tam tikros temos mokymui ir vertinimui. Tam naudojome sąsajos apdorojimą kompiuteryje ir „Arduino NANO“pasažo mygtukui ir šviesos diodams, todėl