Hashtag più usati
1 | #include |
2 | #drone |
3 | #dlcitalia |
4 | #ets2 |
5 | #eurotrucksimulator2 |
6 | #arduino |
7 | #youtube |
8 | #xiaomi |
9 | #aukey |
Ultimi argomenti attivi
» Comunicazione termine servizio Arduino BT ControlDa Admin Mar Mag 10, 2022 12:55 pm
» Robot aspirapolvere per Alexa: Dreame D9
Da Admin Mar Feb 09, 2021 9:42 am
» Come costruire un robot smart con Arduino
Da Admin Mar Nov 17, 2020 12:15 pm
» TOPPS Trading Cards Match Attax Champsion League/Europa League 2020/21
Da Admin Mar Nov 10, 2020 3:21 pm
» Guida per utilizzare Arduino BT Control v1.2
Da Admin Gio Lug 09, 2020 12:01 pm
» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm
» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am
» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am
» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm
I postatori più attivi del mese
Nessun utente |
Come posso trasmettere unsegnale ir con arduino?
3 partecipanti
Pagina 1 di 1
Come posso trasmettere unsegnale ir con arduino?
Buona sera a tutti volevo chiedere se è possibile approfondire l'argomento di arduinio sugli infrarossi.
Da internet ho scaricato uno sketch tramite il quale è possibile decodificare il segnale di un
telecomando ad infrarossi. Nel mio caso sono interessato ai telecomandi radio e stufe a pellet
decodificando il pulsante di accensione di una radio mi esce questo:
Bene io ora voglio ritrasmettere questo codice alla radio tramite arduino con un led ir naturalmente,
ho provato a seguire qualche guida ma non ho ben capito come funziona l'inserimento del codice
e sinceramante non ho ben capito neanche il discorso qui sopra decimale esadecimale e raw..
Qualcuno può aiutarmi Grazie Atutti in anticipo.
Da internet ho scaricato uno sketch tramite il quale è possibile decodificare il segnale di un
telecomando ad infrarossi. Nel mio caso sono interessato ai telecomandi radio e stufe a pellet
decodificando il pulsante di accensione di una radio mi esce questo:
- Codice:
Decoded SAMSUNG: 8087887(32 bits)
#define Something_DEC 134772871
#define Something_HEX 8087887
Raw (68): 19500 4500 -4400 600 -550 550 -eccettera non lo riporto tutto per comodità..
Bene io ora voglio ritrasmettere questo codice alla radio tramite arduino con un led ir naturalmente,
ho provato a seguire qualche guida ma non ho ben capito come funziona l'inserimento del codice
e sinceramante non ho ben capito neanche il discorso qui sopra decimale esadecimale e raw..
Qualcuno può aiutarmi Grazie Atutti in anticipo.
Dock- Livello uno
- Messaggi : 14
Crediti : 23
Reputazione : 0
Data d'iscrizione : 01.03.16
Età : 44
Re: Come posso trasmettere unsegnale ir con arduino?
Ciao, l'infrarossi è abbastanza complicato da comprendere. Personalmente l'ho provato 5-6 volte, realizzando anche un bel progettino per il condizionatore (non ancora completato) ma purtroppo... Ho bruciato il ricevitore!!
Ti passo un progetto che sono riuscito a recuperare (trasmette segnale di accensione e spegnimento):
Infine nel loop inserisci il comando per avviarlo. Il metodo è .sendRaw(). Questo metodo ha tre elementi (prendiamo in esempio l'accensione, mostrato nel codice):
- acc: Nome dell'array indicato nella parte sopra del programma.
- sizeof(acc)/sizeof(int): Sono le dimensioni. Devi sostituire semplicemente acc con il nome del tuo array.
- khz: E' la variabile che abbiamo indicato all'inizio.
Fammi sapere se ti è stato utile e se sei riuscito a farlo funzionare in qualche modo
Ti passo un progetto che sono riuscito a recuperare (trasmette segnale di accensione e spegnimento):
- Codice:
#include <IRremote.h> //inserisco la libreria
IRsend irsend; //nome dell'ir che assegno
void setup()
{
Serial.begin(9600);
}
int khz=38;
unsigned acc[] ={8300,4250,400,1700,450,550,500,550,450,600,450,1650,450,600,450,600,450,600,400,650,450,550,450,600,500,550,450,600,450,600,450,600,450,600,450,600,450,1650,450,1600,450,1650,450,600,450,1650,400,650,450,550,500,1600,450,600,450,1650,450,1650,450}; //il codice indicato nel raw
unsigned off[] ={8300,4200,500,1600,500,550,500,550,500,550,450,1600,550,500,500,550,500,550,500,1600,500,1600,450,600,500,500,550,500,550,500,500,550,500,550,500,550,500,550,500,550,450,600,450,550,550,1550,500,550,500,1600,450,600,500,500,500,600,450,1600,550}; //il codice indicato nel raw
void loop() {
irsend.sendRaw(acc, sizeof(acc)/sizeof(int), khz); //accende
delay(5000);
irsend.sendRaw(off, sizeof(off)/sizeof(int), khz); //spegne
delay(5000);
}
- Codice:
19500 4500 -4400 600 -550 550 -eccettera non lo riporto tutto per comodità..
Infine nel loop inserisci il comando per avviarlo. Il metodo è .sendRaw(). Questo metodo ha tre elementi (prendiamo in esempio l'accensione, mostrato nel codice):
- acc: Nome dell'array indicato nella parte sopra del programma.
- sizeof(acc)/sizeof(int): Sono le dimensioni. Devi sostituire semplicemente acc con il nome del tuo array.
- khz: E' la variabile che abbiamo indicato all'inizio.
Fammi sapere se ti è stato utile e se sei riuscito a farlo funzionare in qualche modo
Re: Come posso trasmettere unsegnale ir con arduino?
Ciao scusami il ritardo nella risposta ma solo oggi ho potuto applicarmi!!!
Il codice da te postato funziona benissimo sono riuscito ad inviare i segnali ir
correttamente ad una stufa a pellet della extraflame che monta elettronica micronova.
Ho preso il codice raw cancellato la prima serie di numeri e nei rimanenti ho sostituito i trattini
e gli spazi con delle virgole posto codici e schemi che ho usato.
Codice per il ricevitore:
Schema che ho seguito per connettere il ricevitore ad arduino:
codice per emettitore cioè il tuo
Schema emettitore:
Ora mi metto a buttar giù un progettino con le cose che mi hai insegnato sento già che avrò bisogno ancora del tuo aiuto GRAZIE
Il codice da te postato funziona benissimo sono riuscito ad inviare i segnali ir
correttamente ad una stufa a pellet della extraflame che monta elettronica micronova.
Ho preso il codice raw cancellato la prima serie di numeri e nei rimanenti ho sostituito i trattini
e gli spazi con delle virgole posto codici e schemi che ho usato.
Codice per il ricevitore:
- Codice:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
// decode_results *results = (decode_results *)v
void dump(decode_results *results) {
int count = results->rawlen;
if (results->decode_type == UNKNOWN) {
Serial.print("Unknown encoding: ");
}
else if (results->decode_type == NEC) {
Serial.print("Decoded NEC: ");
}
else if (results->decode_type == SONY) {
Serial.print("Decoded SONY: ");
}
else if (results->decode_type == RC5) {
Serial.print("Decoded RC5: ");
}
else if (results->decode_type == RC6) {
Serial.print("Decoded RC6: ");
}
else if (results->decode_type == SAMSUNG) {
Serial.print("Decoded SAMSUNG: ");
}
else if (results->decode_type == JVC) {
Serial.print("Decoded JVC: ");
}
else if (results->decode_type == PANASONIC) {
Serial.print("Decoded Panasonic: ");
}
Serial.print(results->value, HEX);
Serial.print("(");
Serial.print(results->bits, DEC);
Serial.println(" bits)");
Serial.print("#define Something_DEC ");
Serial.println(results->value, DEC);
Serial.print("#define Something_HEX ");
Serial.println(results->value, HEX);
Serial.print("Raw (");
Serial.print(count, DEC);
Serial.print("): ");
for (int i = 0; i < count; i++) {
if ((i % 2) == 1) {
Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
}
else {
Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
}
Serial.print(" ");
}
Serial.println("");
}
void loop() {
if (irrecv.decode(&results)) {
dump(&results);
irrecv.resume(); // Receive the next value
}
}
Schema che ho seguito per connettere il ricevitore ad arduino:
codice per emettitore cioè il tuo
- Codice:
#include <IRremote.h> //inserisco la libreria
IRsend irsend; //nome dell'ir che assegno
void setup()
{
Serial.begin(9600);
}
int khz=38;
unsigned
acc[]
={8300,4250,400,1700,450,550,500,550,450,600,450,1650,450,600,450,600,450,600,400,650,450,550,450,600,500,550,450,600,450,600,450,600,450,600,450,600,450,1650,450,1600,450,1650,450,600,450,1650,400,650,450,550,500,1600,450,600,450,1650,450,1650,450};
//il codice indicato nel raw
unsigned off[]
={8300,4200,500,1600,500,550,500,550,500,550,450,1600,550,500,500,550,500,550,500,1600,500,1600,450,600,500,500,550,500,550,500,500,550,500,550,500,550,500,550,500,550,450,600,450,550,550,1550,500,550,500,1600,450,600,500,500,500,600,450,1600,550};
//il codice indicato nel raw
void loop() {
irsend.sendRaw(acc, sizeof(acc)/sizeof(int), khz); //accende
delay(5000);
irsend.sendRaw(off, sizeof(off)/sizeof(int), khz); //spegne
delay(5000);
}
Schema emettitore:
Ora mi metto a buttar giù un progettino con le cose che mi hai insegnato sento già che avrò bisogno ancora del tuo aiuto GRAZIE
Dock- Livello uno
- Messaggi : 14
Crediti : 23
Reputazione : 0
Data d'iscrizione : 01.03.16
Età : 44
Re: Come posso trasmettere unsegnale ir con arduino?
questo mi mancava. Penso di usarlo anche io, grazie
Germano- Livello uno
- Messaggi : 19
Crediti : 28
Reputazione : 2
Data d'iscrizione : 15.02.16
Età : 37
Località : Milano
Argomenti simili
» Sketch arduino: come posso modificarlo? (RFID)
» Dove posso acquistare un Arduino Nano compatibile 100%?
» Imparare Arduino: Come posso fare un impianto di birra?
» Come trasmettere in live su Youtube
» Programmare Arduino online - Arduino Create
» Dove posso acquistare un Arduino Nano compatibile 100%?
» Imparare Arduino: Come posso fare un impianto di birra?
» Come trasmettere in live su Youtube
» Programmare Arduino online - Arduino Create
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.