Controllo della presa tramite telecomando IR
Faremo una presa che si accende e si spegne con l'aiuto di un telecomando a infrarossi.
Devo dire subito che se qualcosa non è chiaro spiegherò tutto nei commenti.
Tensione di avvertimento 220 V
Di cosa abbiamo bisogno:
- Arduino
- Ricevitore IR
- Telecomando IR
- Maglioni come papà mamma e papà papà
- Relè a stato solido 220 V.
- Presa con un filo strappato
- scheda di prototipazione
- Lampadina con portalampada
Mettendo tutto insieme
Per iniziare, prendiamo la presa, svitiamo le 2 viti e la apriamo.
Quindi fissiamo 2 fili in due terminali con un cacciavite e tagliamo un filo a metà. In modo che risulti come nella foto.
Quindi, inserire i due fili che tagliamo in un relè a stato solido per 220 V, come mostrato nella figura, esattamente il contrario!
Ora colleghiamo tutto come nella foto.
Sensore IR:
- Piede sinistro GND
- gamba centrale 5 V.
- gamba destra A0
Relè a stato solido 220 V.
- Vcc - 5 V.
- gnd - GND
- IN - D9
Ed ecco lo schizzo stesso
#include // collega la libreria per funzionare con il ricevitore IR
IRrecv irrecv (A0); // indica il pin a cui è collegato il ricevitore IR
risultati decode_results;
void setup () // procedura di installazione
{
irrecv.enableIRIn (); // inizia a ricevere il segnale a infrarossi
pinMode (9, OUTPUT); // il pin 9 sarà l'output (ing. "output")
pinMode (A0, INPUT); // il pin A0 sarà un input ("intput" inglese)
Serial.begin (9600); // collega il monitor della porta
}
procedura void loop () // loop
{
if (irrecv.decode (& results)) // se i dati sono arrivati, esegui i comandi
{
Serial.println (results.value); // invia i dati ricevuti alla porta
// accende e spegne i LED, a seconda del segnale ricevuto
if (results.value == 16754775) {
digitalWrite (9, HIGH); // spegni la luce
}
if (results.value == 16775175) {
digitalWrite (9, LOW); // accende la luce
}
irrecv.resume (); // riceve il segnale successivo sul ricevitore IR
}
}
Scarica lo schizzo
Dopo aver caricato lo schizzo, aprire il monitor della porta e premere il pulsante sul telecomando IR. Viene invece scritto il risultato di una singola stampa
if (results.value == 16775175) {
digitalWrite (9, LOW);
}
Ora puoi riempire lo schizzo e usarlo!
Usa con attenzione! Non sono responsabile per le tue ferite!