Innehållsförteckning:
- Steg 1: Le Montage
- Steg 2: Le Code Arduino
- Steg 3: Information Sur Les Codes Infra-Rouge
- Steg 4: Information om surkoder RX433
Video: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
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 och piloter n’importe quoi!
Steg 1: Le Montage
Enkelt, Arduino Nano, une diode réceptrice infra-rouge et un récepteur 433 mhz.
Steg 2: Le Code Arduino
// InfraRouge
#omfatta
int recvPin = 11; // pin Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#omfatta
RCSwitch mySwitch = RCSwitch ();
resultat avkodningsresultat;
void setup ()
{
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) sur pin 2 de Arduino Uno et Nano
}
// affichage des codes InfraRouge
void ircode (decode_results *results)
{
// Panasonic
if (results-> decode_type == PANASONIC) {
Serial.print (resultat-> adress, HEX);
Serial.print (":");
}
Serial.print (resultat-> värde, HEX);
}//tomhet
// afficahge des codes encodés
ogiltig kodning (avkodningsresultat *resultat)
{
switch (resultat-> avkodningstyp) {
standard:
fall okänt: Serial.print ("Inconnu"); ha sönder;
fall NEC: Serial.print ("NEC"); ha sönder;
case SONY: Serial.print ("SONY"); ha sönder;
fall RC5: Serial.print ("RC5"); ha sönder;
fall RC6: Serial.print ("RC6"); ha sönder;
fodral DISH: Serial.print ("DISH"); ha sönder;
fall SHARP: Serial.print ("SHARP"); ha sönder;
fall JVC: Serial.print ("JVC"); ha sönder;
fall SANYO: Serial.print ("SANYO"); ha sönder;
fodral MITSUBISHI: Serial.print ("MITSUBISHI"); ha sönder;
fall SAMSUNG: Serial.print ("SAMSUNG"); ha sönder;
fodral LG: Serial.print ("LG"); ha sönder;
fall WHYNTER: Serial.print ("WHYNTER"); ha sönder;
fall AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); ha sönder;
fodral PANASONIC: Serial.print ("PANASONIC"); ha sönder;
fall DENON: Serial.print ("Denon"); ha sönder;
}
}
// dump les résultats
void dumpInfo (avkodningsresultat *resultat)
{
// Kontrollera om bufferten flödade över
if (resultat-> överflöde) {
Serial.println ("IR -kod för lång. Redigera IRremoteInt.h och öka RAWBUF");
lämna tillbaka;
}
// Visa kodningsstandard
Serial.print ("Kodning:");
kodning (resultat);
Serial.println ("");
// Visa kod och längd
Serial.print ("Kod:");
ircode (resultat);
Serial.print ("(");
Serial.print (resultat-> bitar, DEC);
Serial.println ("bitar"));
}
//strukturera
void dumpRaw (avkodningsresultat *resultat)
{
// Skriv ut rådata
Serial.print ("Timing [");
Serial.print (resultat-> rawlen-1, DEC);
Serial.println ("]:");
för (int i = 1; i rawlen; i ++) {
osignerad lång x = resultat-> rawbuf * USECPERTICK;
om (! (i & 1)) {// även
Serial.print ("-");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
} annat {// udda
Serial.print ("");
Serial.print ("+");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
if (i rawlen-1) Serial.print (","); // ',' behövs inte för den sista
}
if (! (i % 8)) Serial.println ("");
}
Serial.println (""); // Ny linje
}
//+=============================================================================
// Dumpa ut decode_results -strukturen.
//
void dumpCode (decode_results *results)
{
// Starta deklaration
Serial.print ("unsigned int"); // variabel typ
Serial.print ("rawData ["); // matrisnamn
Serial.print (resultat-> rawlen - 1, DEC); // matrisstorlek
Serial.print ("] = {"); // Starta deklaration
// Dumpdata
för (int i = 1; i rawlen; i ++) {
Serial.print (resultat-> rawbuf * USECPERTICK, DEC);
if (i rawlen-1) Serial.print (","); // ',' behövs inte på den sista
if (! (i & 1)) Serial.print ("");
}
// Avsluta deklaration
Serial.print ("};"); //
// Kommentar
Serial.print ("//");
kodning (resultat);
Serial.print ("");
ircode (resultat);
// Ny linje
Serial.println ("");
// Släpp nu "kända" koder
if (results-> decode_type! = UNKNOWN) {
// Vissa protokoll har en adress
if (results-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (resultat-> adress, HEX);
Serial.println (";");
}
// Alla protokoll har data
Serial.print ("unsigned int data = 0x");
Serial.print (resultat-> värde, HEX);
Serial.println (";");
}
}
void loop ()
/************************************************* *InfraRouge ******************************************/
{
resultat avkodningsresultat; // Någonstans att lagra resultaten
if (irrecv.decode (& resultat)) {// Ta en IR -kod
dumpInfo (& resultat); // Mata ut resultaten
dumpRaw (& resultat); // Mata ut resultaten i RAW -format
dumpCode (& resultat); // Mata ut resultaten som källkod
Serial.println (""); // Tom rad mellan poster
irrecv.resume (); // Förbered dig på nästa värde
}
/************************************************* *** RX433 ********************************************/
om (mySwitch.available ())
{
int värde = mySwitch.getReceivedValue ();
Serial.println ("RX433");
if (värde == 0) {
Serial.print ("Codage inconnu");
} annat
{
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
}//slinga
Steg 3: Information Sur Les Codes Infra-Rouge
Il y a plusieurs -protokoll:
NEC: 32 bitar (protokolldetaljer)
Sony: 12 eller 20 bitar (protokolldetaljer) (Förstå Sony IR -fjärrkoder.)
RC5: 12 bitar (protokolldetaljer)
RC6: 20 ou 36 bits (protokolldetaljer)
Häll 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
Exempel: (0x devant le code) et le nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Steg 4: Information om surkoder RX433
L’envoie se fera avec la librairie RCSwitch.h
Exempel på mySwitch.send (1975778, 24);
På peut facilement piloter avec cela des prises commandés.
Rekommenderad:
RF 433MHZ radiokontroll med HT12D HT12E - Gör en RF -fjärrkontroll med HT12E och HT12D med 433mhz: 5 steg
RF 433MHZ radiokontroll med HT12D HT12E | Skapa en RF -fjärrkontroll med HT12E & HT12D med 433mhz: I den här instruktionsboken ska jag visa dig hur du gör en RADIO -fjärrkontroll med 433mhz -mottagarmodul med HT12E -kodning & HT12D -avkodare IC. I denna instruerbara kan du skicka och ta emot data med mycket mycket billiga KOMPONENTER SOM: HT
INFRA RÖD FJÄRRKONTROLLerad ROBOCAR MED AVR (ATMEGA32) MCU: 5 steg
INFRA RÖD FJÄRRKONTROLLerad ROBOCAR ANVÄNDNING AVR (ATMEGA32) MCU: Föreliggande PROJEKT beskriver en design och implementering av en infraröd (IR) fjärrstyrd RoboCar som kan användas för olika automatiska obemannade kontrollapplikationer. Jag har designat fjärrstyrd RoboCar (vänster-höger/fram-bak-rörelse). T
RF -modul 433MHZ - Gör mottagare och sändare från 433MHZ RF -modul utan mikrokontroller: 5 steg
RF -modul 433MHZ | Gör mottagare och sändare från 433MHZ RF -modul utan mikrokontroller: Vill du skicka trådlös data? enkelt och utan mikrokontroller? Här är vi, i denna instruerbara visar jag mi grundläggande rf -sändare och mottagare redo att användas! I denna instruerbara kan du skicka och ta emot data med mycket ver
Infra-röd paneltimer: 4 steg (med bilder)
Infra-röd panel timer: I ett av rummen på övervåningen i mitt hus har jag en Infra Red panel. När jag är i det rummet och jag slår på den här panelen glömmer jag ibland att stänga av den, vilket är slöseri med värdefull energi. För att förhindra detta byggde jag denna Infra Red Panel Ti
ESP-12 Infra Red Blaster: 7 steg
ESP-12 Infra Red Blaster: Infra Red fjärrkontroll blaster med esp8266 Sänder fjärrkontrollkoder mottagna från webben som stöder flera utdataenheter. Inbyggd i enkel webbsida främst för testning. Normal användning sker via POST -meddelanden som kan komma från webbsidor eller från IFTT