Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Napravite vlastitu LED traku s daljinskim upravljanjem za individualno osvjetljenje prostorije!
Većina rgb-led traka kontrolira se infracrvenim daljinskim upravljačem. Da biste ga isključili ili uključili ili promijenili boju, morate ostati ispred prijemnika. Ovo je dosadno i nije baš pametno. Za kontrolu svjetla na hladniji način, razvio sam ploču s daljinskim upravljanjem za postavljanje prave boje trake. RC kod se može poslati sa maline pi, zamislite IFTTT. To je mnogo pametnije od daljinskog upravljača.
Stvari koje su vam potrebne:
- rgb-led-strip, na primjer ovo bi pomoglo
- ATTiny85
- 433 MHz prijemnik (i opcionalno pošiljalac)
- 5v regulator (L7805)
- 3 NPN tranzistora, koristio sam darlingtonarray
- 1 μF kondenzator
- 10 µF kondenzator
- 12v napajanje
- trakasta ploča
- nekoliko žica
- ATTiny programer, arduino-mega ili arduino-uno
- opcionalno malina pi za slanje signala
Korak 1: Lemite ploču
Ako imate sve komponente, morate lemiti pločicu.
LED traci je potrebno 12v, ATTiny-u i rc prijemniku 5v, zbog toga strujno kolo dobija 12v.
Za ATTiny i rc prijemnik koristim regulator od 5v, moj krug je inspiriran sooraj619
Ploča prebacuje tri boje, crvenu zelenu i plavu, na LED traku u rasporedu od 3 ms. Svaka boja u pravom postotku za postizanje određene boje. Zbog trajanja rasporeda od 3 ms, ne vidite promjenu tri boje crvenu zelenu i plavu, ali vidite samo pravu boju (na primjer žutu pomiješanu s crvenom i zelenom). U mojoj kutiji s alatima postojao je niz dragih, zbog toga sam koristio ovaj niz za promjenu boja. Možete koristiti bilo koji NPN tranzistor.
Ne zaboravite antenu od 17 cm na prijemniku.
Korak 2: Probrišite ATTiny
Sada je vrijeme da ažurirate ATTiny s pravom arduino skicom.
Za fleširanje mikrokontrolera koristio sam arduino ide. Nemam programera, pa sam koristio svoj arduino-mega. Možete koristiti svoj arduino-uno ili svoj arduino-mega za bljeskanje ATTiny-a, opisanog ovdje ili ovdje
Skica koristi biblioteku rc prekidača za prijem signala, možete je preuzeti ovdje.
Biblioteka rc switch je napisana za arduino ploče, stoga koristi neke rutine, koje nisu dostupne u ATTiny mikrokontroleru. Zbog ATTiny -a, redovi 153 do 165 inicijalizuju prekid na vrlo radikalan način. Morate također načiniti metodu 'handleInterrupt' iz 'privatne' u 'javnu' u biblioteci rc prekidača.
Korak 3: Pošaljite kôd sa svog Raspberry Pi -a
Sada je vrijeme da upalite svjetlo.
Za slanje signala morate povezati rasperry pi sa rc pošiljaocem. Nekoliko web stranica prikazuje slanje rc kodova s malinom pi. Na primjer ovdje, ovdje i ovdje. Slika prikazuje LED traku iza TV ekrana, ali ovo je fotomontaža od tri slike u jednoj boji.
Minimalni c program za slanje koda može izgledati ovako:
#include "RCSwitch.h" #include
#include
int main (int argc, char *argv ) {
int PIN = 0;
int poruka = atoi (argv [1]);
if (wiringPiSetup () == 1) vrati 1;
printf ("slanje poruke [%d] n", poruka);
RCSwitch mySwitch = RCSwitch ();
mySwitch.enableTransmit (PIN);
mySwitch.send (poruka, 32);
}
Boja je kodirana u cijeloj vrijednosti sa 4 bajta. Krajnji lijevi bajt mora biti jednak 10, vidi 178 na skici. Sljedeća tri bajta sadrže intenzitet boje za svaku boju (crvenu, zelenu i plavu).
Za postavljanje zelenog svjetla sa 66% intenziteta, unesite naredbu: sudo sendInt 167815680, gdje je sendInt gornji prevedeni program.
Isključite LED diodu naredbom: sudo sendInt 167772160
Zamislite mogućnosti s IFTTT-om, na primjer 3 sekunde plavo svjetlo za e-poštu, zeleno za obavijest u Google kalendaru. To je malo pametnije od pritiska daljinskog upravljača ispred prijemnika;)
Korak 4: Kreirajte kućište
Napravite 3D štampano kućište.
Dizajn ima otvor za kabel za napajanje i praznine na vrhu za povezivanje LED trake.
Koristio sam Fusion 360 za dizajn kućišta i izvezao rezultat kao.step datoteku.
Netfabb omogućava testiranje, kao i pripremu posla za izradu. Priključio sam 3mf koji sadrži gornju i donju stranu kućišta. Netfabb također podržava stvaranje gcode -a.
Na kraju sam koristio prusa i3 mk2 za ispis kućišta.