Inhoudsopgave:
- Stap 1: Le Montage
- Stap 2: Le Code Arduino
- Stap 3: Info over codes Infra-Rouge
- Stap 4: Info over codes RX433
Video: Recuperer Les Codes Infra-Rouge Et 433mhz - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Het enige dat u kunt lezen is de code van de televisiecommando's van de stijl van de lamp, de poort van de garage en de originele functie van 433 mhz (RX433) met meer informatie over de infra-rouge van de televisie.
Op pourra donc ensuite, grâce à une autre montage, envoyer ces codes et piloter n'importe quoi!
Stap 1: Le Montage
Eenvoudig, zonder Arduino Nano, een diode-ontvanger infra-rouge en een ontvanger 433 mhz.
Stap 2: Le Code Arduino
//InfraRouge
#erbij betrekken
int recvPin = 11; //pin Arduino voor InfraRouge (TOSP4838)
IRrecv irrecv(recvPin);
//RX433
#erbij betrekken
RCSwitch mijnSwitch = RCSwitch();
decode_results resultaten;
ongeldige instelling ()
{
Serieel.begin(9600);
onrecv.enableIRIn();
irrev.blink13(true);//allume la LED interne lors de l'envoie InfraRouge
mySwitch.enableReceive(0); // Ontvanger RX433 (XY-MK-5V) op pin 2 van Arduino Uno en Nano
}
// affichage des codes InfraRouge
void ircode (decode_results *results)
{
// Panasonic
if (resultaten->decode_type == PANASONIC) {
Serial.print(resultaten->adres, HEX);
Serial.print(":");
}
Serial.print(resultaten->waarde, HEX);
}//leegte
// afficahge des codes encodes
ongeldige codering (decode_results *results)
{
switch (resultaten->decode_type) {
standaard:
geval ONBEKEND: Serial.print("Inconnu"); pauze;
geval NEC: Serial.print ("NEC"); pauze;
geval SONY: Serial.print ("SONY"); pauze;
geval RC5: Serial.print ("RC5"); pauze;
geval RC6: Serial.print ("RC6"); pauze;
geval DISH: Serial.print ("SCHOTEL"); pauze;
case SHARP: Serial.print("SHARP"); pauze;
geval JVC: Serial.print ("JVC"); pauze;
geval SANYO: Serial.print ("SANYO"); pauze;
geval MITSUBISHI: Serial.print ("MITSUBISHI"); pauze;
geval SAMSUNG: Serial.print ("SAMSUNG"); pauze;
behuizing LG: Serial.print ("LG"); pauze;
geval WHYNTER: Serial.print ("WHYNTER"); pauze;
geval AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); pauze;
geval PANASONIC: Serial.print("PANASONIC"); pauze;
geval DENON: Serial.print("Denon"); pauze;
}
}
// dump les résultats
void dumpInfo (decode_results *results)
{
// Controleer of de buffer overstroomde
if (resultaten->overloop) {
Serial.println ("IR-code te lang. Bewerk IRremoteInt.h en verhoog RAWBUF");
opbrengst;
}
// Toon coderingsstandaard
Serial.print("Codage: ");
codering (resultaten);
Serieel.println("");
// Toon code & lengte
Serial.print("Code: ");
ircode(resultaten);
Serieel.print(" (");
Serial.print(resultaten->bits, DEC);
Serial.println ("bits)");
}
//structuur
void dumpRaw (decode_results * resultaten)
{
// Onbewerkte gegevens afdrukken
Serial.print("Timing[");
Serial.print(resultaten->rawlen-1, DEC);
Serieel.println("]: ");
voor (int i = 1; i rawlen; i++) {
unsigned long x = results->rawbuf * USECPERTICK;
if (!(i & 1)) { // even
Serieel.print("-");
if (x < 1000) Serial.print(" ");
if (x < 100) Serial.print(" ");
Serial.print(x, DEC);
} anders { // oneven
Serieel.print(" ");
Serieel.print("+");
if (x < 1000) Serial.print(" ");
if (x < 100) Serial.print(" ");
Serial.print(x, DEC);
if (i rawlen-1) Serial.print(", "); //', ' niet nodig voor de laatste
}
if (!(i % 8)) Serial.println("");
}
Serieel.println(""); // Nieuwe lijn
}
//+=============================================================================
// Dump de decode_results-structuur.
//
void dumpCode (decode_results *results)
{
// Aangifte starten
Serial.print("unsigned int "); // variabel type
Serial.print("rawData["); // arraynaam
Serial.print (resultaten->rawlen - 1, DEC); // matrixgrootte
Serieel.print("] = {"); // Aangifte starten
// Gegevens dumpen
voor (int i = 1; i rawlen; i++) {
Serial.print(resultaten->rawbuf * USECPERTICK, DEC);
if (i rawlen-1) Serial.print(", "); // ', ' niet nodig op de laatste
if (!(i & 1)) Serial.print(" ");
}
// Einde aangifte
Serieel.print("};"); //
// Opmerking
Serieel.print(" // ");
codering (resultaten);
Serieel.print(" ");
ircode(resultaten);
// Nieuwe lijn
Serieel.println("");
// Dump nu "bekende" codes
if (resultaten->decode_type != UNKNOWN) {
// Sommige protocollen hebben een adres
if (resultaten->decode_type == PANASONIC) {
Serial.print("unsigned int addr = 0x");
Serial.print(resultaten->adres, HEX);
Serieel.println(";");
}
// Alle protocollen hebben gegevens
Serial.print("unsigned int data = 0x");
Serial.print(resultaten->waarde, HEX);
Serieel.println(";");
}
}
lege lus ()
/************************************************** * InfraRouge *****************************************/
{
decode_results resultaten; // Ergens om de resultaten op te slaan
if (irrecv.decode(&results)) { // Pak een IR-code
dumpInfo(&resultaten); // Voer de resultaten uit
dumpRaw(&resultaten); // Voer de resultaten uit in RAW-formaat
dumpCode(&resultaten); // Voer de resultaten uit als broncode
Serieel.println(""); // Blanco regel tussen invoer
irrev.resume(); // Bereid je voor op de volgende waarde
}
/************************************************** *** RX433 *********************************************/
if (mySwitch.available())
{
int-waarde = mySwitch.getReceivedValue();
Serial.println("RX433");
als (waarde == 0) {
Serial.print("Codage inconnu");
} anders
{
Serial.print("Recu ");
Serial.print(mySwitch.getReceivedValue());
Serieel.print(" / ");
Serial.print(mySwitch.getReceivedBitlength());
Serial.print("bit ");
Serial.print("Protocole: ");
Serial.println(mySwitch.getReceivedProtocol());
}
mySwitch.resetAvailable();
}//RX433
}//lus
Stap 3: Info over codes Infra-Rouge
Il y a plusieurs protocollen:
NEC: 32 bits (protocoldetails)
Sony: 12 of 20 bits (protocoldetails) (Inzicht in Sony IR-afstandsbedieningscodes.)
RC5: 12 bits (protocoldetails)
RC6: 20 of 36 bits (protocoldetails)
Pour Sony et RC5/6, chaque transmissie doit être répétés 3 fois !
LET OP: de bibliotheek IRremote.h ne semble pas pouvoir envoyer des codes codes 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) en le nombre de bits irsend.sendNEC(0xA55A38C7, 32);
Stap 4: Info over codes RX433
L'envoie se fera avec la librairie RCSwitch.h
Voorbeeld mySwitch.send (1975778, 24);
Op peut facilement piloot avec cela des prises commandés.
Aanbevolen:
OBD II-codes P0420/P0430 Fix: 5 stappen
OBD II-codes P0420/P0430 Fix: Heeft u dit vervelende lampje op het dashboard van uw Mustang? Heb je je uitlaatsysteem veranderd? Als je een off-road h-pijp of x-pijp (geen katalysatoren) hebt geïnstalleerd of je katalysatoren hebt verwijderd voor gebruik op het circuit, dan zijn je zuurstofsensoren met
Slimme les: 6 stappen
Smart Lesson: O projeto Smart Lesson Visa criar um produto no qual os professores possam utilizar como um conteúdo a mais para ensinar seus alunos os levando a um nível de aprendizado muito more por conseguir most&uacut;
Deel uw wifi-wachtwoord automatisch met behulp van QR-codes: 4 stappen
Deel uw wifi-wachtwoord automatisch met behulp van QR-codes: in deze Instructable leren we hoe u een QR-code kunt maken die uw gasten moeiteloos met wifi verbindt. Internet is een noodzaak. Zodra we naar een plaats gaan, is het eerste dat we nodig hebben wifi-toegang. Of het nu gaat om het hosten van een vriendelijke
Les 2: Arduino gebruiken als stroombron voor een circuit: 6 stappen
Les 2: Arduino gebruiken als stroombron voor een circuit: Hallo studenten, bij mijn tweede les van mijn cursus om basiselektronica te onderwijzen. Voor degenen die mijn eerste les niet hebben gezien, die de zeer, zeer basisprincipes van circuits beschrijft, zie die nu. Voor degenen die mijn vorige le
Draadloze communicatie met behulp van goedkope 433MHz RF-modules en Pic-microcontrollers. Deel 2: 4 stappen (met afbeeldingen)
Draadloze communicatie met behulp van goedkope 433MHz RF-modules en Pic-microcontrollers. Deel 2: In het eerste deel van deze instructable demonstreerde ik hoe je een PIC12F1822 programmeert met behulp van MPLAB IDE en XC8-compiler, om een eenvoudige string draadloos te verzenden met goedkope TX/RX 433MHz-modules. De ontvangermodule was via een USB aangesloten op UART TTL kabel advertentie