- Materiali richiesti:
- Metodologia di lavoro:
- Prerequisiti:
- Funzionamento di un telecomando AC:
- Schema del circuito e spiegazione:
- Decodifica dei segnali del telecomando CA:
- Programma principale Arduino:
- Installazione dell'applicazione Android:
- Funzionamento del telefono cellulare controllato AC:
Nel mondo moderno di oggi, ovunque andiamo, abbiamo molti dispositivi elettronici intorno a noi. Ma, soprattutto, c'è solo un dispositivo che abbiamo personalmente in tasca tutto il tempo. Sì, sono i nostri telefoni cellulari. Ora i cellulari sono diventati più di un dispositivo utilizzato per la comunicazione, sono le nostre macchine fotografiche, sono le nostre mappe, sono i nostri kart della spesa e cosa no?
Con questa capacità nelle nostre mani, è davvero un'idea noiosa usare i telecomandi per controllare qualsiasi applicazione elettronica nella nostra casa come TV, AC, home theater ecc. È sempre frustrante raggiungere il telecomando dell'AC dalla comoda comodità del nostro letto o divano. Quindi in questo progetto costruiremo un piccolo set-up utilizzando il quale puoi controllare il condizionatore d'aria tramite il tuo smartphone utilizzando Bluetooth e Arduino. Sembra interessante, vero! Costruiamone uno
Materiali richiesti:
- Arduino Mega 2560
- TSOP (HS0038)
- Led IR
- LED di qualsiasi colore e resistenza 1K (opzionale)
- HC-06
- Breadboard
- Collegamento dei cavi
Metodologia di lavoro:
Tutti i telecomandi nella nostra casa che usiamo per controllare TV, Home Theater, AC ecc. Funzionano con l'aiuto di IR Blaster. Un blaster IR non è altro che un LED IR che potrebbe blasterare un segnale con impulsi ripetitivi; questo segnale verrà letto dal ricevitore nell'apparecchio elettronico. Per ogni diverso pulsante del telecomando verrà emesso un segnale unico che, dopo essere stato letto dal ricevitore, viene utilizzato per eseguire un particolare compito predefinito. Se siamo in grado di leggere questo segnale in uscita dal telecomando, possiamo quindi imitare lo stesso segnale utilizzando un LED IR quando richiesto per eseguire quella particolare attività. In precedenza abbiamo realizzato un circuito IR Blaster per telecomando IR universale e per il controllo automatico della temperatura CA.
Un TSOP è un ricevitore IR che potrebbe essere utilizzato per decodificare il segnale proveniente dai telecomandi. Useremo questo TSOP per decodificare tutte le informazioni dal nostro telecomando e memorizzarle su Arduino. Quindi utilizzando queste informazioni e un LED IR possiamo ricreare i segnali IR dal nostro Arduino quando richiesto.
Prerequisiti:
Per questo progetto CA con controllo Bluetooth Arduino, assicurati di avere un Arduino Mega e non qualsiasi altra versione di Arduino, poiché la dimensione del codice è pesante. Installa la libreria remota IR utilizzando questo collegamento per lavorare con TSOP e IR Blaster.
Funzionamento di un telecomando AC:
Prima di procedere nel progetto, prenditi un po 'di tempo e nota come funziona il tuo telecomando AC. I telecomandi AC funzionano in modo leggermente diverso rispetto ai telecomandi IR TV e DVD. Potrebbero esserci solo 10-12 pulsanti sul telecomando, ma saranno in grado di inviare molti tipi diversi di segnali. Significa che il telecomando non invia lo stesso codice ogni volta per lo stesso pulsante. Ad esempio, quando diminuisci la temperatura utilizzando il pulsante giù per portarla a 24 ° C (gradi Celsius) otterrai un segnale con un set di dati, ma quando lo premi di nuovo per impostare 25 ° C non otterrai lo stesso dati poiché la temperatura è ora 25 e non 24. Allo stesso modo il codice per 25 varierà anche per diverse velocità della ventola, impostazioni di sospensione ecc. Quindi non giochiamo con tutte le opzioni e concentriamo solo i valori di temperatura con un valore costante per altre impostazioni.
Un altro problema è la quantità di dati che viene inviata per ogni pressione di un pulsante, i normali telecomandi con inviano 24 bit o 48 bit, ma un telecomando CA potrebbe inviare fino a 228 bit poiché ogni segnale contiene molte informazioni come Temp, Velocità della ventola, Tempi del sonno, stile Swing ecc. Questo è il motivo per cui abbiamo bisogno di un Arduino Mega per migliori opzioni di archiviazione.
Schema del circuito e spiegazione:
Fortunatamente la configurazione hardware di questo condizionatore d'aria controllato da telefono cellulare è molto semplice. Puoi semplicemente utilizzare una breadboard ed effettuare i collegamenti come mostrato di seguito.
La tabella seguente può essere utilizzata anche per verificare le connessioni.
S.No: |
Pin componente |
Pin di Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Segnale |
8 |
4 |
Led IR - Catodo |
Gnd |
5 |
Led IR - Anodo |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Gnd |
Terra |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Una volta terminate le connessioni, dovrebbe assomigliare a questo mostrato di seguito. Ho usato una breadboard per riordinare le cose, ma puoi anche collegare direttamente i cavi da maschio a femmina per collegare tutti i componenti
Decodifica dei segnali del telecomando CA:
Il primo passo per controllare il tuo AC è usare TSOP1738 per decodificare i codici IR del telecomando AC. Effettuare tutti i collegamenti come mostrato nello schema elettrico e assicurarsi di aver installato tutte le librerie menzionate. Ora apri il programma di esempio " IRrecvDumpV2 " che può essere trovato in File -> Esempi -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Poiché il nostro TSOP è connesso al pin 8, cambia il numero di riga 9 in int recPin = 8 come mostrato sopra. Quindi carica il programma sul tuo Arduino Mega e apri il monitor seriale.
Puntare il telecomando verso TSOP e premere un pulsante qualsiasi, per ogni pulsante premuto il rispettivo segnale verrà letto dal TSOP1738, decodificato da Arduino e visualizzato nel monitor seriale. Ad ogni cambio di temperatura sul tuo telecomando otterrai un dato diverso. Salva questi dati perché li useremo nel nostro programma principale. Il tuo monitor seriale avrà un aspetto simile a questo, ho anche mostrato il file Word su cui ho salvato i dati copiati.
Lo screenshot mostra il codice per impostare la temperatura a 26 ° C per il mio telecomando AC. In base al tuo telecomando otterrai un diverso set di codici. Allo stesso modo copiare i codici per tutti i diversi livelli di temperatura. Puoi controllare tutti i codici IR del telecomando del condizionatore d'aria nel codice Arduino fornito alla fine di questo tutorial.
Programma principale Arduino:
Il programma principale completo di Arduino può essere in fondo a questa pagina, ma non è possibile utilizzare lo stesso programma. È necessario modificare i valori del codice del segnale che abbiamo appena ottenuto dallo schizzo di esempio. Apri il programma principale sul tuo IDE Arduino e scorri verso il basso fino a quest'area mostrata di seguito dove devi sostituire i valori dell'array con i valori che hai ottenuto per il tuo telecomando.
Si noti che ho usato 10 array di cui due usavamo per accendere e spegnere l'AC mentre il resto 8 è usato per impostare una temperatura diversa. Ad esempio Temp23 viene utilizzato per impostare 23 * C sul tuo AC, quindi usa il rispettivo codice in quell'Array. Fatto ciò, devi solo caricare il codice sul tuo Arduino.
Dobbiamo importare due librerie per questo progetto. Una è la libreria IRremote che abbiamo appena aggiunto ad Arduino e l'altra è la Software Serial Library incorporata che ci aiuta nell'utilizzo del modulo Bluetooth.
#includere
Successivamente inizializziamo il modulo Bluetooth sui pin 10 e 11 e quindi utilizziamo un oggetto chiamato irsend per accedere a tutte le funzionalità IR della libreria.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Poi vengono le linee di codice molto importanti. Qui è dove sono presenti le informazioni per controllare il tuo AC. Quello mostrato sotto è per il mio telecomando AC, dovresti averlo ottenuto nel passaggio precedente.
Successivamente, all'interno della funzione di configurazione del vuoto , inizializziamo due comunicazioni seriali. Uno è Bluetooth a 9600 baud rate e l'altro è il monitor seriale a 57600 baud rate.
void setup () {BT_module.begin (9600); // BT funziona su 9600 Serial.begin (57600); // Serial Monitor work son 57600}
All'interno del nostro loop void ( loop infinito), controlliamo se c'è qualcosa ricevuto dal modulo Bluetooth. Se viene ricevuto qualcosa, memorizziamo tali informazioni nella variabile BluetoothData .
while (BT_module.available ()) // Se i dati stanno arrivando {BluetoothData = BT_module.read (); // leggilo e salvalo Serial.println (BluetoothData); // stampalo su seriale a scopo di test}
Le informazioni ricevute dal Bluetooth saranno basate sul pulsante premuto sulla nostra app Android che installeremo nel nostro prossimo passaggio. Una volta ricevute le informazioni, dobbiamo solo attivare il rispettivo codice IR come di seguito
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Invia segnale per impostare Temperatue 23C}
Qui se viene ricevuto il codice '2' dobbiamo impostare la temperatura dell'AC a 23 ° C. Allo stesso modo abbiamo un codice da 0 a 9 per eseguire tutte le funzioni di controllo di base di AC. Puoi fare riferimento al codice arduino completo alla fine di questa pagina.
Installazione dell'applicazione Android:
Il passaggio finale dell'Aria condizionata controllata da smartphone è installare l'applicazione Android. L'applicazione Android per questo progetto è stata creata utilizzando Processing Android Mode. L'elaborazione è uno strumento eccellente per creare file.EXE o file APK per i tuoi progetti incorporati. È una piattaforma open source proprio come Arduino e quindi completamente gratuita da scaricare per l'uso.
Se non vuoi approfondire troppo, puoi semplicemente scaricare il file APK da qui all'interno del file zip e installarlo direttamente sul tuo cellulare. Apri l'applicazione e otterrai una schermata come mostrato di seguito, dopodiché puoi procedere al passaggio successivo e divertirti a lavorare con il progetto. Ma se vuoi modificare il programma dell'applicazione per adattarlo alle tue esigenze, puoi leggere oltre.
Il file di programma completo per il codice di elaborazione può essere scaricato da qui. Questo Zip avrà il codice e la sorgente dell'immagine con cui funziona l'applicazione. Dopo aver aperto il codice puoi modificare le seguenti righe per adattarlo alle tue necessità.
Come detto in precedenza, Processing è simile ad Arduino. Quindi ha anche funzioni void setup e void loop (qui draw). All'interno della funzione di configurazione del vuoto istruiremo il Bluetooth del telefono per connettersi al Bluetooth di Arduino. Il nome del mio dispositivo qui è "HC-05", quindi la mia riga di codice sarà
bt.start (); // inizia ad ascoltare le connessioni BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Collegati al nostro modulo bluetooth HC-06
Successivamente, all'interno delle funzioni load_buttons () , puoi disegnare tutti i pulsanti che desideri. Ho disegnato 10 pulsanti come mostrato nell'applicazione. Seguita da ciò abbiamo la funzione read_buttons () che viene utilizzata per rilevare quale pulsante stai toccando. Ogni pulsante ha un colore specifico, quindi quando un utente tocca lo schermo controlliamo quale colore ha toccato e determiniamo quale pulsante ha toccato. Di seguito è mostrato un codice di esempio per creare un pulsante e selezionarlo in base al colore
riempimento (255,145,3); rect (larghezza / 2-larghezza / 4, altezza / 2, larghezza / 4, altezza / 12); riempimento (255); testo ("25C", larghezza / 2-larghezza / 4, altezza / 2); // pulsante 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (data);}
La riga "byte data = {'0'};" è una linea molto importante. Qui è dove decidiamo quale codice deve essere inviato ad Arduino tramite Bluetooth. Qui se si preme questo pulsante il carattere "0" viene inviato dal Bluetooth ad Arduino. Allo stesso modo possiamo inviare un carattere diverso per pulsanti diversi. Questi caratteri possono quindi essere confrontati sul lato Arduino e possono essere intraprese le rispettive azioni.
Vai avanti e giocherella con il codice, se hai qualche dubbio contattami attraverso la sezione commenti e farò del mio meglio per aiutarti.
Funzionamento del telefono cellulare controllato AC:
Una volta che sei pronto con l'hardware, il codice Arduino e le applicazioni Android, è ora di goderti l'output. Carica il codice Arduino sul tuo hardware e posizionalo di fronte al tuo AC. Ora apri l'applicazione Android sul tuo telefono cellulare, se tutto funziona come previsto dovresti vedere " Connesso a: nome_dispositivo (alcuni codici) " come mostrato di seguito
Ora basta premere un pulsante qualsiasi sulla tua applicazione Android e dovrebbe attivare una rispettiva azione sull'AC come se stessi usando un telecomando. Puoi aggiungere tutti i pulsanti che desideri modificando il codice e anche automatizzare il tuo condizionatore in base alla temperatura o alla presenza della tua stanza. Controlla il codice Arduino completo e il video qui sotto.
Spero che il progetto vi sia piaciuto e che ne abbiate compreso il concetto. Come sempre, se hai qualche problema nel far funzionare questo, puoi usare i forum per inviare domande e risolverle.
Il file APK per l'installazione dell'applicazione Android può essere scaricato da qui.