Isi kandungan:
- Langkah 1: Le Montage
- Langkah 2: Le Code Arduino
- Langkah 3: Infos Sur Les Codes Infra-Rouge
- Langkah 4: Infos Sur Codes RX433
Video: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Le but est d’afficher les code des télécommandes du style commande de lampe, porte de garage et autre fonctionnant sous 433 mhz (RX433) mais aussi ceux des télécommandes infra-rouge de télévision au autre.
Pada perkhidmatan pourra donc, grâce à une autre montage, envoyer ces code et piloter n'importe quoi!
Langkah 1: Le Montage
Simple, un Arduino Nano, une diode réceptrice infra-rouge et un récepteur 433 mhz.
Langkah 2: Le Code Arduino
// InfraRouge
#sertakan
int recvPin = 11; // pin Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#sertakan
RCSwitch mySwitch = RCSwitch ();
keputusan decode_results;
persediaan tidak sah ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13 (benar); // allume la LED interne lors de l'envoie InfraRouge
mySwitch.enableReceive (0); // Récepteur RX433 (XY-MK-5V) sur pin 2 de Arduino Uno et Nano
}
// affichage des code InfraRouge
batal ircode (keputusan decode_results *)
{
// Panasonic
jika (hasil-> decode_type == PANASONIC) {
Serial.print (hasil-> alamat, HEX);
Cetakan bersiri (":");
}
Serial.print (hasil-> nilai, HEX);
} // tidak sah
// afficahge des code encodés
pengekodan tidak sah (keputusan decode_results *)
{
tukar (hasil-> jenis decode_) {
lalai:
kes TIDAK DIKETAHUI: Serial.print ("Inconnu"); rehat;
kes NEC: Serial.print ("NEC"); rehat;
kes SONY: Serial.print ("SONY"); rehat;
kes RC5: Serial.print ("RC5"); rehat;
kes RC6: Serial.print ("RC6"); rehat;
kes DISH: Serial.print ("DISH"); rehat;
kes SHARP: Serial.print ("SHARP"); rehat;
kes JVC: Serial.print ("JVC"); rehat;
kes SANYO: Serial.print ("SANYO"); rehat;
kes MITSUBISHI: Serial.print ("MITSUBISHI"); rehat;
kes SAMSUNG: Serial.print ("SAMSUNG"); rehat;
kes LG: Serial.print ("LG"); rehat;
kes WHYNTER: Serial.print ("WHYNTER"); rehat;
kes AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); rehat;
kes PANASONIC: Serial.print ("PANASONIC"); rehat;
kes DENON: Serial.print ("Denon"); rehat;
}
}
// buang les résultats
batal dumpInfo (keputusan decode_results *)
{
// Periksa sama ada buffer meluap
jika (hasil-> limpahan) {
Serial.println ("Kod IR terlalu lama. Edit IRremoteInt.h dan tingkatkan RAWBUF");
kembali;
}
// Tunjukkan standard Pengekodan
Serial.print ("Encodage:");
pengekodan (hasil);
Serial.println ("");
// Tunjukkan Kod & panjang
Serial.print ("Kod:");
ircode (hasil);
Cetakan bersiri ("(");
Serial.print (hasil-> bit, DEC);
Serial.println ("bit)");
}
// struktur
void dumpRaw (keputusan decode_results *)
{
// Cetak data mentah
Serial.print ("Masa ["];
Serial.print (hasil-> rawlen-1, DEC);
Serial.println ("]:");
untuk (int i = 1; i rawlen; i ++) {
panjang tidak ditandatangani x = hasil-> rawbuf * USECPERTICK;
jika (! (i & 1)) {// genap
Cetakan bersiri ("-");
jika (x <1000) Serial.print ("");
jika (x <100) Serial.print ("");
Cetakan bersiri (x, DEC);
} lain {// ganjil
Cetakan bersiri ("");
Serial.print ("+");
jika (x <1000) Serial.print ("");
jika (x <100) Serial.print ("");
Cetakan bersiri (x, DEC);
jika (i rawlen-1) Serial.print (","); // ',' tidak diperlukan untuk yang terakhir
}
jika (! (i% 8)) Serial.println ("");
}
Serial.println (""); // Baris baru
}
//+=============================================================================
// Buangkan struktur decode_results.
//
kekosongan dumpCode (keputusan decode_results *)
{
// Mulakan pengisytiharan
Serial.print ("int tidak bertanda"); // jenis pemboleh ubah
Serial.print ("rawData ["); // nama array
Serial.print (hasil-> rawlen - 1, DEC); // saiz tatasusunan
Serial.print ("] = {"); // Mulakan pengisytiharan
// Buangkan data
untuk (int i = 1; i rawlen; i ++) {
Serial.print (hasil-> rawbuf * USECPERTICK, DEC);
jika (i rawlen-1) Serial.print (","); // ',' tidak diperlukan pada yang terakhir
jika (! (i & 1)) Serial.print ("");
}
// Pengisytiharan akhir
Cetakan bersiri ("};"); //
// Komen
Cetakan bersiri ("//");
pengekodan (hasil);
Cetakan bersiri ("");
ircode (hasil);
// Baris baru
Serial.println ("");
// Sekarang buang kod "dikenali"
jika (hasil-> decode_type! = TIDAK DIKETAHUI) {
// Beberapa protokol mempunyai alamat
jika (hasil-> decode_type == PANASONIC) {
Serial.print ("int signr = 0x");
Serial.print (hasil-> alamat, HEX);
Serial.println (";");
}
// Semua protokol mempunyai data
Serial.print ("data int yang tidak ditandatangani = 0x");
Serial.print (hasil-> nilai, HEX);
Serial.println (";");
}
}
gelung kosong ()
/ ************************************************* * InfraRouge ****************************************** /
{
keputusan decode_results; // Di suatu tempat untuk menyimpan hasilnya
if (irrecv.decode (& results)) {// Dapatkan kod IR
dumpInfo (& hasil); // Keluarkan hasilnya
dumpRaw (& hasil); // Keluarkan hasilnya dalam format RAW
dumpCode (& hasil); // Keluarkan hasilnya sebagai kod sumber
Serial.println (""); // Garis kosong antara entri
irrecv.resume (); // Bersedia untuk nilai seterusnya
}
/ ************************************************* *** RX433 ******************************************** /
jika (mySwitch.available ())
{
nilai int = mySwitch.getReceivedValue ();
Serial.println ("RX433");
jika (nilai == 0) {
Serial.print ("Codage inconnu");
} lain
{
Serial.print ("Reçu");
Serial.print (mySwitch.getReceivedValue ());
Cetakan bersiri ("/");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("bit");
Serial.print ("Protocole:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
} // gelung
Langkah 3: Infos Sur Les Codes Infra-Rouge
Protokol yang lebih baik:
NEC: 32 bit (perincian protokol)
Sony: 12 ou 20 bit (perincian protokol) (Memahami kod jauh Sony IR.)
RC5: 12 bit (perincian protokol)
RC6: 20 ou 36 bit (perincian protokol)
Tuangkan Sony et RC5 / 6, transmisi chaque être répétés 3 fois!
PERHATIAN: la librairie IRremote.h ne semble pas pouvoir envoyer des code codés sur plus de 32bits. Les RC6, 36 orang tidak mempunyai envoyer en raw, qui prennent plus de taille mémoire.
L'envoie des code se fera avec la librairie IRremote.h
Contoh: (0x devant le code) et le nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Langkah 4: Infos Sur Codes RX433
L'envoie se fera avec la librairie RCSwitch.h
Contoh mySwitch.send (1975778, 24);
Mengenai perintis peut piloter avec cela des prises komando.
Disyorkan:
RF 433MHZ Radio Control Menggunakan HT12D HT12E - Membuat Kawalan Jauh Rf Menggunakan HT12E & HT12D Dengan 433mhz: 5 Langkah
RF 433MHZ Radio Control Menggunakan HT12D HT12E | Membuat Kawalan Jauh Rf Menggunakan HT12E & HT12D Dengan 433mhz: Dalam arahan ini saya akan menunjukkan kepada anda cara membuat alat kawalan jauh RADIO menggunakan modul penerima pemancar 433mhz dengan pengekodan HT12E & IC penyahkod HT12D.Dalam arahan ini, anda boleh menghantar dan menerima data menggunakan KOMPONEN sangat murah SEPERTI: HT
INFRA RED REMOTE CONTROLLED ROBOCAR MENGGUNAKAN AVR AVR (ATMEGA32): 5 Langkah
INFRA RED REMOTE CONTROLLED ROBOCAR MENGGUNAKAN AVR AVR (ATMEGA32): PROJEK ini menerangkan reka bentuk dan pelaksanaan RoboCar kawalan jauh inframerah (IR) yang dapat digunakan untuk pelbagai aplikasi kawalan tanpa pemandu automatik. Saya telah merancang RoboCar kawalan jauh (gerakan kiri-kanan / depan-belakang). T
Modul RF 433MHZ - Buat Penerima dan Pemancar Dari Modul RF 433MHZ Tanpa Mikrokontroler: 5 Langkah
Modul RF 433MHZ | Buat Penerima dan Pemancar Dari Modul RF 433MHZ Tanpa Mikrokontroler: Adakah anda ingin menghantar data tanpa wayar? dengan mudah dan tanpa mikrokontroler diperlukan? Ini dia, dalam arahan ini saya akan menunjukkan kepada anda pemancar dan penerima rf asas yang siap digunakan! Dalam arahan ini, anda boleh menghantar dan menerima data dengan menggunakan
Sensor Jarak Infra-Merah Menggunakan LM358: 5 Langkah
Sensor Proximity Infra-Red Menggunakan LM358: Ini adalah petunjuk mengenai pembuatan sensor Proximity IR
Memperkenalkan 'Deodorino' - Arduino yang Dikendalikan Infra-Merah dalam Tongkat Deodoran Kosong. Klik pada Foto Pertama: 7 Langkah
Memperkenalkan 'Deodorino' - Arduino yang Dikendalikan Infra-Merah dalam Tongkat Deodoran Kosong. Klik pada Foto Pertama: Sekarang ke perincian