Talaan ng mga Nilalaman:

Kinokontrol ng RC na Rgb Led Strip: 4 na Hakbang (na may Mga Larawan)
Kinokontrol ng RC na Rgb Led Strip: 4 na Hakbang (na may Mga Larawan)
Anonim
Kinokontrol ng RC ang Rgb Led Strip
Kinokontrol ng RC ang Rgb Led Strip

Lumikha ng iyong sariling rc kinokontrol na led-strip para sa indibidwal na pag-iilaw ng silid!

Karamihan sa mga rgb-led-strips ay kinokontrol ng isang infrared remote control. Upang i-off o i-on o baguhin ang kulay, kailangan mong manatili sa harap ng tatanggap. Nakakatamad ito at hindi talaga matalino. Upang makontrol ang ilaw sa isang mas malamig na paraan, bumuo ako ng isang board na kinokontrol ng rc upang maitakda ang tamang kulay ng strip. Ang rc code ay maaaring ipadala mula sa isang raspberry pi, isipin ang IFTTT. Mas matalino iyon kaysa sa remote control.

Mga bagay na kailangan mo:

  • rgb-led-strip, halimbawa gagawin nito ang bilis ng kamay
  • ATTiny85
  • 433 MHz receiver (at opsyonal na nagpadala)
  • 5v regulator (L7805)
  • 3 NPN transistors, gumamit ako ng darlingtonarray
  • 1 µF kapasitor
  • 10 µF kapasitor
  • 12v power supply
  • hubarin ang circuid board
  • maraming mga wire
  • ATTiny programmer, arduino-mega o arduino-uno
  • opsyonal na raspberry pi upang magpadala ng mga signal

Hakbang 1: Maghinang sa Circuid Board

Maghinang sa Circuid Board
Maghinang sa Circuid Board
Maghinang sa Circuid Board
Maghinang sa Circuid Board
Maghinang sa Circuid Board
Maghinang sa Circuid Board

Kung mayroon kang lahat ng mga sangkap, dapat mong solder ang circuid board.

Ang led-strip ay nangangailangan ng 12v, ang ATTiny at ang rc receiver ay nangangailangan ng 5v, dahil doon, ang circuid ay nakakakuha ng 12v.

Para sa ATTiny at sa rc receiver na ginagamit ko ang 5v regulator, ang aking circuid ay inspirasyon ng sooraj619

Inililipat ng board ang tatlong kulay na pulang berde at asul sa led-strip sa isang iskedyul na 3 ms. Ang bawat kulay sa tamang porsyento upang makamit ang tinukoy na kulay. Dahil sa isang tagal ng timetable na may 3 ms, hindi mo nakikita ang paglipat ng tatlong mga kulay pula na berde at asul, ngunit nakikita mo ang tamang kulay (halimbawa dilaw na halo-halong pula at berde). Sa aking toolbox mayroong isang darlingtonarray, dahil doon ginamit ko ang array na ito upang ilipat ang mga kulay. Maaari mong gamitin ang anumang mga transistor ng NPN.

Huwag kalimutan ang isang 17 cm antena sa tatanggap.

Hakbang 2: I-flash ang ATTiny

Ngayon ay oras na upang i-flash ang ATTiny gamit ang tamang arduino-sketch.

Upang i-flash ang microcontroller, ginamit ko ang ideyang arduino. Wala akong programmer, kaya ginamit ko ang aking arduino-mega. Maaari mong gamitin ang iyong arduino-uno o ang iyong arduino-mega upang i-flash ang ATTiny, na inilarawan dito o dito

Gumagamit ang sketch ng rc switch library upang tanggapin ang signal, maaari mong i-download ito dito.

Ang rc switch library ay isinulat para sa mga arduino board, samakatuwid gumagamit ito ng ilang mga gawain, na hindi magagamit sa ATTiny microcontroller. Dahil sa ATTiny, ang mga linya na 153 hanggang 165 ay pinasimulan ang makagambala sa isang radikal na paraan. Kailangan mo ring gawin ang pamamaraan na 'handleInterrupt' mula sa 'pribado' hanggang sa 'publiko' sa rc switch library.

Hakbang 3: Magpadala ng isang Code Mula sa Iyong Raspberry Pi

Magpadala ng isang Code Mula sa Iyong Raspberry Pi
Magpadala ng isang Code Mula sa Iyong Raspberry Pi
Magpadala ng isang Code Mula sa Iyong Raspberry Pi
Magpadala ng isang Code Mula sa Iyong Raspberry Pi

Ngayon ay oras na upang buksan ang ilaw.

Upang magpadala ng isang senyas dapat mong ikonekta ang rasperry pi sa nagpadala ng rc. Maraming mga website ang nagpapakita ng pagpapadala ng mga rc code gamit ang raspberry pi. Halimbawa dito, dito at dito. Ipinapakita ng imahe ang led strip sa likod ng isang tv screen, ngunit ito ay isang photomontage sa tatlong mga imahe na may solong kulay.

Ang isang minimal na c program upang magpadala ng isang code ay maaaring magmukhang sumusunod:

# isama ang "RCSwitch.h" # isama

# isama

int main (int argc, char * argv ) {

int PIN = 0;

int message = atoi (argv [1]);

kung (mga kablePiSetup () == 1) bumalik 1;

printf ("pagpapadala ng mensahe [% d] n", mensahe);

RCSwitch mySwitch = RCSwitch ();

mySwitch.enableTransmit (PIN);

mySwitch.send (mensahe, 32);

}

Ang kulay ay naka-encode sa isang halaga ng integer na may 4 byte. Ang pinaka-kaliwang byte ay dapat katumbas ng 10, tingnan ang 178 sa sketch. Ang susunod na tatlong byte ay naglalaman ng intensity ng kulay para sa bawat kulay (pula, berde at asul).

Upang magtakda ng isang berdeng ilaw na may 66% na intensity, ipasok ang utos: sudo sendInt 167815680, kung saan ang sendInt ang naipon sa itaas na programa.

Patayin ang led off gamit ang utos: sudo sendInt 167772160

Isipin ang mga posibilidad sa IFTTT, halimbawa 3 segundo asul na ilaw para sa isang email, berde para sa isang notification sa google-kalendaryo. Iyon ay isang maliit na mas matalino kaysa sa pagpindot sa ir remote control sa harap ng tatanggap;)

Hakbang 4: Lumikha ng isang Enclosure

Lumikha ng isang Enclosure
Lumikha ng isang Enclosure
Lumikha ng isang Enclosure
Lumikha ng isang Enclosure
Lumikha ng isang Enclosure
Lumikha ng isang Enclosure

Lumikha ng isang naka-print na enclosure na 3d.

Ang disenyo ay may isang butas para sa power cable at mga puwang sa itaas upang ikonekta ang led strip.

Ginamit ko ang Fusion 360 upang idisenyo ang enclosure at na-export ang resulta bilang isang.step file.

Pinapayagan ng Netfabb ang tessellation pati na rin ang pagbuo ng paghahanda sa trabaho. Ikinabit ko ang 3mf na naglalaman ng tuktok at ilalim ng enclosure. Sinusuportahan din ng Netfabb ang paglikha ng gcode.

Sa wakas gumamit ako ng isang prusa i3 mk2 upang mai-print ang enclosure.

Inirerekumendang: