Talaan ng mga Nilalaman:
- Hakbang 1: Le Montage
- Hakbang 2: Le Code Arduino
- Hakbang 3: Ang Infos Sur Les Codes Infra-Rouge
- Hakbang 4: Ang Infos Sur Codes RX433
Video: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ngunit ang mga code ng code sa 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.
Sa pourra donc ensuite, grâce à une autre montage, mga envoyer ces code at piloter n’importe quoi!
Hakbang 1: Le Montage
Simple, un Arduino Nano, une diode réceptrice infra-rouge et un récepteur 433 mhz.
Hakbang 2: Le Code Arduino
// InfraRouge
# isama
int recvPin = 11; // pin Arduino pour récepteur InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
# isama
RCSwitch mySwitch = RCSwitch ();
mga resulta sa pag-decode_resulta;
walang bisa ang pag-setup ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13 (totoo); // 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 code InfraRouge
walang bisa ang ircode (decode_results * mga resulta)
{
// Panasonic
kung (resulta-> decode_type == PANASONIC) {
Serial.print (mga resulta-> address, HEX);
Serial.print (":");
}
Serial.print (mga resulta-> halaga, HEX);
} // walang bisa
// afficahge des code encodés
walang bisa ang pag-encode (decode_results * mga resulta)
{
switch (resulta-> decode_type) {
default:
kaso HINDI KILALA: Serial.print ("Inconnu"); pahinga;
kaso NEC: Serial.print ("NEC"); pahinga;
kaso SONY: Serial.print ("SONY"); pahinga;
kaso RC5: Serial.print ("RC5"); pahinga;
kaso RC6: Serial.print ("RC6"); pahinga;
kaso DISH: Serial.print ("DISH"); pahinga;
kaso SHARP: Serial.print ("SHARP"); pahinga;
kaso JVC: Serial.print ("JVC"); pahinga;
kaso SANYO: Serial.print ("SANYO"); pahinga;
kaso MITSUBISHI: Serial.print ("MITSUBISHI"); pahinga;
kaso SAMSUNG: Serial.print ("SAMSUNG"); pahinga;
kaso LG: Serial.print ("LG"); pahinga;
kaso WHYNTER: Serial.print ("WHYNTER"); pahinga;
kaso AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); pahinga;
kaso PANASONIC: Serial.print ("PANASONIC"); pahinga;
kaso DENON: Serial.print ("Denon"); pahinga;
}
}
// dump les résultats
void dumpInfo (decode_results * mga resulta)
{
// Suriin kung umapaw ang buffer
kung (resulta-> overflow) {
Serial.println ("Masyadong mahaba ang IR code. I-edit ang IRremoteInt.h at dagdagan ang RAWBUF");
bumalik;
}
// Ipakita ang pamantayan ng Pag-encode
Serial.print ("Encodage:");
pag-encode (mga resulta);
Serial.println ("");
// Ipakita ang Code at haba
Serial.print ("Code:");
ircode (mga resulta);
Serial.print ("(");
Serial.print (mga resulta-> mga piraso, DEC);
Serial.println ("bit)");
}
// istraktura
void dumpRaw (decode_results * mga resulta)
{
// Print Raw data
Serial.print ("Oras [");
Serial.print (mga resulta-> rawlen-1, DEC);
Serial.println ("]:");
para sa (int i = 1; i rawlen; i ++) {
unsigned mahabang x = mga resulta-> rawbuf * USECPERTICK;
kung (! (i & 1)) {// kahit
Serial.print ("-");
kung (x <1000) Serial.print ("");
kung (x <100) Serial.print ("");
Serial.print (x, DEC);
} iba pa {// kakaiba
Serial.print ("");
Serial.print ("+");
kung (x <1000) Serial.print ("");
kung (x <100) Serial.print ("");
Serial.print (x, DEC);
kung (i rawlen-1) Serial.print (","); // ',' hindi kinakailangan para sa huling isa
}
kung (! (i% 8)) Serial.println ("");
}
Serial.println (""); // Bagong linya
}
//+=============================================================================
// Itapon ang istraktura ng decode_results.
//
void dumpCode (decode_results * mga resulta)
{
// Simulang deklarasyon
Serial.print ("unsigned int"); // variable type
Serial.print ("rawData ["); // pangalan ng array
Serial.print (mga resulta-> rawlen - 1, DEC); // laki ng array
Serial.print ("] = {"); // Simulang deklarasyon
// Data ng basura
para sa (int i = 1; i rawlen; i ++) {
Serial.print (mga resulta-> rawbuf * USECPERTICK, DEC);
kung (i rawlen-1) Serial.print (","); // ',' hindi kinakailangan sa huli
kung (! (i & 1)) Serial.print ("");
}
// Tapusin ang deklarasyon
Serial.print ("};"); //
// Komento
Serial.print ("//");
pag-encode (mga resulta);
Serial.print ("");
ircode (mga resulta);
// Bagong linya
Serial.println ("");
// Ngayon magtapon ng mga "kilalang" code
kung (resulta-> decode_type! = HINDI ALAM) {
// Ang ilang mga protokol ay may isang address
kung (resulta-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (mga resulta-> address, HEX);
Serial.println (";");
}
// Lahat ng mga protocol ay may data
Serial.print ("unsigned int data = 0x");
Serial.print (mga resulta-> halaga, HEX);
Serial.println (";");
}
}
walang bisa loop ()
/ ***** * InfraRouge ***** ***** ***** ***** ***** **** /
{
mga resulta sa pag-decode_resulta; // Saanman upang maiimbak ang mga resulta
kung (irrecv.decode (& mga resulta)) {// Kumuha ng isang IR code
dumpInfo (& mga resulta); // Output ang mga resulta
dumpRaw (& mga resulta); // Output ang mga resulta sa format na RAW
dumpCode (& mga resulta); // Output ang mga resulta bilang source code
Serial.println (""); // Blangko linya sa pagitan ng mga entry
irrecv.resume (); // Maghanda para sa susunod na halaga
}
/ ***** *** RX433 ***** ***** ***** ***** ***** **** /
kung (mySwitch.available ())
{
int halaga = mySwitch.getReceivedValue ();
Serial.println ("RX433");
kung (halaga == 0) {
Serial.print ("Codage inconnu");
} iba pa
{
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
Hakbang 3: Ang Infos Sur Les Codes Infra-Rouge
Ako ay isang mga plusieurs na protokol:
NEC: 32 bits (mga detalye ng protocol)
Sony: 12 o 20 bits (mga detalye ng protocol) (Pag-unawa sa mga malalayong code ng Sony IR.)
RC5: 12 bits (mga detalye ng protocol)
RC6: 20 o 36 bits (mga detalye ng protocol)
Ibuhos ang Sony et RC5 / 6, ang pagpapadala ng chaque ay dapat na gawin 3 beses!
ATTENTION: la librairie IRremote.h ne semble pas pouvoir envoyer des mga 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
Exemple: (0x devant le code) et le nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Hakbang 4: Ang Infos Sur Codes RX433
L’envoie se fera avec la librairie RCSwitch.h
Exemple mySwitch.send (1975778, 24);
Sa peut facilement piloter avec cela des prises commandés.
Inirerekumendang:
RF 433MHZ Radio Control Paggamit ng HT12D HT12E - Paggawa ng isang Rf Remote Control Paggamit ng HT12E & HT12D Sa 433mhz: 5 Hakbang
RF 433MHZ Radio Control Paggamit ng HT12D HT12E | Ang paggawa ng isang Rf Remote Control Paggamit ng HT12E & HT12D Sa 433mhz: Sa itinuturo na ito ipapakita ko sa iyo kung paano gumawa ng isang remote control ng RADIO gamit ang 433mhz transmitter receiver module na may HT12E encode & HT12D decoder IC. Sa itinuturo na ito maaari kang magpadala at makatanggap ng data gamit ang napaka murang mga KOMPONENS Tulad: HT
RF Modyul 433MHZ - Gumawa ng Tagatanggap at Transmitter Mula sa 433MHZ RF Module Nang Walang Anumang Microcontroller: 5 Hakbang
RF Modyul 433MHZ | Gumawa ng Tagatanggap at Transmitter Mula sa 433MHZ RF Module Nang Walang Anumang Microcontroller: Nais mo bang magpadala ng wireless data? madali at walang kinakailangang microcontroller? Dito tayo, sa itinuturo na ito ay ipapakita ko sa iyo ang pangunahing RF transmitter at receiver na handa nang magamit! Sa itinuturo na ito maaari kang magpadala at makatanggap ng data gamit ang tunay na
10 Mga kahalili sa DIY sa Mga Off-The-Shelf na Elektroniko na Mga Bahagi: 11 Mga Hakbang (na may Mga Larawan)
10 Mga Kahalili sa DIY sa Mga Off-The-Shelf na Mga Elektroniko na Bahagi: Maligayang pagdating sa aking kauna-unahang itinuro! Sa palagay mo ba ang ilang mga bahagi mula sa mga tagatingi sa online ay masyadong mahal o may mababang kalidad? Kailangan bang makakuha ng isang prototype nang mabilis at tumatakbo nang mabilis at hindi makapaghintay linggo para sa pagpapadala? Walang mga lokal na electronics distributor? Ang fol
Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2: 4 Mga Hakbang (na may Mga Larawan)
Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2: Sa unang bahagi ng pagtuturo na ito, ipinakita ko kung paano i-program ang isang PIC12F1822 gamit ang MPLAB IDE at XC8 compiler, upang magpadala ng isang simpleng string nang wireless gamit ang murang mga module ng TX / RX 433MHz. Ang module ng tatanggap ay nakakonekta sa pamamagitan ng isang USB sa UART TTL cable ad
Abutin ang mga Ilaw Sa Isang NES Zapper (RF 433MHz): 6 na Hakbang (na may Mga Larawan)
Abutin ang mga Ilaw Sa pamamagitan ng isang NES Zapper (RF 433MHz): Bakit patayin ang mga ilaw gamit ang isang switch kung maaari mong kunan ang mga ito gamit ang iyong NES Zapper! Nakagawa na ako ng isang ilaw ng laser sa isang lumang sirang NES Zapper nang ang ideyang ito ay sumulpot sa aking ulo. Mas nagustuhan nito kaya pinalitan ko ito ng ilaw ng laser. Isang mainam na pro