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 433 mhz: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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.
On pourra donc ensuite, grâce à une autre montaža, izaslanik ces code et piloter n’importe quoi!
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
#uključi
int recvPin = 11; // pin Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irecv (recvPin);
// RX433
#uključi
RCSwitch mySwitch = RCSwitch ();
decode_results rezultate;
void setup ()
{
Serial.begin (9600);
unrecv.enableIRIn ();
unrecv.blink13 (true); // allume la LED internet 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
void ircode (decode_results *rezultati)
{
// Panasonic
if (rezultati-> decode_type == PANASONIC) {
Serial.print (rezultati-> adresa, HEX);
Serial.print (":");
}
Serial.print (rezultati-> vrijednost, HEX);
}//poništiti
// afficahge des code encodés
kodiranje void (decode_results *rezultati)
{
switch (rezultati-> decode_type) {
zadano:
case UNKNOWN: Serial.print ("Inconnu"); pauza;
kućište NEC: Serial.print ("NEC"); pauza;
kućište SONY: Serial.print ("SONY"); pauza;
kućište RC5: Serial.print ("RC5"); pauza;
kućište RC6: Serial.print ("RC6"); pauza;
kućište DISH: Serial.print ("DISH"); pauza;
kućište SHARP: Serial.print ("SHARP"); pauza;
kućište JVC: Serial.print ("JVC"); pauza;
kućište SANYO: Serial.print ("SANYO"); pauza;
kućište MITSUBISHI: Serial.print ("MITSUBISHI"); pauza;
kućište SAMSUNG: Serial.print ("SAMSUNG"); pauza;
kućište LG: Serial.print ("LG"); pauza;
slučaj WHYNTER: Serial.print ("WHYNTER"); pauza;
kućište AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); pauza;
slučaj PANASONIC: Serial.print ("PANASONIC"); pauza;
kućište DENON: Serial.print ("Denon"); pauza;
}
}
// dump les résultats
void dumpInfo (decode_results *rezultati)
{
// Provjerite je li međuspremnik preplavljen
if (rezultati-> prelijevanje) {
Serial.println ("IR kod predug. Uredite IRremoteInt.h i povećajte RAWBUF");
povratak;
}
// Prikaži standard kodiranja
Serial.print ("Encodage:");
kodiranje (rezultati);
Serial.println ("");
// Prikaži kôd i duljinu
Serial.print ("Kôd:");
ircode (rezultati);
Serial.print ("(");
Serial.print (rezultati-> bitovi, DEC);
Serial.println ("bitovi")));
}
//struktura
void dumpRaw (decode_results *rezultati)
{
// Ispis sirovih podataka
Serial.print ("Vrijeme [");
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 ("");
Serijski.ispis (x, DEC);
} else {// neparno
Serial.print ("");
Serial.print ("+");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serijski.ispis (x, DEC);
if (i rawlen-1) Serial.print (","); // ',' nije potrebno za zadnji
}
if (! (i % 8)) Serial.println ("");
}
Serial.println (""); // Nova linija
}
//+=============================================================================
// Isključite strukturu decode_results.
//
void dumpCode (decode_results *rezultati)
{
// Pokretanje deklaracije
Serial.print ("unsigned int"); // varijabilni tip
Serial.print ("rawData ["); // naziv niza
Serial.print (rezultati-> sirovi - 1, DEC); // veličina polja
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 ("};"); //
// Komentiraj
Serial.print ("//");
kodiranje (rezultati);
Serial.print ("");
ircode (rezultati);
// Nova linija
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 ("nepotpisani int podaci = 0x");
Serial.print (rezultati-> vrijednost, HEX);
Serial.println (";");
}
}
void loop ()
/************************************************* *InfraRouge ****************************************/
{
decode_results rezultate; // Negdje za spremanje rezultata
if (unrecv.decode (& results)) {// Zgrabite IR kod
dumpInfo (& rezultati); // Ispisati rezultate
dumpRaw (& rezultati); // Ispis rezultata u RAW formatu
dumpCode (& rezultati); // Rezultate ispišite kao izvorni kod
Serial.println (""); // Prazan redak 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 (pojedinosti o protokolu) (Razumijevanje Sonyjevih IR daljinskih kodova.)
RC5: 12 bita (detalji protokola)
RC6: 20 ou 36 bita (detalji protokola)
Sipajte Sony et RC5/6, prijenos Chaque doit être répétés 3 fois!
PAŽNJA: la librairie IRremote.h ne semble pas pouvoir envoyer des code 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 code se fera avec la librairie IRremote.h
Primjer: (0x devant le code) et le 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 piloter avec cela des prises commandés.
Preporučeni:
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno .: 3 koraka
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno .: *********************************************** ******************************** STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOPOvo je zastario projekt. Umjesto toga provjerite moj nova verzija 2x16 LCD ekrana dostupna ovdje: https: //www.instructables.com/id
Generator RF signala 100 KHz-600 MHZ na DDS AD9910 Arduino štitu: 5 koraka
Generator RF signala 100 KHz-600 MHZ na DDS AD9910 Arduino štitu: Kako napraviti niski šum, visoku preciznost, stabilan RF generator (s AM, FM modulacijom) na Arduinu
RF 433MHZ radijsko upravljanje pomoću HT12D HT12E - Izrada daljinskog upravljača RF pomoću HT12E i HT12D s 433 MHz: 5 koraka
RF 433MHZ radijsko upravljanje pomoću HT12D HT12E | Izrada daljinskog upravljača RF pomoću HT12E i HT12D s 433 MHz: U ovom uputstvu pokazat ću vam kako napraviti RADIO daljinski upravljač pomoću prijemnog modula odašiljača od 433 MHz s kodiranjem HT12E & IC dekoder HT12D. U ovom uputstvu možete slati i primati podatke koristeći vrlo vrlo jeftine KOMPONENTE KAO: HT
INFRA CRVENI DALJINSKI UPRAVLJAN ROBOCAR KORIŠĆENJEM 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 upravljanja bez posade. Dizajnirao sam daljinski upravljani RoboCar (kretanje lijevo-desno/sprijeda-natrag). T
ESP-12 Infra Red Blaster: 7 koraka
ESP-12 Infra Red Blaster: Infracrveni blaster za daljinsko upravljanje pomoću esp8266Prijenosi 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