„Adafruit NeoPixel“ LED juostelių naudojimas eksponentiškai išaugo „pasidaryk pats“ projektų ir programavimo pasaulyje dėl jų universalumo ir galimo sukurti vaizdo efektų skaičiaus. Šių juostelių valdymas per Arduino yra vienas iš labiausiai paplitusių būdų jas integruoti į pasirinktinius projektus. Tačiau norint pasiekti įspūdingų rezultatų, būtina tai daryti teisingai, naudojant tinkamą biblioteką.
Šiame straipsnyje išsamiai aptarsime, kaip naudoti „Adafruit“ „NeoPixel“ biblioteką , skirtą „Arduino“, ką su ja galima pasiekti ir keletą įdomiausių gudrybių. Šią informaciją surinkome iš įvairių atitinkamų šaltinių internete, kad viską, ko reikia, turėtumėte vienoje vietoje.
Kas yra „Adafruit NeoPixel“ biblioteka?

„ Adafruit NeoPixel“ biblioteka yra failų rinkinys, leidžiantis lengvai valdyti „NeoPixel“ LED juosteles ir kitus RGB įrenginius. Jos naudingumas slypi tame, kad vienu duomenų išvesties kontaktu galima valdyti kelis LED, o tai labai supaprastina techninius diegimo aspektus.
Ne visada lengva valdyti šiuos šviesos diodus, nes „NeoPixel“ šviesos diodams reikia tikslaus laiko valdymo. Biblioteka atlieka visus šiuos sudėtingus darbus, todėl galite tiesiog užsiimti smagia veikla, pavyzdžiui, kurti pasirinktinius šviesos raštus ir spalvas. Be to, jis suderinamas su daugybe drožlių ir plokščių, nuo Arduino Uno į naujausius modelius, tokius kaip Arduino Due arba ESP32.
Šios bibliotekos diegimas yra labai svarbus žingsnis. Norėdami tai padaryti, galite naudoti „Arduino“ bibliotekos tvarkyklę, ieškoti „NeoPixel“ ir pasirinkti „Adafruit NeoPixel“ parinktį . Diegimas yra greitas ir atvers daugybę galimybių.
„NeoPixel“ bibliotekos funkcijos
Naudodami „Adafruit NeoPixel“ biblioteką , galite pasinaudoti daugybe funkcijų, kurios supaprastina LED juostų valdymą. Tarp svarbiausių yra:
- Kelių platformų palaikymas, tiek 8, tiek 32 bitų.
- Platus suderinamumas su skirtingomis lustų architektūromis, tokiomis kaip ESP8266, Teensy arba SAMD.
- RGB ir RGBW šviesos diodų palaikymas, tai reiškia, kad galite naudoti LED juosteles su papildomu baltu kanalu.
Be to, biblioteka siūlo tokius metodus kaip „begin()“ , skirtą duomenų kaiščiui paruošti „NeoPixel“ išvesties signalui, „setPixelColor()“ , skirtą kiekvieno LED spalvai apibrėžti, ir „show()“ , skirtą juostelei atnaujinti naujais duomenimis.
Bibliotekos diegimas ir konfigūravimas

„NeoPixel“ bibliotekos diegimas „Arduino“ sistemoje yra labai paprastas. Meniu „Sketch“ pasirinkite „Include Library“ (Įtraukti biblioteką) , tada „Manage Libraries“ (Tvarkyti bibliotekas) . Paieškos laukelyje įveskite bibliotekos pavadinimą, pasirinkite naujausią versiją ir spustelėkite „Install“ (Įdiegti).
Jei norite tai padaryti rankiniu būdu arba turite senesnę Arduino IDE versiją, galite atsisiųsti ZIP failą iš GitHub, išpakuokite jį ir nukopijuokite į savo Arduino bibliotekų aplanką.
Įdiegę atidarykite paprastą pavyzdį, pvz., „strandtest“ , kad patikrintumėte, ar viskas veikia. Šiame eskize užsidegs keli skirtingų spalvų šviesos diodai, taip patikrinant visas pagrindines bibliotekos funkcijas.
Kodai ir pavyzdžiai
Bibliotekoje pateikti pavyzdžiai bus jūsų pačių projektų atskaitos taškas. Kaip pavyzdį:
„NeoPixel“ objekto deklaracija: Norėdami pradėti, turėsite deklaruoti objektą, pagrįstą „Adafruit_NeoPixel“ klase, nurodydami šviesos diodų skaičių, valdymo kontaktą ir šviesos diodo tipą, kuris daugeliu atvejų bus NEO_GRB + NEO_KHZ800.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_PIXELS, PIN, NEO_GRB + NEO_KHZ800);
Tada, setup () metode , iškviečiama begin() , kad paruoštų duomenų išvestį šviesos diodams, o tada show(), kad juos išjungtų paleidimo metu:
void setup() { strip.begin(); strip.show(); }
Norėdami pakeisti konkretaus pikselio spalvą:
strip.setPixelColor(0, strip.Color(255, 0, 0));
Šis kodas paverčia pirmąjį juostelės šviesos diodą raudonai, apibrėždamas RGB reikšmes kaip 255 raudonai ir 0 kitoms spalvoms.
Kiti pagrindiniai aspektai, į kuriuos reikia atsižvelgti
Nors dirbti su „NeoPixel“ juostelėmis yra labai smagu, reikia nepamiršti kai kurių techninių aspektų:
- Maistas: Mažas LED juosteles galima maitinti tiesiai iš Arduino plokštės, tačiau didesniems projektams jums reikės išorinio maitinimo šaltinio, kad spalvos neatrodytų nuobodžios ar nenuoseklios.
- Laiko valdymas: Naudojant tokias funkcijas kaip UŽTRUKIMAS Tai gali būti naudinga pagrindiniuose projektuose, bet kai jūsų kodas auga, geriau pasirinkti MILLIS, kuris yra efektyvesnis.
- Kodo dydis: Išplėstiniams projektams gali prireikti optimizuoti, pavyzdžiui, naudoti klasę FastLED tai suteikia dar daugiau galimybių valdyti LED juostos veikimą, ryškumą ir atnaujinimo dažnį.
Galų gale, turėdami šiek tiek praktikos ir kantrybės, galėsite valdyti įvairius efektus, tokius kaip vaivorykštės ciklai, sklandūs spalvų perėjimai ir į garsą reaguojantis apšvietimas.
Trumpai tariant, „Adafruit“ „NeoPixel“ biblioteka yra būtina bet kokiam projektui, kuriuo norima visapusiškai išnaudoti RGB arba RGBW LED juostų universalumą. Nesvarbu, ar tik pradedate, ar jau dirbote su LED ankstesniuose projektuose, ši biblioteka leis jums sukurti stulbinančius efektus naudojant efektyvų ir lengvai suprantamą kodą.