Sadržaj:
- Korak 1: Le Montage
- Korak 2: Le Code Arduino
- Korak 3: Infos Sur Les Codes Infra-Rouge
- Korak 4: Infos Sur kodovi RX433
Video: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Le but est d’afficher les code des télécommandes du style commandnde de lampe, porte de garage et autre fonctionnant s 433 mhz (RX433) mais aussi ceux des télécommandes infra-rouge de télévision au autre.
On pourra donc ensuite, grâce à une autre montaža, izaslanik ces kodove i piloter nije uvezio!
Korak 1: Le Montage
Jednostavno, bez Arduino Nano-a, bez dioda za infracrvenu vezu i prijemnik od 433 mhz.
Korak 2: Le Code Arduino
// InfraRouge
#include
int recvPin = 11; // pin Arduino za prijemnik InfraRouge (TOSP4838)
IRrecv irecv (recvPin);
// RX433
#include
RCSwitch mySwitch = RCSwitch ();
decode_results rezultati;
void setup ()
{
Serial.begin (9600);
unrecv.enableIRIn ();
unrecv.blink13 (true); // allume la LED internetske veze za slanje InfraRouge
mySwitch.enableReceive (0); // Receiveur RX433 (XY-MK-5V) sur pin 2 de Arduino Uno et Nano
}
// afiksacija kodova InfraRouge
void ircode (decode_results *rezultati)
{
// Panasonic
if (rezultati-> decode_type == PANASONIC) {
Serial.print (rezultati-> adresa, HEX);
Serial.print (":");
}
Serial.print (rezultati-> vrijednost, HEX);
} // void
// afficahge des code encodés
kodiranje praznine (decode_results *rezultati)
{
switch (rezultati-> decode_type) {
zadano:
case UNKNOWN: Serial.print ("Inconnu"); break;
kućište NEC: Serial.print ("NEC"); break;
kućište SONY: Serial.print ("SONY"); break;
kućište RC5: Serial.print ("RC5"); break;
kućište RC6: Serial.print ("RC6"); break;
kućište DISH: Serial.print ("DISH"); break;
kućište SHARP: Serial.print ("SHARP"); break;
kućište JVC: Serial.print ("JVC"); break;
kućište SANYO: Serial.print ("SANYO"); break;
kućište MITSUBISHI: Serial.print ("MITSUBISHI"); break;
kućište SAMSUNG: Serial.print ("SAMSUNG"); break;
kućište LG: Serial.print ("LG"); break;
slučaj WHYNTER: Serial.print ("WHYNTER"); break;
slučaj AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); break;
kućište PANASONIC: Serial.print ("PANASONIC"); break;
kućište DENON: Serial.print ("Denon"); break;
}
}
// dump les résultats
void dumpInfo (decode_results *rezultati)
{
// Provjerite je li bafer preplavljen
if (rezultati-> prelijevanje) {
Serial.println ("IR kod predug. Uredite IRremoteInt.h i povećajte RAWBUF");
return;
}
// Prikaži standard kodiranja
Serial.print ("Encodage:");
kodiranje (rezultati);
Serial.println ("");
// Prikaži kôd i dužinu
Serial.print ("Kod:");
ircode (rezultati);
Serial.print ("(");
Serial.print (rezultati-> bitovi, DEC);
Serial.println ("bitovi")));
}
//struktura
void dumpRaw (decode_results *rezultati)
{
// Ispis sirovih podataka
Serial.print ("Timing [");
Serial.print (rezultati-> rawlen-1, DEC);
Serial.println ("]:");
for (int i = 1; i rawlen; i ++) {
unsigned long x = results-> rawbuf * USECPERTICK;
if (! (i & 1)) {// parno
Serial.print ("-");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
} else {// neparno
Serial.print ("");
Serial.print ("+");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
if (i rawlen-1) Serial.print (","); // ',' nije potrebno za zadnji
}
if (! (i % 8)) Serial.println ("");
}
Serial.println (""); // Novi red
}
//+=============================================================================
// Izbacivanje strukture decode_results.
//
void dumpCode (decode_results *rezultati)
{
// Pokretanje deklaracije
Serial.print ("unsigned int"); // tip varijable
Serial.print ("rawData ["); // ime niza
Serial.print (rezultati-> neobrađeno - 1, DEC); // veličina niza
Serial.print ("] = {"); // Pokretanje deklaracije
// Izbaci podatke
for (int i = 1; i rawlen; i ++) {
Serial.print (rezultati-> rawbuf * USECPERTICK, DEC);
if (i rawlen-1) Serial.print (","); // ',' nije potrebno na zadnjoj
if (! (i & 1)) Serial.print ("");
}
// Kraj deklaracije
Serial.print ("};"); //
// Komentar
Serial.print ("//");
kodiranje (rezultati);
Serial.print ("");
ircode (rezultati);
// Novi red
Serial.println ("");
// Sada izbacite "poznate" kodove
if (rezultati-> decode_type! = NEPOZNATO) {
// Neki protokoli imaju adresu
if (rezultati-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (rezultati-> adresa, HEX);
Serial.println (";");
}
// Svi protokoli imaju podatke
Serial.print ("unsigned int data = 0x");
Serial.print (rezultati-> vrijednost, HEX);
Serial.println (";");
}
}
void loop ()
/************************************************* *InfraRouge ******************************************/
{
decode_results rezultati; // Negdje za spremanje rezultata
if (unrecv.decode (& results)) {// Uhvatite IR kod
dumpInfo (& rezultati); // Ispisati rezultate
dumpRaw (& rezultati); // Rezultate ispišite u RAW formatu
dumpCode (& rezultati); // Rezultate ispišite kao izvorni kod
Serial.println (""); // Prazna linija između unosa
unrecv.resume (); // Pripremite se za sljedeću vrijednost
}
/************************************************* *** RX433 ********************************************/
if (mySwitch.available ())
{
int vrijednost = mySwitch.getReceivedValue ();
Serial.println ("RX433");
if (vrijednost == 0) {
Serial.print ("Codage inconnu");
} else
{
Serial.print ("Reçu");
Serial.print (mySwitch.getReceivedValue ());
Serial.print (" /");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("bit");
Serial.print ("Protokol:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
}//petlja
Korak 3: Infos Sur Les Codes Infra-Rouge
Il y a plusieurs protokoli:
NEC: 32 bita (detalji protokola)
Sony: 12 ili 20 bita (detalji protokola) (Razumevanje Sonyjevih IR daljinskih kodova.)
RC5: 12 bita (detalji protokola)
RC6: 20 ili 36 bita (detalji protokola)
Sipajte Sony i RC5/6, prijenos u obliku ručke do 3 étre repétés!
PAŽNJA: Laborairie IRremote.h nije poslao pošiljaoca kodova za šifre nad 32 bita. Les RC6, 36 doivent donc êtres envoyer en raw, qui prennent plus de taille mémoire.
L’envoie des code se fera avec la librairie IRremote.h
Primjer: (0x devant le code) i nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Korak 4: Infos Sur kodovi RX433
L’envoie se fera avec la librairie RCSwitch.h
Primjer mySwitch.send (1975778, 24);
On peut facilement pilote avec cela des prises commandes.
Preporučuje se:
Kako napraviti zvono na vratima bez dodira, otkrivanje tjelesne temperature, GY-906, 433MHz pomoću Arduina: 3 koraka
Kako napraviti zvono na vratima bez dodira, otkrivanje tjelesne temperature, GY-906, 433MHz pomoću Arduina: Danas ćemo napraviti zvono na vrata bez dodira, ono će otkriti vašu tjelesnu temperaturu. U sadašnjoj situaciji, vrlo je važno znati je li nekome tjelesna temperatura viša od normalne, kada se neko kocka. Ovaj projekt će pokazati crveno svjetlo ako otkrije bilo koje
INFRA CRVENI DALJINSKI ROBOCAR KORIŠTENJEM AVR (ATMEGA32) MCU: 5 koraka
INFRA CRVENI DALJINSKI UPRAVLJAN ROBOCAR KORIŠĆENJEM AVR (ATMEGA32) MCU: Ovaj PROJEKT opisuje dizajn i implementaciju infracrvenog (IR) daljinski upravljanog RoboCara koji se može koristiti za različite automatizirane aplikacije za upravljanje bez posade. Dizajnirao sam daljinski upravljani RoboCar (kretanje lijevo-desno/sprijeda-natrag). T
RF modul 433MHZ - Napravite prijemnik i predajnik od 433MHZ RF modula bez ikakvog mikrokontrolera: 5 koraka
RF modul 433MHZ | Napravite prijemnik i predajnik od 433MHZ RF modula bez ikakvog mikrokontrolera: Želite li poslati bežične podatke? lako i bez potrebe za mikrokontrolerom? Evo, u ovom uputstvu ću vam pokazati mi osnovni RF predajnik i prijemnik spreman za upotrebu! U ovom uputstvu možete slati i primati podatke koristeći vrlo ver
Infra-crveni panel Timer: 4 koraka (sa slikama)
Infra-crveni panel Timer: U jednoj od soba na spratu u mojoj kući imam infracrveni panel. Kad sam u toj prostoriji i uključim ovaj panel, ponekad ga zaboravim isključiti, što je gubitak dragocjene energije. Kako bih to spriječio, sagradio sam ovu infracrvenu ploču Ti
ESP-12 Infra Red Blaster: 7 koraka
ESP-12 Infra Red Blaster: Infracrveni blaster za daljinsko upravljanje pomoću esp8266Prenosi kodove za daljinsko upravljanje primljene s Weba koji podržavaju više izlaznih uređaja. Ugrađena jednostavna web stranica uglavnom za testiranje. Normalno se koristi putem POST poruka koje mogu doći s web stranica ili s IFTT