Ultimate Gabay sa Pagkonekta ng LED Light Strips sa Arduino

Ultimate Gabay sa Pagkonekta ng LED Light Strips sa Arduino

Ang pagtaas ng pag-iilaw ng LED ay naging stratospheric, at madaling makita kung bakit. Mura ang mga ito upang makabuo, ubusin ang mas kaunting lakas kaysa sa iba pang mga pagpipilian sa pag-iilaw, at sa karamihan ng mga kaso ay hindi maiinit, ginagawa silang ligtas para sa iba't ibang mga paggamit.





Ang isa sa mga pinaka-karaniwang produkto ng LED ay ang LED strip. Sa artikulong ito, sasakupin namin kung paano i-set up ang dalawang pinakakaraniwang uri sa isang Arduino. Ang mga proyektong ito ay napaka-simple, at kahit na ikaw ay isang nagsisimula sa Arduino o DIY electronics, magagawa mo ito.





Gagamitin din namin ang Arduino IDE upang makontrol ang mga ito. Gumagamit ang proyektong ito ng isang Arduino Uno, kahit na maaari mong gamitin ang halos anumang katugmang board (tulad ng NodeMCU).





Piliin ang Iyong Strip

Kapag namimili ng mga LED strip ay may ilang mga bagay na dapat isaalang-alang. Una ay ang pagpapaandar. Kung nagpaplano kang gamitin ang mga strips karamihan para sa ambient na ilaw, pagkatapos ay isang simple 12v RGB LED hubarin ( SMD5050 ) ay ang tamang pagpipilian.

Marami sa mga piraso na ito ay mayroong isang infrared na remote upang makontrol ang mga ito, kahit na sa proyektong ito gagamitin namin ang isang Arduino sa halip. Gumugol ng kaunting oras sa pamimili, sa oras ng pagsulat posible na makuha ang mga piraso na ito kahit kasing kaunti $ 1 bawat metro .



Credit sa Larawan: phanu suwannarat sa pamamagitan ng Shutterstock

kung paano suriin ang uri ng seguridad ng wifi na windows 10

Kung nais mo ang isang bagay na medyo mas mataas na tech, isaalang-alang ang WS2811 / 12 / 12B . Ang mga strip na ito (kung minsan ay tinukoy bilang Mga Neopixel ) ay may pinagsamang mga chipset na nagpapahintulot sa kanila na direktang mapagbigyan. Nangangahulugan ito na may kakayahan silang higit pa sa pag-iilaw sa paligid.





Maaari mong gamitin ang mga ito upang bumuo ng isang murang pagpapakita ng LED pixel mula sa simula. Maaari mo ring gamitin ang mga ito upang gumawa ng iyong sariling personal na panloob na lampara sa cloud cloud.

Ang mga strip na ito ay nangangailangan lamang ng 5v upang mapagana ang mga ito. Habang posible na paganahin ang maliit na halaga ng mga ito nang direkta mula sa isang Arduino board, sa pangkalahatan ay isang magandang ideya na gumamit ng isang hiwalay na 5V power supply upang mai-save ang iyong sarili mula sa amoy ng pritong Arduino. Kung naghahanap ka para sa mga indibidwal na maaaring mai-program na LED, ito ay para sa iyo. Sa oras ng pagsulat, magagamit ang mga ito para sa paligid $ 4 bawat metro .





Ang isa pang bagay na dapat isaalang-alang ay kung saan ang mga strip na ito ay malamang na magamit. Parehong mga uri ng strip na ito ay magkakaiba-iba ang haba, mga LED density (ang bilang ng mga LED bawat metro), at magkakaibang antas ng pag-iilaw ng panahon.

Kapag tumitingin sa mga LED strip, bigyang pansin ang mga numero sa listahan. Karaniwan, ang unang numero ay ang bilang ng mga LED bawat metro, at ang mga titik IP na sinusundan ng mga numero ay magiging hindi tinatablan ng panahon. Halimbawa, kung sinasabi sa listahan 30 IP67 , nangangahulugan ito na magkakaroon 30 Mga LED bawat metro. Ang 6 nagsasaad na ito ay ganap na natatakan mula sa alikabok, at ang 7 nangangahulugang protektado ito laban sa pansamantalang pagkalubog sa tubig. (Matuto ng mas marami tungkol sa weatherproofing at mga rating ng IP .) Kapag napili mo na ang LED strip, oras na upang mai-link ito sa isang Arduino. Magsimula tayo sa SMD5050.

Nakakonekta

Upang maiugnay ang isang 12v LED strip sa isang Arduino, kakailanganin mo ng ilang mga bahagi:

  • 12v RGB LED strip ( SMD5050 )
  • 1 x Arduino Uno (gagawin ng anumang katugmang board)
  • 3 x 10k Ohm Resistors
  • 3 x Antas ng Logic Mga N-channel MOSFET
  • 1 x Breadboard
  • Mga wire ng hookup
  • 12v Power Supply

Bago i-set up ang circuit, pag-usapan natin MOSFETs .

Tuwing kinokontrol mo ang isang bagay na mas mataas ang boltahe kaysa sa iyong microcontroller, kailangan mo ng isang bagay sa pagitan upang ihinto ang pagprito ng iyong board. Ang isa sa mga mas simpleng paraan upang magawa ito ay ang paggamit ng isang MOSFET. Sa pamamagitan ng pagpapadala ng modulate ng lapad ng pulso ( PWM ) signal sa gate binti, posible na makontrol kung gaano karaming kapangyarihan ang dumadaan sa pagitan ng alisan ng tubig at pinagmulan mga binti Sa pamamagitan ng pagpasa sa bawat kulay ng LED strip sa pamamagitan ng MOSFET, maaari mong makontrol ang ningning ng bawat indibidwal na kulay sa LED strip.

Kapag gumagamit ng mga microcontroller, mahalagang gumamit ng mga bahagi ng antas ng lohika upang matiyak na gumagana ang mga bagay sa gusto mong paraan. Siguraduhin na ang iyong MOSFET ay antas ng lohika at hindi pamantayan .

I-set up ang iyong circuit tulad nito:

  1. Ikonekta ang mga pin ng Arduino 9 , 6 , at 5 sa gate mga binti ng tatlong MOSFET, at ikonekta ang a 10k risistor na naaayon sa bawat isa sa ground rail.
  2. Ikonekta ang Pinagmulan mga binti sa ground rail.
  3. Ikonekta ang Maubos mga binti sa Berde , Net , at Bughaw mga konektor sa LED strip.
  4. Ikonekta ang power rail sa + 12v konektor ng LED strip (tandaan na sa imaheng ito ang power wire ay itim upang tumugma sa mga kulay ng mga konektor sa aking LED strip).
  5. Ikonekta ang ground Arduino sa ground rail.
  6. Ikonekta ang iyong 12v supply ng kuryente sa mga riles ng kuryente.

Karamihan sa mga LED strip ay may mga konektor ng Dupont [Broken URL Tinanggal], na madaling kumonekta. Kung wala sa iyo maaaring kailanganin mong maghinang ng mga wire sa LED strip. Huwag gulatin kung ikaw ay bago sa paghihinang, ito ay isang madaling trabaho, at mayroon kaming isang gabay sa pagsisimula sa paghihinang kung kailangan mo ito.

Papalakasin namin ang aming Arduino board sa pamamagitan ng USB para sa proyektong ito. Maaari mong piliing i-power ang iyong board gamit ang VIN pin, ngunit tiyaking alam mo ang mga limitasyon ng kuryente para sa iyong board bago gawin ito.

Kapag kumpleto ang iyong circuit dapat itong magmukhang ganito:

Ngayon na konektado mo na ang lahat, oras na upang gumawa ng isang simpleng Arduino sketch upang makontrol ito.

Fade It Up

Ikonekta ang iyong Arduino board sa iyong computer sa pamamagitan ng USB at buksan ang Arduino IDE. Tiyaking mayroon kang tamang board at port number na napili para sa iyong board sa Mga tool> Lupon at Mga tool> Port mga menu Magbukas ng isang bagong sketch at i-save ito sa isang naaangkop na pangalan.

Ang sketch na ito ay mag-fade ng mga ilaw sa isang kulay nang paisa-isa, panatilihin ang mga ito sa loob ng ilang segundo, pagkatapos ay mawala sa kanila hanggang sa sila ay patay muli. Maaari mong sundin ang dito at gawin ang sketch mismo, o simpleng i-download ang kumpletong code mula sa GitHub.

Magsimula sa pagtukoy ng alin mga pin gagamitin upang makontrol ang mga MOSFET.

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

Susunod na kailangan mo ng ilang mga variable. Lumikha ng isang pangkalahatang ningning variable, kasama ang isang variable para sa liwanag ng bawat indibidwal na kulay. Gagamitin lamang namin ang pangunahing variable ng ningning para sa pag-off ng mga LED, kaya itakda ito sa maximum na halaga ng ningning ng 255 dito.

kakailanganin mo ring lumikha ng isang variable upang makontrol kung gaano kabilis ang pagkupas.

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

Sa iyong pag-setup itatakda namin ang aming mga pin ng Arduino upang mag-output. Tatawagan din namin ang isang pares ng mga pagpapaandar na may 5 segundo na pagkaantala sa pagitan. Ang mga pagpapaandar na ito ay wala pa, ngunit huwag mag-alala, makakarating kami sa kanila.

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

Ngayon likhain ang Buksan () pamamaraan:

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);
}
}

Ang tatlong ito para sa ang mga loop ay kukuha ng bawat kulay hanggang sa buong ningning nito sa isang oras na tinukoy ng fadeSpeed halaga

Panghuli kailangan mong likhain ang Patayin() pamamaraan:

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() {
}

Nalalapat ang pamamaraang ito sa aming ningning variable sa lahat ng tatlong mga pin ng kulay at binabawasan ang mga ito sa zero sa loob ng isang panahon. Kailangan namin ng walang laman na paraan ng loop dito, upang maiwasan ang mga pagkakamali sa pagtitipon.

Kapag nakumpleto mo na ang sketch na ito, i-save ito. I-verify ang sketch at i-upload ito sa iyong Arduino board. Kung nakakakuha ka ng mga pagkakamali, suriin muli ang code para sa anumang mga nakakatawang typo o nawawalang mga semicolon.

Ngayon ay dapat mong makita ang iyong LED strip ramp up bawat kulay nang paisa-isa, hawak ang puting kulay sa loob ng 5 segundo, at pagkatapos ay pare-parehong mawala sa wala:

Kung nagkakaroon ka ng anumang mga paghihirap, i-double check muli ang iyong mga kable at code.

Ang proyektong ito ay isang simpleng paraan upang makapagsimula, ngunit ang mga ideya na saklaw dito ay maaaring mapalawak upang makagawa ng tunay na mabisang ilaw. Sa ilan pang mga bahagi maaari kang lumikha ng iyong sariling alarma sa pagsikat. Kung nakakuha ka ng isang starter kit gamit ang iyong Arduino maaari kang gumamit ng anumang pindutan o sensor upang ma-trigger ang iyong mga LED kapag pumasok ka sa silid, halimbawa:

android 6.0 1 ilipat ang apps sa sd card

Ngayong natakpan na natin ang SMD5050s , magpatuloy tayo sa WS2812B mga piraso

Maliwanag na Mga Ideya

Ang mga strip na ito ay nangangailangan ng mas kaunting mga bahagi upang mapatakbo ang mga ito, at mayroong ilang mga kalayaan kung eksakto kung anong mga halaga ng mga bahagi ang maaari mong gamitin. Tinitiyak ng capacitor sa circuit na ito na ang 5v LEDs ay makakuha ng isang matatag na supply ng kuryente. Tinitiyak ng risistor ang signal ng data na natanggap mula sa Arduino na libre mula sa anumang pagkagambala.

Kakailanganin mong:

  • WS2811 / 12 / 12B 5v LED strip (lahat ng tatlong mga modelo ay may pinagsamang mga chip at gumagana nang pareho sa parehong paraan)
  • 1 x Arduino Uno (o katulad na katugmang board)
  • 1 x 220-440 Ohm Resistor (anumang bagay sa pagitan ng dalawang halagang ito ay mabuti)
  • 1 x 100-1000 microFarad Capacitor (anumang bagay sa pagitan ng dalawang halagang ito ay mabuti)
  • Breadboard at i-hook up ang mga wire
  • 5V supply ng kuryente

I-set up ang iyong circuit tulad ng ipinakita sa diagram:

Tandaan na ang capacitor ay dapat na tamang oryentasyon. Maaari mong sabihin kung aling panig ang nakakabit sa ground rail sa pamamagitan ng pagtingin sa minus (-) na pag-sign sa katawan ng capacitor.

Sa oras na ito pinalalakas namin ang Arduino gamit ang 5v Power supply. Ginagawa nitong mag-iisa ang proyekto kapag tapos na kami, kahit na may mga mahahalagang bagay na dapat tandaan dito.

Una, siguraduhin na ang iyong board ay maaaring tumagal ng 5v lakas bago ilakip ito sa pinagmulan ng kuryente. Ang halos lahat ng mga board ng pag-unlad ay tumatakbo sa 5v sa pamamagitan ng USB port, ngunit ang mga power input pin sa ilan ay paminsan-minsan ay laktawan ang mga regulator ng boltahe at gawing toast ito.

Gayundin, mahusay na kasanayan upang matiyak na maraming magkakahiwalay na mapagkukunan ng kuryente ay hindi konektado sa Arduino - idiskonekta ang USB cable tuwing gumagamit ka ng isang panlabas na suplay ng kuryente.

Kapag na-plug in ka dapat ganito ang hitsura:

Ngayon na naka-wire ang aming LED strip, magpatuloy tayo sa code.

bawal ba si tiktok

Mga Sindi ng Sayawan

Upang ligtas na mai-program ang aming board, idiskonekta ang WINE linya mula sa linya ng kuryente. Ire-reachach mo ito sa paglaon.

Ikabit ang iyong Arduino sa computer at buksan ang Arduino IDE. Suriin na mayroon kang tamang board at port number na napili sa Mga tool> Lupon at Mga tool> Port mga menu

Gagamitin namin ang Mabilis library upang subukan ang aming pag-set up. Maaari kang magdagdag ng library sa pamamagitan ng pag-click sa Sketch> Isama ang Library> Pamahalaan ang Mga Aklatan at naghahanap para sa FastLED. I-click ang i-install, at ang library ay idaragdag sa IDE.

Sa ilalim ni File> Mga Halimbawa> Mabilis Piliin ang DemoReel100 sketch Ang sketch na ito ay umiikot sa iba't ibang mga bagay na maaaring gawin sa WS2812 Mga LED strip, at hindi kapani-paniwalang madaling i-set up.

Ang kailangan mo lang baguhin ay ang DATA_PIN variable upang tumugma ito pin 13 , at ang NUM_LEDS variable upang tukuyin kung gaano karaming mga LEDs sa strip na iyong ginagamit. Sa kasong ito, gumagamit lamang ako ng isang maliit na linya ng 10 LEDS na hiwa mula sa isang mas mahabang strip. Gumamit ng higit pa para sa isang mas malaking light show!

Ayan yun! I-upload ang sketch sa iyong board, idiskonekta ang USB cable at i-on ang iyong 5v power supply. Sa wakas, muling ikabit ang VIN ng Arduino sa linya ng kuryente at panoorin ang palabas!

Kung walang nangyari, suriin ang iyong mga kable at tinukoy mo ang tamang Arduino pin sa demo sketch.

Walang katapusang Mga Posibilidad

Ipinapakita ng demo ng sketch ang ilan sa maraming mga posibleng kumbinasyon ng mga epekto na maaaring makamit sa mga WS2812 strips. Sa tabi ng pagiging isang hakbang mula sa regular na mga LED strip, maaari din silang magamit sa praktikal na paggamit. Ang isang mahusay na susunod na proyekto ay pagbuo ng iyong sariling pagkuha para sa iyong media center.

Habang ang mga strip na ito ay tiyak na mas gumagana kaysa sa SMD5050s, huwag pa diskwento ang karaniwang 12v LED strips. Ang mga ito ay hindi matatalo sa mga tuntunin ng presyo, at mayroong isang malaking bilang ng mga application para sa mga light light strip .

Ang pag-aaral na gumana sa mga LED strip ay isang mahusay na paraan upang pamilyar sa pangunahing programa sa Arduino, ngunit ang pinakamahusay na paraan upang malaman ay sa pamamagitan ng pag-tinkering. Baguhin ang code sa itaas at tingnan kung ano ang maaari mong gawin! Kung ang lahat ng ito ay medyo sobra para sa iyo, isaalang-alang na magsimula sa ang mga proyektong Arduino na ito para sa mga nagsisimula .

Mga Kredito sa Larawan: mkarco / Shutterstock

Magbahagi Magbahagi Mag-tweet Email Canon vs. Nikon: Aling Camera Brand Ay Mas Mabuti?

Ang Canon at Nikon ay ang dalawang pinakamalaking pangalan sa industriya ng camera. Ngunit aling tatak ang nag-aalok ng mas mahusay na lineup ng mga camera at lente?

Basahin Susunod
Mga Kaugnay na Paksa
  • DIY
  • Arduino
  • LED Strip
  • Mga Ilaw ng LED
Tungkol sa May-akda Ian Buckley(216 Mga Artikulo Nai-publish)

Si Ian Buckley ay isang freelance journalist, musikero, tagaganap at tagagawa ng video na naninirahan sa Berlin, Germany. Kapag hindi siya nagsusulat o nasa entablado, nakikipag-usap siya sa mga elektronikong DIY o code sa pag-asang maging isang baliw na siyentista.

Higit pa Mula kay Ian Buckley

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe
Kategorya Diy