Turinys:

„Bluetooth“valdoma „NeoPixel“Kalėdų eglutė: 5 žingsniai
„Bluetooth“valdoma „NeoPixel“Kalėdų eglutė: 5 žingsniai

Video: „Bluetooth“valdoma „NeoPixel“Kalėdų eglutė: 5 žingsniai

Video: „Bluetooth“valdoma „NeoPixel“Kalėdų eglutė: 5 žingsniai
Video: ArduXmas - A Bluetooth Controlled NeoPixel Christmas Tree 2024, Lapkritis
Anonim

Ar pagalvojote, kaip šiais metais į savo eglutę pridėti daiktų internetą (daiktų internetą)? Na, tai visiškai įmanoma! Aš asmeniškai vadinu šį projektą „ArduXmas“, jį sudaro RGB „NeoPixel“LED juostelė, valdoma „Arduino“plokštės per „Bluetooth“. Tai pradedantiesiems skirtas projektas ir puiki įžanga į „Arduino e IoT“, todėl įsigykite savo įrankių ir padarykime tai!

Priedai:

Šiam projektui jums reikės:

  • „Arduino“(aš naudojau „Nano“, bet bet kuri versija veiks, tiesiog įsitikinkite, kad tinkamai įjungiate plokštę)
  • NeoPixel WS2812b LED juostelė
  • HC-06 „Bluetooth“modulis
  • 5V 2A DC maitinimo šaltinis
  • DC statinės maitinimo lizdas/jungtis
  • Fenolito plokštė komponentams laikyti
  • Korpuso dėklas
  • „Android“išmanusis telefonas su įdiegta „Blynk“programa

1 žingsnis: grandinė

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Šio projekto elektronika yra labai paprasta. „Arduino“, „Bluetooth“modulis ir LED juostelė maitinami 5 V maitinimo šaltiniu (įsitikinkite, kad visi GND yra sujungti). „Arduino“plokštė maitinama per 5 V prievadą (DĖMESIO: jei būsite atsargūs, „Arduino“maitinimas naudojant 5 V prievadą gali sugadinti jūsų plokštę. Įsitikinkite, kad naudojate 5 V reguliuojamą maitinimo šaltinį ir nesumaišykite +5 V ir GND laidai). Jūsų maitinimo šaltinio srovė priklausys nuo jūsų LED juostos ilgio. Aš naudoju 180 šviesos diodų, turinčių 40% viso ryškumo, o 2 amperai gerai laikosi, tačiau visada įsitikinkite, kad tiekiate reikiamą srovę (atminkite: kiekvienas RGB šviesos diodas naudoja apie 20mA + 20mA + 20mA = 60mA).

„HC-06“„Bluetooth“modulis yra prijungtas prie „Arduino“0 ir 1 kaiščių (RX, TX), tik atminkite, kad norint naudoti šį modulį, HC-06 RX kaištis yra prijungtas prie „Arduino“TX, o HC-06 TX kaištis yra prijungtas prie „Arduino“RX. Tai yra plokštės nuoseklaus ryšio kaiščiai ir naudojami norint gauti komandas iš išmaniojo telefono. Pridėjau jungiklį, kad lengvai įjungčiau/išjungčiau modulį, todėl galiu jį išjungti programuodamas plokštę, kitaip kompiuteris negali bendrauti su „Arduino“.

Grandinėje duomenų išvesties kaištis, einantis į šviesos diodų juostą, yra 2 skaitmeninis kaištis, tačiau jūs galite pasirinkti bet kurį PWM kaištį ir jį atitinkamai pakeisti kodu (ATMENA: „NeoPixel“LED juostelės turi duomenų signalo kryptį. Visada ieškokite rodyklių piktogramos juostelėje).

Norėdami sujungti, naudoju fenolito plokštę su skylėmis, kad ją būtų lengva lituoti ir išardyti kitais metais.

2 žingsnis: gaubtas

Aptvaras
Aptvaras
Aptvaras
Aptvaras
Aptvaras
Aptvaras

Korpusui naudoju tik seno nešiojamojo kompiuterio maitinimo dėklą, kuris puikiai tinka komponentams. Viską užfiksuokite karštais klijais ir palikite skyles „Arduino“USB prievadui, HC-06 jungikliui, nuolatinės srovės jungčiai ir LED juostos jungčiai.

3 žingsnis: „Blynk“programa

„Blynk“programa
„Blynk“programa
„Blynk“programa
„Blynk“programa
„Blynk“programa
„Blynk“programa

Norėdami bendrauti su „Arduino“, naudojame „Blynk“programą. Naudodami „Blynk“galite lengvai sukurti sąsajas duomenims siųsti iš išmaniojo telefono į aparatinę įrangą arba atvirkščiai, taip pat galima tiesiogiai valdyti mikrovaldiklio prievadus nekeičiant vienos kodo eilutės!

ATSISAKYMAS: Deja, ši programa veiks tik „Android“išmaniesiems telefonams, nes „Bluetooth“funkcija vis dar yra beta versijos ir dar nepasiekiama „IOS“, tai taip pat reiškia, kad nebus galima eksportuoti projekto kaip atskiros programos.

Nustatykite programą, kad į jūsų el. Pašto dėžutę gautų jūsų projekto autentifikavimo prieigos raktą (šis patvirtinimas bus reikalingas vėliau naudojant „Arduino“kodą). „Blynk“svetainėje yra puiki nuosekli pamoka apie tai, patikrinkite ją:

Šiam projektui aš naudoju du mygtukus, kad įjungčiau 2 iš anksto užkoduotas šviesos animacijas; vienas RGB komponentas, skirtas nustatyti LED juostos spalvą; vienas slankiklis, skirtas ryškumui valdyti, ir vienas „Bluetooth“komponentas, skirtas prisijungti prie „Arduino“. Patikrinkite vaizdus, kad pamatytumėte, kaip sukonfigūruotas kiekvienas komponentas. Atkreipkite dėmesį į kaiščius, naudojamus šiam projektui, kai naudojame „Blynk“virtualius kaiščius, tai yra puiki funkcija, leidžianti siųsti duomenis iš programos į aparatinę įrangą. Norėdami gauti daugiau informacijos apie virtualius kaiščius:

4 žingsnis: „Arduino“kodas

Arduino kodas
Arduino kodas

Atėjo laikas padaryti kodą! Mano pateiktas failas turi pagrindinę projekto vykdymo struktūrą, tačiau galite jį pakeisti, kaip norite. Kad jis tinkamai veiktų, turite pakeisti autentifikavimo ženklą [token], kurį gavote el. Pašto dėžutėje. Taip pat nepamirškite pakeisti kintamųjų LED_PIN ir LED_COUNT pagal savo sąranką.

Šviesos diodų elgesį diktuoja kintamasis anim, kuris keičiasi, kai programa gauna užklausą. Galite pridėti tiek animacijos galimybių, kiek norite, tiesiog pridėkite savo funkciją prie jungiklio struktūros funkcijoje „toggleAnimation ()“ir kodo viršuje priskirkite atitinkamą „Virtual Pin“skaitymą.

Animacija, veikianti cikle (), yra susieta su laikmačiu, kuris veikia 100 ms intervalu. Tai būtina ir nerekomenduoju jo keisti, nes tai trukdo komandai „Blynk.run ()“ir ryšys išjungiamas, jei „Blynk“biblioteka per trumpą laiką aptinka per daug užklausų.

Rekomenduojamas: