Turinys:

Išmaniojo telefono valdomi „Bluetooth“šviesos diodai (su gyvos muzikos sinchronizavimu): 7 žingsniai
Išmaniojo telefono valdomi „Bluetooth“šviesos diodai (su gyvos muzikos sinchronizavimu): 7 žingsniai

Video: Išmaniojo telefono valdomi „Bluetooth“šviesos diodai (su gyvos muzikos sinchronizavimu): 7 žingsniai

Video: Išmaniojo telefono valdomi „Bluetooth“šviesos diodai (su gyvos muzikos sinchronizavimu): 7 žingsniai
Video: Wireless Notice Board| Bluetooth module and arduino||mini project for beginners #arduino #bluetooth 2024, Liepa
Anonim
Image
Image
Medžiagų įsigijimas
Medžiagų įsigijimas

Aš visada mėgau kurti daiktus, kai sužinojau, kad mano naujajame kolegijos bendrabutyje yra baisus apšvietimas, nusprendžiau jį šiek tiek pagardinti.

*** ĮSPĖJIMAS *** Jei statysite šį projektą tokiu pat mastu, kaip ir mano sąranka, jūs dirbsite su tinkamu elektros energijos kiekiu. BŪKITE SAUGI, naudokitės sveiku protu, o jei nesate tikri, KLAUSKITE! Nerizikuokite sudeginti savo namų.

1 žingsnis: medžiagų įsigijimas

Medžiagų įsigijimas
Medžiagų įsigijimas
Medžiagų įsigijimas
Medžiagų įsigijimas

Šiam projektui jums reikės:

  1. Adresuojama WS2812B LED juostelė (-os). 5V yra labiausiai paplitęs tipas ir labai pageidaujamas šiame projekte. Šis projektas skirtas RGB šviesos diodams, o ne RGBW. Aš labai rekomenduoju „Adafruit“„NeoPixels“. (~ 25 USD už 60 šviesos diodų)
  2. „CurieNano“(vis dar parduodamas), „Arduino 101“(nutrauktas, bet tas, kurį naudoju) arba kitas mikrovaldiklis, galintis pasiekti BLE. (~ 35 USD)
  3. Išmanusis telefonas (veikia „Apple“ir „Android“)
  4. Maitinimo šaltinis. Dauguma adresuojamų šviesos diodų rinkoje yra 5 V. Reikalingas srovės stipris priklauso nuo jūsų sąrankos dydžio*. (~ 10-50 USD, priklausomai nuo jūsų sąrankos)
  5. Laidai ** (jums taip pat gali prireikti atitinkamų 3 arba 2 kontaktų JST jungčių ir „Arduino“kaiščių) (~ 20–30 USD)
  6. 2.1x5.5mm statinės lizdų jungtys, jas rasite čia. (~ 5 USD)
  7. Mažas „Phillips“atsuktuvas
  8. Lituoklis ir lydmetalis (~ 20 USD)
  9. Dvipusė tvirtinimo juosta (1/4 colio pločio). Aš naudoju šį. (~ 10 USD)
  1. (Rekomenduojama) Mikrofonas muzikos sinchronizavimui. (Norėdami sinchronizuoti veikiančią muziką, turite ją turėti) Čia galite rasti „Adafruit“. (~ 7 USD)
  2. (Neprivaloma) „Arduino“dėklas, toks kaip šis. (~ 10 USD)
  3. (Neprivaloma) ne mažesnis kaip 10 μF kondensatorius (tai apsaugo nuo įtampos šuolių pirmą kartą įjungiant maitinimo šaltinį. Atminkite, kad kai kurie didesni, įdomesni maitinimo šaltiniai jau gali turėti įmontuotą apsaugą.) (~ 5 USD)

Aš primygtinai rekomenduoju jums laikytis susietų medžiagų, esančių šiame sąraše, nes aš jas naudoju didžiąją dienos dalį kiekvieną dieną kelis mėnesius be gedimų, ypač šviesos diodų. Priešingu atveju galite susidurti su netikėtomis žagsulėmis arba pastebėti, kad jums trūksta tam tikrų medžiagų ar įrankių.

* Ypač mažoms juostoms (~ 30 pikselių ar mažiau) arba „Arduino“turi pakankamai energijos, kad jas paleistumėte, ir jums nereikės maitinimo šaltinio. (TAI NEREKOMENDUOJAMA Šiam VADOVUI. Yra daug instrukcijų, kaip sukurti mažas, adresuojamas LED sąrankas, jos bus labiau pritaikytos jūsų situacijai.)

Tačiau daugumai iš jūsų tikriausiai reikės maitinimo šaltinio. Skaičiavimas yra (srovės stipris) = 0,075*(pikselių skaičius). Tai yra su integruota saugos riba (visiškai ištraukus, jūsų maitinimo šaltinis veiks ~ 75% pajėgumų. Tai užtikrins, kad jūsų maitinimo šaltinis veiktų vėsiai ir taip nuosekliai ilgą laiką). Sumažėjus gerokai žemiau, kyla perkaitimo ir net gaisro pavojus. Kai kuriems maitinimo šaltiniams taip pat reikės prijungti savo kintamosios srovės kištuką. Ekranams, kuriuose naudojamos kelios pilnos LED ritės, labai rekomenduoju įpurškti energiją. Apie tai bus kalbama kitame skyriuje.

** Tinkamai išmatuokite laidą! PIRMASIS SAUGUMAS, išleidęs papildomus kelis dolerius, gali išgelbėti jūsų namus.

(Jei jums įdomu, aš naudoju du 5 V maitinimo šaltinius su kiekvienu iš dviejų 30A išėjimų ir 12 gabaritų garsiakalbio laidą. Tai leidžia man įpurkšti pakankamai energijos keturiuose LED juostos taškuose. Aš naudoju ~ 21 metrą, kurio tankis yra 60 šviesos diodų /metras.)

2 žingsnis: maitinimas

Galia
Galia
Galia
Galia
Galia
Galia
Galia
Galia

"pakrovimas =" tingus"

Image
Image
Režimai ir derinimas
Režimai ir derinimas
Režimai ir derinimas
Režimai ir derinimas
Režimai ir derinimas
Režimai ir derinimas

Yra du režimai, kurie prašo taškų skaičiaus pradžios taškuose: 2 režimas (spalvotas valymas) ir 12 režimas (muzikos sinchronizavimas). Jei turite daug šviesos diodų, tai yra didžiulis skausmas, skaičiuojant nuo tikslaus pikselio, kurį norite pradėti, todėl sukūriau įrankį. Paskutiniame „BLYNK“programos režimo meniu elemente rasite režimą „Pixel Finder“. Jei norite tai naudoti, tikriausiai turėsite pakeisti valdiklio nustatymus.

  • Pirmiausia įsitikinkite, kad esate redagavimo režime
  • Pasirinkite slankiklį
  • Pakeiskite ryškumo vertes taip, kad ieškomas pikselių skaičius būtų įvestame ryškumo diapazone.

Kai naudojate šį „Pixel Finder“režimą, jūsų ryškumo vertės pikselių skaičius šviečia žaliai. Tokiu būdu galite greitai pereiti prie norimos vietos ir perskaityti telefono pikselių skaičių

Tai galite pamatyti paveikslėliuose [5 ir 6] ir [7 ir 8]. (Galite pastebėti, kad šioje ekrano kopijoje aš naudoju spalvų slankiklius, o ne zeRGBra). Taip pat atkreipkite dėmesį, kad pirmojo taško indeksas yra 0, o ne 1.

Tai turėtų padėti jums nustatyti savo modelius ten, kur norite.

Dar vienas dalykas, kurį turėčiau paminėti, yra tai, kad režimas „Ryškumas“kometoje (10 režimas) ir muzikos sinchronizavimas (12 režimas) reguliuoja „uodegų“ilgį. Taip kodas turėtų veikti, nes „Ryškumas“šiuose režimuose nėra prasmės.

7 žingsnis: Hurra! Jūs baigėte! (Skaitykite toliau, kad gautumėte priedų apie kodą)

Norėdami naudoti savo šviesos diodus:

  • Būkite savo „Arduino“diapazone
  • Bakstelėkite BLE piktogramą
  • Raskite savo įrenginį (atsakykite į deviceName ) ir pasirinkite jį

Dabar galėsite naudotis nuotolinio valdymo pultu.

Eik mėgautis visu savo sunkiu darbu!

***************************** Išplėstinė (apie kodą) *************** *****************

Aš stengiausi, kad kodas būtų gerai pakomentuotas, jis tikriausiai jokiu būdu nėra optimizuotas, tačiau žinau, kad jis pakankamai greitai veikia mano 1200+ lemputes. Turinys turi kodą, suskirstytą pagal eilutės numerį.

Kodo dalys, kuriose yra režimai ir vartotojo sąsaja, yra gana atskirtos, techniškai galite atsisakyti „Bluetooth“ir naudoti laidinį skirstomąjį skydą arba paprastą laikmatį, kuris perjungia visus režimus. Norėdami duoti nurodymus, jūs tiesiog turite užpildyti cmdArr masyvą.

  • „Index 0“saugo informaciją apie juostos įjungimą/išjungimą,
  • Rodyklė 1 išsaugo režimo numerį iš meniu
  • 2, 3 ir 4 rodmenys saugo atitinkamai spalvų parinkiklio R, G ir B reikšmes.
  • Indeksas 5 saugo procentinį ryškumą
  • Kiti požymiai šiuo metu nepanaudoti

Jūs daug pastebėjote, kad kode yra daug eilučių, kuriose rašoma „SetPixelColorAdj (…“), nepaisant to, kad funkcija tiesiog „setPixelColor (…“). Taip yra todėl, kad tai yra šiek tiek likęs kodas, naudojamas LED juostos dalims susieti. Pvz., Jei naudojate vieną juostelę, kad padarytumėte dvi kilpas, būtų sunku kreiptis į modelius su pertrauka, kol kilpa vėl susilieja į save. Tokiu būdu galite dirbtinai sujungti vidinę LED juostos savybę iki galo taip pat sujunkite pagrindinę kilpą kartu, kad su kodu būtų intuityvu dirbti.

Taip pat paaiškinsiu, kaip veikia kai kurie sudėtingesni režimai. Kai kurie iš jų („Rainbow“, „Color Wipe“ir „Fade“[1, 2, 3]) jau yra „NeoPixel“bibliotekoje kaip pavyzdinis kodas.

  • Lava, baldakimas, vandenynas [4, 5, 6] - Šie režimai naudoja orientyrus, kaip minėta anksčiau, kiekvienas kreipiamasis taškas įgauna atsitiktinę spalvą jam priskirtoje srityje. Lava dažniausiai raudona, baldakimas dažniausiai žalias, o vandenynas dažniausiai mėlynas. „Fade“modelis [3] jau yra puikus linijinio išblukimo algoritmas. Tai daroma taip, kad iš vieno taško spalvos į kitą išnyktų naudojant tarpinius taškus, sukuriant sklandų svyravimą. Trys išblukimo matricos saugo orientacinių taškų laiko išnykimo žingsnius (pradžios, perėjimo ir pabaigos būsenos). Kai kreipiamieji taškai išnyksta laiku, šalia jų esantys taškai taip pat atnaujina spalvas. Pasibaigus laiko ciklui, ką tik pasiektas galutinis taškas tampa nauju pradžios tašku. Tokiu būdu modelis laikui bėgant išlieka lygus.
  • Spalvų banga [7] - tai panaši į ankstesnius režimus, tačiau orientacinių taškų spalvos parenkamos skirtingai. Yra nuokrypis nuo pagrindinės spalvos, kuri laikui bėgant išnyksta aplink spalvų ratą.
  • „Fireflies“[8] - 2D masyvas saugo 90 pasirinktų ugniažolių vietą ir kryptį. Kiekvienu žingsniu jis nusprendžia, ar ugniažiedė judės į kairę, į dešinę, ar ne. Bendras jų ryškumas yra išblukimo, išblukimo ciklas.
  • Konfeti [9]- čia negalima pakartotinai naudoti „Firefly“dalių, nors jos atrodo panašios- taip yra todėl, kad pageidaujate bendro pastovaus ryškumo, kad geriausiai matytumėte spalvų pasikeitimą. Tačiau idėja nėra labai skirtinga. Aš pasiekiau tolygų apšvietimą, priskirdamas 1/3 visų konfeti blizgučių 3 bendroms sinusinėms funkcijoms, atskirtoms 1/3 periodo poslinkio.
  • Kometa [10] - labai panaši į „Adafruit“skaitytuvą, skirtumas yra tas, kad kryptis kiekvieną kartą atsitiktinai sugeneruojama ir nesikeičia, šiek tiek skiriasi spalva, kai pikselis juda, sukurdamas „ugnies“tipo efektą. uodega. Kiekvieno atnaujinimo pritemdymas sukelia modelio išblukimą arba „uodegą“.
  • Muzikos sinchronizavimas [12]- pagal garsumą (įtampa nuo A0) apskaičiuojami du parametrai: spalva ir ilgis. Tada muzikos sinchronizavimas išnyksta iš centrinės spalvos į apskaičiuotą spalvą, o tuo pačiu metu išnyksta iki juodos spalvos. Centrinė spalva sklandžiai blunka aplink spalvų ratą, todėl jūs gaunate ryškių efektų ir lygumo, todėl jis nėra įkyrus.

Vaizdo kreditai

cdn.shopify.com/s/files/1/0176/3274/produc…

store-cdn.arduino.cc/usa/catalog/product/c…

cdn.mos.cms.futurecdn.net/aSDvUGkMEbyuB9qo…

images-na.ssl-images-amazon.com/images/I/6…

www.amazon.com/Speaker-GearIT-Meters-Theat…

www.powerstream.com/z/adapter-2-1-tocsrew…

www.amazon.com/Hobbico-HCAR0776-Soldering-…

images-na.ssl-images-amazon.com/images/I/7…

cdn-shop.adafruit.com/970x728/1063-03.jpg

cdn-learn.adafruit.com/assets/assets/000/0…

www.adafruit.com/product/2561

www.adafruit.com/product/2964?length=1

cdn.sparkfun.com//assets/parts/4/6/8/4/102…

www.holidaycoro.com/v/vspfiles/assets/image…

www.circuitspecialists.eu/5-volt-enclosed-s…

d3vs3fai4o12t3.cloudfront.net/media/catalo…

Rekomenduojamas: