Galutinis LED šviesos juostų prijungimo prie „Arduino“ vadovas

Galutinis LED šviesos juostų prijungimo prie „Arduino“ vadovas

LED apšvietimo kilimas buvo stratosferinis, ir lengva suprasti, kodėl. Jie yra pigūs gaminti, sunaudoja žymiai mažiau energijos nei kiti apšvietimo variantai, ir daugeliu atvejų jie neįkaista, todėl jie yra saugūs įvairiems tikslams.





Vienas iš labiausiai paplitusių LED produktų yra LED juostelė. Šiame straipsnyje aptarsime, kaip nustatyti du dažniausiai pasitaikančius „Arduino“ tipus. Šie projektai yra labai paprasti ir net jei esate a pradedantysis su Arduino arba „pasidaryk pats“ elektronika, tu galėsi tai padaryti.





Jų valdymui taip pat naudosime „Arduino IDE“. Šiame projekte naudojama „Arduino Uno“, nors galite naudoti beveik bet kurią suderinamą plokštę (pvz., „NodeMCU“).





Pasirinkite savo juostelę

Pirkdami LED juostas, turite apsvarstyti keletą dalykų. Pirmiausia - funkcionalumas. Jei planuojate juosteles naudoti daugiausia aplinkos apšvietimui, tada paprasta 12v RGB šviesos diodas juostelė ( SMD5050 ) būtų teisingas pasirinkimas.

Daugelyje šių juostų yra infraraudonųjų spindulių nuotolinio valdymo pultas, kad būtų galima jas valdyti, nors šiame projekte mes naudosime „Arduino“. Praleiskite šiek tiek laiko apsipirkdami, rašymo metu šias juosteles buvo galima įsigyti tiek mažai $ 1 už metrą .



Vaizdo kreditas: phanu suwannarat per „Shutterstock“

Kaip atsisiųsti muziką nemokamai

Jei norite kažko šiek tiek aukštesnės technologijos, apsvarstykite WS2811 / 12 / 12B . Šios juostelės (kartais vadinamos Neopikseliai ) turi integruotus mikroschemų rinkinius, kurie leidžia juos spręsti atskirai. Tai reiškia, kad jie gali ne tik apšviesti aplinką.





Galite juos panaudoti kurdami pigų LED pikselių ekraną nuo nulio. Jūs netgi galite juos panaudoti savo asmeninei vidaus audros debesų lempai pasigaminti.

Joms maitinti reikia tik 5 V įtampos. Nors nedidelius jų kiekius galima maitinti tiesiai iš „Arduino“ plokštės, paprastai yra gera idėja naudoti atskirą 5 V maitinimo šaltinį, kad apsisaugotumėte nuo kepto „Arduino“ kvapo. Jei ieškote individualiai programuojamų šviesos diodų, tai jums. Rašymo metu jie yra prieinami maždaug 4 USD už metrą .





Kitas dalykas, kurį reikia apsvarstyti, yra tai, kur šios juostos gali būti naudojamos. Abiejų tipų juostos yra skirtingo ilgio, šviesos diodų tankio (šviesos diodų skaičius metre) ir skirtingo atsparumo oro sąlygoms.

Žiūrėdami į LED juostas atkreipkite dėmesį į sąraše esančius skaičius. Paprastai pirmasis skaičius yra šviesos diodų skaičius metrui ir raidės IP po skaitmenų bus jo atsparumas oro sąlygoms. Pavyzdžiui, jei sąraše sakoma 30 IP67 , tai reiškia, kad bus 30 Šviesos diodai vienam metrui. The 6 reiškia, kad jis visiškai uždarytas nuo dulkių, o 7 reiškia, kad jis yra apsaugotas nuo laikino panardinimo į vandenį. (Išmokti daugiau apie atsparumas oro sąlygoms ir IP reitingai .) Kai turėsite pasirinktą LED juostą, laikas ją susieti su „Arduino“. Pradėkime nuo SMD5050.

Prisijungimas

Norėdami prijungti 12v LED juostą prie „Arduino“, jums reikės kelių komponentų:

  • 12v RGB LED juostelė ( SMD5050 )
  • 1 x „Arduino Uno“ (tinka bet kuri suderinama plokštė)
  • 3 x 10 tūkst Omo rezistoriai
  • 3 x Logikos lygis N kanalų MOSFET
  • 1 x duonos lenta
  • Sujungimo laidai
  • 12V maitinimo šaltinis

Prieš nustatydami grandinę, pakalbėkime apie MOSFET .

Kai valdote kažką, kuris yra aukštesnės įtampos nei jūsų mikrovaldiklis, jums reikia kažko tarp jų, kad jūsų lenta nekeptų. Vienas iš paprastesnių būdų tai padaryti yra naudoti MOSFET. Siunčiant impulsų pločio moduliaciją ( PWM ) signalus vartai koją, galima kontroliuoti, kiek galios praeina tarp nutekėti ir šaltinis kojos. Perduodami kiekvieną LED juostos spalvą per MOSFET, galite valdyti kiekvienos atskiros spalvos ryškumą ant LED juostos.

Naudojant mikrovaldiklius, svarbu naudoti loginio lygio komponentus, kad viskas veiktų taip, kaip norite. Įsitikinkite, kad jūsų MOSFET yra loginis lygis ir ne standartas .

Nustatykite grandinę taip:

  1. Prijunkite „Arduino“ kaiščius 9 , 6 , ir 5 į vartai trijų MOSFET kojų ir prijunkite a 10 tūkst rezistorius, atitinkantis kiekvieną įžeminimo bėgį.
  2. Prijunkite Šaltinis kojos prie žemės bėgio.
  3. Prijunkite Nusausinkite kojos prie Žalias , Grynasis , ir Mėlyna jungtys ant LED juostelės.
  4. Prijunkite maitinimo bėgelį prie +12v LED juostelės jungtis (atkreipkite dėmesį, kad šiame paveikslėlyje maitinimo laidas yra juodas, kad atitiktų mano LED juostos jungčių spalvas).
  5. Prijunkite „Arduino“ įžeminimą prie įžeminimo bėgio.
  6. Prijunkite savo 12v maitinimo šaltinis prie maitinimo bėgių.

Dauguma šviesos diodų juostų turi Dupont [Broken URL Removed] jungtis, prie kurių lengva prisijungti. Jei ne jūs, jums gali tekti lituoti laidus prie LED juostos. Neišsigąskite, jei litavimo srityje esate tik naujokas, tai nesudėtingas darbas, ir mes turime vadovą, kaip pradėti lituoti, jei to prireiks.

Šiam projektui mes maitinsime „Arduino“ plokštę per USB. Galite pasirinkti maitinti plokštę naudodami VIN kaištį, tačiau prieš tai darydami įsitikinkite, kad žinote plokštės galios apribojimus.

Kai jūsų grandinė bus baigta, ji turėtų atrodyti maždaug taip:

Dabar, kai viską prijungėte, atėjo laikas sukurti paprastą „Arduino“ eskizą, kad jį valdytumėte.

Išblėsk

Prijunkite „Arduino“ plokštę prie kompiuterio per USB ir atidarykite „Arduino IDE“. Įsitikinkite, kad skydelyje pasirinktas teisingas plokštės ir prievado numeris Įrankiai> Lenta ir Įrankiai> Uostas meniu. Atidarykite naują eskizą ir išsaugokite jį tinkamu pavadinimu.

Šis eskizas vienu metu išbluks vienos spalvos lemputes, kelias sekundes palaikys jas įjungtas, tada užges, kol vėl išjungs. Galite sekti čia ir patys sukurti eskizą arba tiesiog atsisiųsti pilnas kodas iš „GitHub“.

Pradėkite apibrėždami, kuris smeigtukai bus naudojamas MOSFET valdymui.

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

Toliau jums reikia kai kurių kintamųjų. Sukurkite kombinezoną ryškumas kintamasis kartu su kiekvienos spalvos ryškumo kintamuoju. Šviesos diodams išjungti naudosime tik pagrindinį ryškumo kintamąjį, todėl čia nustatykite maksimalią 255 ryškumo vertę.

taip pat turėsite sukurti kintamąjį, kad galėtumėte valdyti, kaip greitai išnyks.

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

Tavo sąranka funkcija nustatysime „Arduino“ kaiščių išvestį. Mes taip pat iškviesime keletą funkcijų su 5 sekundžių vėlavimu. Šių funkcijų dar nėra, tačiau nesijaudinkite, mes jas pasieksime.

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

Dabar sukurkite Įjungti () metodas:

void TurnOn() {
for (int i = 0; i <256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}

for (int i = 0; i <256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}

Šie trys dėl kilpos perkelia kiekvieną spalvą į visą ryškumą per nurodytą laiką fadeSpeed vertės.

Galiausiai turite sukurti Išjunk() metodas:

void TurnOff() {
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);

brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}

Šis metodas taikomas mūsų ryškumas kintamas iki visų trijų spalvų kaiščių ir per tam tikrą laiką sumažėja iki nulio. Čia taip pat reikalingas tuščios kilpos metodas, kad būtų išvengta kompiliavimo klaidų.

Baigę šį eskizą, išsaugokite jį. Patikrinkite eskizą ir įkelkite jį į „Arduino“ plokštę. Jei gaunate klaidų, dar kartą patikrinkite kodą, ar nėra įkyrių rašybos klaidų ar trūksta kabliataškių.

Dabar turėtumėte pamatyti, kaip jūsų LED juostelė pakyla kiekvieną spalvą atskirai, 5 sekundes palaikydama baltą spalvą, o tada tolygiai išnyks:

Jei kyla sunkumų, dar kartą patikrinkite laidus ir kodą.

Šis projektas yra paprastas būdas pradėti, tačiau jame pateiktas idėjas galima išplėsti, kad būtų sukurtas tikrai efektyvus apšvietimas. Turėdami dar keletą komponentų, galite sukurti savo signalą apie saulėtekį. Jei su „Arduino“ turite pradinį rinkinį, įžengdami į kambarį, galite naudoti bet kurį mygtuką ar jutiklį, kad suaktyvintų šviesos diodus, pavyzdžiui:

Padidinkite skirtą vaizdo įrašų srautą „Windows 10“

Dabar, kai apėmėme SMD5050 , pereikime prie WS2812B juostelės.

Ryškios idėjos

Šios juostos reikalauja mažiau komponentų, kad jos veiktų, ir yra tam tikra laisvė tiksliai nustatyti, kokias komponentų vertes galite naudoti. Šios grandinės kondensatorius užtikrina, kad 5 V šviesos diodai gauna pastovų maitinimą. Rezistorius užtikrina, kad iš „Arduino“ gautas duomenų signalas būtų be jokių trukdžių.

Jums reikės:

  • WS2811 / 12 / 12B 5v LED juostelė (visi trys modeliai turi integruotus lustus ir veikia beveik taip pat)
  • 1 x „Arduino Uno“ (arba panaši suderinama plokštė)
  • 1 x 220-440 omų Rezistorius (viskas tarp šių dviejų verčių yra gerai)
  • 1 x 100-1000 mikroFarad Kondensatorius (viskas tarp šių dviejų verčių yra gerai)
  • Duonos lenta ir kabliukai
  • 5V maitinimo šaltinis

Nustatykite grandinę, kaip parodyta diagramoje:

Atkreipkite dėmesį, kad kondensatorius turi būti teisingos krypties. Galite sužinoti, kuri pusė pritvirtinta prie įžeminimo bėgelio, ieškodami minuso (-) ženklo ant kondensatoriaus korpuso.

Šį kartą „Arduino“ maitiname naudodami 5 V maitinimo šaltinį. Dėl to projektas baigiasi atskirai, kai baigsime, nors čia reikia atkreipti dėmesį į svarbius dalykus.

Pirmiausia įsitikinkite, kad jūsų plokštė gali įjungti 5 V maitinimą prieš prijungdama ją prie maitinimo šaltinio. Beveik visos kūrimo plokštės veikia per 5 V įtampą per USB prievadą, tačiau kai kurių maitinimo kaiščiai kartais gali praleisti įtampos reguliatorius ir paversti juos skrebučiais.

Be to, gera praktika yra įsitikinti, kad prie „Arduino“ nėra prijungti keli atskiri maitinimo šaltiniai - atjunkite USB kabelį, kai naudojate išorinį maitinimo šaltinį.

Kai esate prijungtas, jis turėtų atrodyti taip:

Dabar, kai mūsų LED juostelė yra prijungta, pereikime prie kodo.

kaip pakeisti savo profilio nuotrauką youtube

Šokių šviesos

Norėdami saugiai užprogramuoti mūsų plokštę, atjunkite VYNAS linija nuo elektros linijos. Vėliau jį vėl prijungsite.

Prijunkite „Arduino“ prie kompiuterio ir atidarykite „Arduino IDE“. Patikrinkite, ar skiltyje pasirinktas teisingas plokštės ir prievado numeris Įrankiai> Lenta ir Įrankiai> Uostas meniu.

Mes naudosime FastLED biblioteką, kad išbandytumėte mūsų sąranką. Biblioteką galite pridėti spustelėję Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas ir ieškodami „FastLED“. Spustelėkite įdiegti ir biblioteka bus pridėta prie IDE.

Pagal Failas> Pavyzdžiai> „FastLED“ pasirinkite DemoReel100 eskizas. Šis eskizas apima įvairius dalykus, kuriuos galima padaryti naudojant WS2812 LED juostelės ir yra neįtikėtinai lengvai nustatomos.

Viskas, ką jums reikia pakeisti, yra DATA_PIN kintamąjį, kad jis sutaptų kaištis 13 , ir NUM_LEDS kintamasis, kad nustatytumėte, kiek šviesos diodų yra jūsų naudojamoje juostelėje. Šiuo atveju aš naudoju tik nedidelę 10 šviesos diodų liniją, supjaustytą iš ilgesnės juostelės. Naudokite daugiau didesniam šviesos šou!

Viskas! Įkelkite eskizą į savo plokštę, atjunkite USB kabelį ir įjunkite 5 V maitinimo šaltinį. Galiausiai vėl prijunkite „Arduino“ VIN prie elektros linijos ir žiūrėkite laidą!

Jei nieko neatsitiks, patikrinkite laidus ir ar demonstraciniame eskize nurodėte teisingą „Arduino“ kaištį.

Begalinės galimybės

Demonstracinis eskizas parodo kai kuriuos iš daugelio galimų efektų derinių, kuriuos galima pasiekti naudojant WS2812 juosteles. Jie yra ne tik žingsnis į priekį nuo įprastų LED juostų, bet ir praktiškai naudojami. Geras kitas projektas būtų kuriant savo šviesą jūsų žiniasklaidos centrui.

Nors šios juostelės tikrai yra funkcionalesnės nei SMD5050, vis dar neatleiskite standartinių 12 V LED juostų. Jie yra neprilygstami kainos atžvilgiu, o jų yra didžiulis skaičius LED šviesos juostų taikymas .

Išmokti dirbti su LED juostelėmis yra geras būdas susipažinti su pagrindiniu „Arduino“ programavimu, tačiau geriausias būdas išmokti yra tinkavimas. Pakeiskite aukščiau pateiktą kodą ir pažiūrėkite, ką galite padaryti! Jei visa tai jums buvo per daug, apsvarstykite galimybę pradėti šie „Arduino“ projektai pradedantiesiems .

Vaizdo kreditai: mkarco/Shutterstock

Dalintis Dalintis „Tweet“ Paštu „Canon“ prieš „Nikon“: kuris fotoaparato prekės ženklas yra geresnis?

„Canon“ ir „Nikon“ yra du didžiausi pavadinimai fotoaparatų pramonėje. Tačiau kuris prekės ženklas siūlo geresnę fotoaparatų ir objektyvų seriją?

Skaityti toliau
Susijusios temos
  • Pasidaryk pats
  • Arduino
  • LED juostelė
  • LED žibintai
Apie autorių Ianas Buckley(Paskelbti 216 straipsniai)

Ianas Buckley yra laisvai samdomas žurnalistas, muzikantas, atlikėjas ir vaizdo įrašų prodiuseris, gyvenantis Berlyne, Vokietijoje. Kai jis nerašo ar scenoje, jis tikisi pasidaryk pats elektronika ar kodu, tikėdamasis tapti pamišusiu mokslininku.

Daugiau iš Ian Buckley

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia