Indholdsfortegnelse:
- Trin 1: Le Montage
- Trin 2: Le Code Arduino
- Trin 3: Infos Sur Les Codes Infra-Rouge
- Trin 4: Information om Sur -koder RX433
Video: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Le but est d’afficher les codes 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.
På pourra donc ensuite, grâce à une autre montage, envoyer ces codes and piloter n’importe quoi!
Trin 1: Le Montage
Enkel, Arduino Nano, une diode réceptrice infra-rouge et un récepteur 433 mhz.
Trin 2: Le Code Arduino
// InfraRouge
#omfatte
int recvPin = 11; // pin Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#omfatte
RCSwitch mySwitch = RCSwitch ();
decode_results resultater;
ugyldig opsætning ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13 (true); // allume la LED interne lors de l'envoie InfraRouge
mySwitch.enableReceive (0); // Récepteur RX433 (XY-MK-5V) til pin 2 fra Arduino Uno et Nano
}
// affichage des codes InfraRouge
void ircode (decode_results *results)
{
// Panasonic
hvis (results-> decode_type == PANASONIC) {
Serial.print (resultat-> adresse, HEX);
Serial.print (":");
}
Serial.print (resultater-> værdi, HEX);
}//ugyldig
// afficahge des codes encodés
tomrumskodning (dekoderesultater *resultater)
{
switch (resultater-> decode_type) {
Standard:
sag UKendt: Serial.print ("Inconnu"); pause;
sag NEC: Serial.print ("NEC"); pause;
sag SONY: Serial.print ("SONY"); pause;
sag RC5: Serial.print ("RC5"); pause;
sag RC6: Serial.print ("RC6"); pause;
kuffertopvask: Serial.print ("parabol"); pause;
case SHARP: Serial.print ("SHARP"); pause;
sag JVC: Serial.print ("JVC"); pause;
sag SANYO: Serial.print ("SANYO"); pause;
sag MITSUBISHI: Serial.print ("MITSUBISHI"); pause;
sag SAMSUNG: Serial.print ("SAMSUNG"); pause;
sag LG: Serial.print ("LG"); pause;
case WHYNTER: Serial.print ("WHYNTER"); pause;
sag AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); pause;
sag PANASONIC: Serial.print ("PANASONIC"); pause;
sag DENON: Serial.print ("Denon"); pause;
}
}
// dump les résultats
void dumpInfo (dekoderesultater *resultater)
{
// Kontroller, om bufferen overløb
hvis (resultater-> overløb) {
Serial.println ("IR -kode for lang. Rediger IRremoteInt.h og øg RAWBUF");
Vend tilbage;
}
// Vis kodningsstandard
Serial.print ("Kodning:");
kodning (resultater);
Serial.println ("");
// Vis kode og længde
Serial.print ("kode:");
ircode (resultater);
Serial.print ("(");
Serial.print (resultater-> bits, DEC);
Serial.println ("bits)");
}
//struktur
void dumpRaw (decode_results *results)
{
// Udskriv rådata
Serial.print ("Timing [");
Serial.print (resultater-> rawlen-1, DEC);
Serial.println ("]:");
for (int i = 1; i rawlen; i ++) {
usigneret lang x = resultater-> rawbuf * USECPERTICK;
hvis (! (i & 1)) {// selv
Serial.print ("-");
hvis (x <1000) Serial.print ("");
hvis (x <100) Serial.print ("");
Serial.print (x, DEC);
} andet {// ulige
Serial.print ("");
Serial.print ("+");
hvis (x <1000) Serial.print ("");
hvis (x <100) Serial.print ("");
Serial.print (x, DEC);
hvis (i rawlen-1) Serial.print (","); // ',' ikke nødvendig for sidste
}
hvis (! (i % 8)) Serial.println ("");
}
Serial.println (""); // Ny linje
}
//+=============================================================================
// Fjern decode_results -strukturen.
//
void dumpCode (decode_results *results)
{
// Start erklæring
Serial.print ("unsigned int"); // variabel type
Serial.print ("rawData ["); // array -navn
Serial.print (resultater-> rawlen - 1, DEC); // array -størrelse
Serial.print ("] = {"); // Start erklæring
// Dump data
for (int i = 1; i rawlen; i ++) {
Serial.print (resultater-> rawbuf * USECPERTICK, DEC);
hvis (i rawlen-1) Serial.print (","); // ',' ikke nødvendig på den sidste
hvis (! (i & 1)) Serial.print ("");
}
// Afslut erklæring
Serial.print ("};"); //
// Kommentar
Serial.print ("//");
kodning (resultater);
Serial.print ("");
ircode (resultater);
// Ny linje
Serial.println ("");
// Dump nu "kendte" koder
hvis (results-> decode_type! = UKendt) {
// Nogle protokoller har en adresse
hvis (results-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (resultat-> adresse, HEX);
Serial.println (";");
}
// Alle protokoller har data
Serial.print ("unsigned int data = 0x");
Serial.print (resultater-> værdi, HEX);
Serial.println (";");
}
}
void loop ()
/************************************************* *InfraRouge ******************************************/
{
decode_results resultater; // Et sted at gemme resultaterne
if (irrecv.decode (& resultater)) {// Tag en IR -kode
dumpInfo (& resultater); // Output resultaterne
dumpRaw (& resultater); // Output resultaterne i RAW -format
dumpCode (& resultater); // Output resultaterne som kildekode
Serial.println (""); // Tom linje mellem poster
irrecv.resume (); // Forbered dig på den næste værdi
}
/************************************************ *** RX433 ********************************************/
hvis (mySwitch.available ())
{
int value = mySwitch.getReceivedValue ();
Serial.println ("RX433");
hvis (værdi == 0) {
Serial.print ("Codage inconnu");
} andet
{
Serial.print ("Reçu");
Serial.print (mySwitch.getReceivedValue ());
Serial.print (" /");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("bit");
Serial.print ("Protocole:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
} // loop
Trin 3: Infos Sur Les Codes Infra-Rouge
Il y a plusieurs protokoller:
NEC: 32 bit (protokoloplysninger)
Sony: 12 ou 20 bits (protokoloplysninger) (Forståelse af Sony IR -fjernkoder.)
RC5: 12 bits (protokoloplysninger)
RC6: 20 ou 36 bits (protokoloplysninger)
Hæld Sony et RC5/6, chaque transmission doit être répétés 3 fois!
OBS: la librairie IRremote.h ne semble pas pouvoir envoyer des codes codés sur plus de 32bits. Les RC6, 36 doivent donc êtres envoyer en raw, qui prennent plus de taille mémoire.
L’envoie des codes se fera avec la librairie IRremote.h
Eksempel: (0x devant le code) et le nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Trin 4: Information om Sur -koder RX433
L’envoie se fera avec la librairie RCSwitch.h
Eksempel på mySwitch.send (1975778, 24);
På peut facilement piloter avec cela des prises commandés.
Anbefalede:
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
INFRA RØD FJERNKONTROLLeret ROBOCAR VED AT BRUGE AVR (ATMEGA32) MCU: 5 trin
INFRA RØD FJERNKONTROLLeret ROBOCAR VED AT BRUGE AVR (ATMEGA32) MCU: Det foreliggende PROJEKT beskriver et design og implementering af en infrarød (IR) fjernstyret RoboCar, der kan bruges til forskellige automatiserede ubemandede kontrolapplikationer. Jeg har designet fjernbetjent RoboCar (venstre-højre/for-bag-bevægelse). T
RF -modul 433MHZ - Lav modtager og sender fra 433MHZ RF -modul uden mikrokontroller: 5 trin
RF -modul 433MHZ | Lav modtager og sender fra 433MHZ RF -modul uden mikrokontroller: Vil du sende trådløse data? nemt og uden mikrokontroller nødvendig? Her er vi, i denne instruktive vil jeg vise dig mi grundlæggende rf -sender og modtager klar til brug! I denne instruktive kan du sende og modtage data ved hjælp af meget ver
Infra-rød panel-timer: 4 trin (med billeder)
Infra-rød panel-timer: I et af værelserne ovenpå i mit hus har jeg et Infra Red-panel. Når jeg er i det rum, og jeg tænder dette panel, glemmer jeg nogle gange at slukke det, hvilket er spild af værdifuld energi. For at forhindre dette byggede jeg denne Infra Red Panel Ti
ESP-12 Infra Red Blaster: 7 trin
ESP-12 Infra Red Blaster: Infra Red fjernbetjening blaster ved hjælp af esp8266 Overfører fjernbetjeningskoder modtaget fra internettet, der understøtter flere outputenheder. Indbygget i enkel webside hovedsageligt til test. Normal brug er via POST -meddelelser, der kan komme fra websider eller fra IFTT