Sommario:

Striscia LED RGB controllata da RC: 4 passaggi (con immagini)
Striscia LED RGB controllata da RC: 4 passaggi (con immagini)

Video: Striscia LED RGB controllata da RC: 4 passaggi (con immagini)

Video: Striscia LED RGB controllata da RC: 4 passaggi (con immagini)
Video: Neon LED RGB Strip - адресная wi-fi лента для Tuya Smart c IP67, интеграция в Home Assistant 2024, Novembre
Anonim
Striscia LED RGB controllata da RC
Striscia LED RGB controllata da RC

Crea la tua striscia led controllata da RC per l'illuminazione individuale della stanza!

La maggior parte delle strisce led rgb sono controllate da un telecomando a infrarossi. Per spegnerlo o accenderlo o cambiarne il colore, devi stare davanti al ricevitore. Questo è noioso e non molto intelligente. Per controllare la luce in modo più fresco, ho sviluppato una scheda controllata da RC per impostare il colore giusto della striscia. Il codice rc può essere inviato da un Raspberry Pi, pensa a IFTTT. È molto più intelligente del telecomando ir.

Cose di cui hai bisogno:

  • rgb-led-strip, per esempio questo farebbe il trucco
  • ATTiny85
  • Ricevitore 433 MHz (e opzionalmente trasmettitore)
  • Regolatore 5v (L7805)
  • 3 transistor NPN, ho usato un darlingtonarray
  • Condensatore da 1 µF
  • Condensatore da 10 µF
  • Alimentazione 12v
  • scheda circuid strip
  • diversi fili
  • ATTiny programmatore, arduino-mega o arduino-uno
  • facoltativamente lampone pi per inviare segnali

Passaggio 1: saldare la scheda Circuid

Saldare la scheda Circuid
Saldare la scheda Circuid
Saldare la scheda Circuid
Saldare la scheda Circuid
Saldare la scheda Circuid
Saldare la scheda Circuid

Se hai tutti i componenti, devi saldare la scheda circuid.

La striscia led ha bisogno di 12v, l'ATTiny e il ricevitore rc hanno bisogno di 5v, per questo motivo il circuito riceve 12v.

Per l'ATTiny e il ricevitore rc uso il regolatore 5v, il mio circuid è stato ispirato da sooraj619

La scheda commuta i tre colori rosso verde e blu alla striscia led in un tempo di 3 ms. Ogni colore nella giusta percentuale per ottenere il colore specificato. A causa di una durata dell'orario di 3 ms, non vedi cambiare i tre colori rosso verde e blu, ma vedi solo il colore giusto (ad esempio giallo mescolato a rosso e verde). Nella mia cassetta degli attrezzi c'era un darlingtonarray, per questo ho usato questo array per cambiare i colori. Puoi usare qualsiasi transistor NPN.

Non dimenticare un'antenna da 17 cm sul ricevitore.

Passaggio 2: lampeggia l'ATTiny

Ora è il momento di eseguire il flashing di ATTiny con lo schizzo arduino giusto.

Per eseguire il flashing del microcontrollore, ho usato l'ide di arduino. Non ho un programmatore, quindi ho usato il mio arduino-mega. Puoi usare il tuo arduino-uno o il tuo arduino-mega per flashare ATTiny, descritto qui o qui

Lo schizzo utilizza la libreria di interruttori rc per ricevere il segnale, puoi scaricarlo qui.

La libreria rc switch è stata scritta per le schede arduino, quindi utilizza alcune routine, che non sono disponibili nel microcontrollore ATTiny. A causa dell'ATTiny, le righe da 153 a 165 inizializzano l'interrupt in modo molto radicale. Devi anche rendere il metodo 'handleInterrupt' da 'privato' a 'pubblico' nella libreria rc switch.

Passaggio 3: invia un codice dal tuo Raspberry Pi

Invia un codice dal tuo Raspberry Pi
Invia un codice dal tuo Raspberry Pi
Invia un codice dal tuo Raspberry Pi
Invia un codice dal tuo Raspberry Pi

Ora è il momento di accendere la luce.

Per inviare un segnale è necessario collegare il rasperry pi con il mittente rc. Diversi siti Web dimostrano l'invio di codici rc con raspberry pi. Ad esempio qui, qui e qui. L'immagine mostra la striscia led dietro uno schermo tv, ma questo è un fotomontaggio di tre immagini con un solo colore.

Un programma c minimo per inviare un codice può essere simile al seguente:

#include "RCSwitch.h" #include

#includere

int main(int argc, char *argv) {

int PIN = 0;

int messaggio = atoi(argv[1]);

if (wiringPiSetup() == 1) return 1;

printf("invio messaggio[%d]\n", messaggio);

RCSwitch mioSwitch = RCSwitch();

mySwitch.enableTransmit(PIN);

mySwitch.send(messaggio, 32);

}

Il colore è codificato in un valore intero con 4 byte. Il byte più a sinistra deve essere uguale a 10, vedere 178 nello schizzo. I successivi tre byte contengono l'intensità del colore per ogni colore (rosso, verde e blu).

Per impostare una luce verde con intensità del 66%, inserire il comando: sudo sendInt 167815680, dove sendInt è il programma sopra compilato.

Spegni il led con il comando: sudo sendInt 167772160

Immagina possibilità con IFTTT, ad esempio 3 secondi di luce blu per un'e-mail, verde per una notifica del calendario di Google. È un po' più intelligente che premere il telecomando a infrarossi davanti al ricevitore;)

Passaggio 4: creare un allegato

Crea un allegato
Crea un allegato
Crea un allegato
Crea un allegato
Crea un allegato
Crea un allegato

Crea un involucro stampato in 3D.

Il design ha un foro per il cavo di alimentazione e spazi vuoti nella parte superiore per collegare la striscia led.

Ho usato Fusion 360 per progettare l'enclosure ed ho esportato il risultato come file.step.

Netfabb consente la tassellatura e la preparazione del lavoro di costruzione. Ho attaccato il 3mf che contiene la parte superiore e inferiore della custodia. Netfabb supporta anche la creazione di gcode.

Alla fine ho usato una prusa i3 mk2 per stampare la custodia.

Consigliato: