INHOUDSOPGAWE:
- Stap 1: Le Montage
- Stap 2: Le Code Arduino
- Stap 3: Infos Sur Les Codes Infra-Rouge
- Stap 4: Inligting oor kodes RX433
Video: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Le but est d'afficher les codes des télécommandes du style commande de lampe, porte de garage en autre fonctionnant sous 433 mhz (RX433) mais aussi ceux des télécommandes infra-rouge de télévision au autre.
Op pourra donc ensuite, grâce à une autre montage, gesant ces codes en piloter n’importe quoi!
Stap 1: Le Montage
Eenvoudig, Arduino Nano, une diode réceptrice infra-rouge en un récepteur 433 mhz.
Stap 2: Le Code Arduino
// InfraRouge
#insluit
int recvPin = 11; // pen Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#insluit
RCSwitch mySwitch = RCSwitch ();
resultate van dekode_resultate;
leemte opstelling ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13 (waar); // allume la LED interne lors de l'envoie InfraRouge
mySwitch.enableReceive (0); // Récepteur RX433 (XY-MK-5V) op pen 2 van Arduino Uno et Nano
}
// affichage des codes InfraRouge
ongeldig ircode (dekodeeresultate *resultate)
{
// Panasonic
as (resultate-> decode_type == PANASONIC) {
Serial.print (resultate-> adres, HEX);
Serial.print (":");
}
Serial.print (resultate-> waarde, HEX);
} // leeg
// afficahge des codes encodés
leemte -kodering (dekode_resultate *resultate)
{
skakelaar (resultate-> dekodeertipe) {
verstek:
saak onbekend: Serial.print ("Inconnu"); breek;
saak NEC: Serial.print ("NEC"); breek;
saak SONY: Serial.print ("SONY"); breek;
geval RC5: Serial.print ("RC5"); breek;
saak RC6: Serial.print ("RC6"); breek;
saak GEREG: Serial.print ("GEREG"); breek;
geval SHARP: Serial.print ("SHARP"); breek;
saak JVC: Serial.print ("JVC"); breek;
saak SANYO: Serial.print ("SANYO"); breek;
saak MITSUBISHI: Serial.print ("MITSUBISHI"); breek;
saak SAMSUNG: Serial.print ("SAMSUNG"); breek;
geval LG: Serial.print ("LG"); breek;
geval WHYNTER: Serial.print ("WHYNTER"); breek;
saak AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); breek;
saak PANASONIC: Serial.print ("PANASONIC"); breek;
saak DENON: Serial.print ("Denon"); breek;
}
}
// dump les résultats
leegte dumpInfo (dekodeeresultate *resultate)
{
// Kyk of die buffer oorloop
as (resultate-> oorloop) {
Serial.println ("IR -kode te lank. Wysig IRremoteInt.h en verhoog RAWBUF");
terugkeer;
}
// Toon koderingstandaard
Serial.print ("Encodage:");
kodering (resultate);
Serial.println ("");
// Wys kode en lengte
Serial.print ("Kode:");
ircode (resultate);
Serial.print ("(");
Serial.print (resultate-> bits, DEC);
Serial.println ("bits)");
}
// struktuur
void dumpRaw (decode_results *resultate)
{
// Druk rou data af
Serial.print ("Tydsberekening [");
Serial.print (resultate-> rawlen-1, DEC);
Serial.println ("]:");
vir (int i = 1; i rawlen; i ++) {
ongetekende lang x = resultate-> rawbuf * USECPERTICK;
as (! (i & 1)) {// selfs
Serial.print ("-");
as (x <1000) Serial.print ("");
as (x <100) Serial.print ("");
Serial.print (x, DEC);
} anders {// vreemd
Serial.print ("");
Serial.print ("+");
as (x <1000) Serial.print ("");
as (x <100) Serial.print ("");
Serial.print (x, DEC);
as (i rawlen-1) Serial.print (","); // ',' nie nodig vir die laaste een nie
}
as (! (i % 8)) Serial.println ("");
}
Serial.println (""); // Nuwe lyn
}
//+=============================================================================
// Verwyder die decode_results -struktuur.
//
void dumpCode (decode_results *resultate)
{
// Begin verklaring
Serial.print ("unsigned int"); // veranderlike tipe
Serial.print ("rawData ["); // skikking naam
Serial.print (resultate-> rawlen - 1, DES); // skikking grootte
Serial.print ("] = {"); // Begin verklaring
// stort data
vir (int i = 1; i rawlen; i ++) {
Serial.print (resultate-> rawbuf * USECPERTICK, DEC);
as (i rawlen-1) Serial.print (","); // ',' nie nodig op die laaste een nie
as (! (i & 1)) Serial.print ("");
}
// Beëindig verklaring
Serial.print ("};"); //
// Lewer kommentaar
Serial.print ("//");
kodering (resultate);
Serial.print ("");
ircode (resultate);
// Nuwe lyn
Serial.println ("");
// Gooi nou "bekende" kodes weg
if (results-> decode_type! = UNKNOWN) {
// Sommige protokolle het 'n adres
as (resultate-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (resultate-> adres, HEX);
Serial.println (";");
}
// Alle protokolle het data
Serial.print ("unsigned int data = 0x");
Serial.print (resultate-> waarde, HEX);
Serial.println (";");
}
}
leemte lus ()
/************************************************ *InfraRouge ****************************************/
{
resultate van dekode_resultate; // Iewers om die resultate te stoor
if (irrecv.decode (& resultate)) {// Gryp 'n IR -kode
dumpInfo (& resultate); // Gee die resultate
dumpRaw (& resultate); // Stel die resultate in RAW -formaat af
dumpCode (& resultate); // Stel die resultate as bronkode in
Serial.println (""); // Leë lyn tussen inskrywings
irrecv.resume (); // Berei voor vir die volgende waarde
}
/************************************************ *** RX433 *******************************************/
as (mySwitch.available ())
{
int waarde = mySwitch.getReceivedValue ();
Serial.println ("RX433");
as (waarde == 0) {
Serial.print ("Codage inconnu");
} anders
{
Serial.print ("Reçu");
Serial.print (mySwitch.getReceivedValue ());
Serial.print (" /");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("bietjie");
Serial.print ("Protocole:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
} // lus
Stap 3: Infos Sur Les Codes Infra-Rouge
Die plusprotokolle:
NEC: 32 bis (protokolbesonderhede)
Sony: 12 of 20 bisse (protokolbesonderhede) (Sony IR -afstandskodes verstaan.)
RC5: 12 bisse (protokolbesonderhede)
RC6: 20 ou 36 bisse (protokolbesonderhede)
Giet Sony et RC5/6, chaque transmissie kan drie répétés gee!
AANDAG: 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
Voorbeeld: (0x devant le code) et le nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Stap 4: Inligting oor kodes RX433
L'envoie se fera avec la librairie RCSwitch.h
Voorbeeld mySwitch.send (1975778, 24);
Op peiling facilement piloter avec cela des prises commandés.
Aanbeveel:
Hoe om 'n deurvrye deurklokkie te maak, liggaamstemperatuuropsporing, GY-906, 433MHz met behulp van Arduino: 3 stappe
Hoe om 'n nie-aanraakdeurklokkie te maak, liggaamstemperatuuropsporing, GY-906, 433MHz met behulp van Arduino: vandag maak ons 'n nie-aanraakdeurklok, dit sal u liggaamstemperatuur opspoor. In die huidige situasie is dit baie belangrik om te weet of iemand se liggaamstemperatuur hoër is as normaal, as iemand besig is om te skop
RF 433MHZ radiobeheer met HT12D HT12E - Maak 'n RF -afstandsbediening met HT12E en HT12D met 433mhz: 5 stappe
RF 433MHZ radiobeheer met HT12D HT12E | Maak 'n RF -afstandsbediening met behulp van HT12E en HT12D met 433mhz: In hierdie instruksies sal ek jou wys hoe om 'n RADIO -afstandsbediening te maak met 'n 433mhz sender -ontvanger module met HT12E -kodeer & HT12D -dekodeerder IC.In hierdie instruksies kan u data stuur en ontvang met baie goedkoop komponente soos: HT
INFRA ROOI AFSTANDSBEDIENING ROBOCAR MET AVR (ATMEGA32) MCU: 5 stappe
INFRA ROOI AFSTANDSBESTUURDE ROBOCAR MET AVR (ATMEGA32) MCU: Die huidige PROJEK beskryf 'n ontwerp en implementering van 'n infrarooi (IR) afstandsbediende RoboCar wat gebruik kan word vir verskillende outomatiese onbemande beheertoepassings. Ek het RoboCar op afstand beheer (beweging links-regs/voor-agter). T
RF -module 433MHZ - Maak ontvanger en sender vanaf 433MHZ RF -module sonder enige mikrobeheerder: 5 stappe
RF -module 433MHZ | Maak 'n ontvanger en sender van 'n 433MHZ RF -module sonder enige mikrobeheerder: wil u draadlose data stuur? maklik en sonder 'n mikrobeheerder nodig? Hier gaan ons, in hierdie instruksies, sal ek u die basiese RF -sender en ontvanger wys wat gereed is om gebruik te word! In hierdie instruksies kan u data stuur en ontvang met behulp van baie ver
ESP-12 Infra Red Blaster: 7 stappe
ESP-12 Infra Red Blaster: Infra Red afstandsbediening blaster met behulp van esp8266 Stuur afstandsbedieningskodes wat van die web af ontvang word, ondersteun veelvuldige uitsetapparate. Ingeboude eenvoudige webblad hoofsaaklik vir toetsing. Normale gebruik is via POST -boodskappe wat van webblaaie of van IFTT afkomstig kan wees