Съдържание:
- Стъпка 1: Le Montage
- Стъпка 2: Le Code Arduino
- Стъпка 3: Infos Sur Les Codes Infra-Rouge
- Стъпка 4: Infos Sur Codes RX433
Видео: Récupérer Les Codes Infra-Rouge Et 433mhz: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
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.
На pourra donc ensuite, grâce à une autre монтаж, пратеник ces кодове и пилот не импортирайте quoi!
Стъпка 1: Le Montage
Прост, без Arduino Nano, инфрачервен инфрачервен диод с диод и приемник 433 mhz.
Стъпка 2: Le Code Arduino
// InfraRouge
#включва
int recvPin = 11; // щифт Arduino за приемник InfraRouge (TOSP4838)
IRrecv unrecv (recvPin);
// RX433
#включва
RCSwitch mySwitch = RCSwitch ();
decode_results резултати;
void setup ()
{
Serial.begin (9600);
unrecv.enableIRIn ();
unrecv.blink13 (вярно); // allume la LED internet lors de l'envoie InfraRouge
mySwitch.enableReceive (0); // Récepteur RX433 (XY-MK-5V) извод 2 от Arduino Uno et Nano
}
// affichage des code InfraRouge
void ircode (decode_results *резултати)
{
// Panasonic
if (резултати-> decode_type == PANASONIC) {
Serial.print (резултати-> адрес, HEX);
Serial.print (":");
}
Serial.print (резултати-> стойност, HEX);
} // невалиден
// afficahge des code encodés
кодиране на void (decode_results *резултати)
{
ключ (резултати-> декодиране_тип) {
по подразбиране:
случай НЕИЗВЕСТЕН: Serial.print ("Inconnu"); прекъсване;
калъф NEC: Serial.print ("NEC"); прекъсване;
калъф SONY: Serial.print ("SONY"); прекъсване;
калъф RC5: Serial.print ("RC5"); прекъсване;
случай RC6: Serial.print ("RC6"); прекъсване;
калъф DISH: Serial.print ("DISH"); прекъсване;
калъф SHARP: Serial.print ("SHARP"); прекъсване;
калъф JVC: Serial.print ("JVC"); прекъсване;
калъф SANYO: Serial.print ("SANYO"); прекъсване;
калъф MITSUBISHI: Serial.print ("MITSUBISHI"); прекъсване;
калъф SAMSUNG: Serial.print ("SAMSUNG"); прекъсване;
калъф LG: Serial.print ("LG"); прекъсване;
регистър WHYNTER: Serial.print ("WHYNTER"); прекъсване;
калъф AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); прекъсване;
калъф PANASONIC: Serial.print ("PANASONIC"); прекъсване;
калъф DENON: Serial.print ("Denon"); прекъсване;
}
}
// dump les résultats
void dumpInfo (decode_results *резултати)
{
// Проверете дали буферът е препълнен
if (резултати-> препълване) {
Serial.println ("IR кодът е твърде дълъг. Редактирайте IRremoteInt.h и увеличете RAWBUF");
връщане;
}
// Показване на стандарта за кодиране
Serial.print ("Encodage:");
кодиране (резултати);
Serial.println ("");
// Показване на код и дължина
Serial.print ("Код:");
ircode (резултати);
Serial.print ("(");
Serial.print (резултати-> битове, DEC);
Serial.println ("битове)");
}
// структура
void dumpRaw (decode_results *резултати)
{
// Печат на необработени данни
Serial.print ("Timing [");
Serial.print (резултати-> rawlen-1, DEC);
Serial.println ("]:");
for (int i = 1; i rawlen; i ++) {
unsigned long x = results-> rawbuf * USECPERTICK;
if (! (i & 1)) {// четно
Serial.print ("-");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
} else {// нечетно
Serial.print ("");
Serial.print ("+");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
if (i rawlen-1) Serial.print (","); // ',' не е необходимо за последното
}
if (! (i % 8)) Serial.println ("");
}
Serial.println (""); // Нова линия
}
//+=============================================================================
// Изхвърлете структурата decode_results.
//
void dumpCode (decode_results *резултати)
{
// Старт на декларацията
Serial.print ("unsigned int"); // променлив тип
Serial.print ("rawData ["); // име на масива
Serial.print (резултати-> необработени - 1, DEC); // размер на масива
Serial.print ("] = {"); // Старт на декларацията
// Изхвърляне на данни
for (int i = 1; i rawlen; i ++) {
Serial.print (резултати-> rawbuf * USECPERTICK, DEC);
if (i rawlen-1) Serial.print (","); // ',' не е необходимо на последния
if (! (i & 1)) Serial.print ("");
}
// Крайна декларация
Serial.print ("};"); //
// Коментар
Serial.print ("//");
кодиране (резултати);
Serial.print ("");
ircode (резултати);
// Нова линия
Serial.println ("");
// Сега изхвърлете "известни" кодове
if (results-> decode_type! = UNKNOWN) {
// Някои протоколи имат адрес
if (резултати-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (резултати-> адрес, HEX);
Serial.println (";");
}
// Всички протоколи имат данни
Serial.print ("unsigned int data = 0x");
Serial.print (резултати-> стойност, HEX);
Serial.println (";");
}
}
void loop ()
/************************************************* *InfraRouge ******************************************/
{
decode_results резултати; // Някъде за съхраняване на резултатите
if (unrecv.decode (& results)) {// Вземете IR код
dumpInfo (& резултати); // Извеждане на резултатите
dumpRaw (& резултати); // Извежда резултатите във формат RAW
dumpCode (& резултати); // Извеждаме резултатите като изходен код
Serial.println (""); // Празен ред между записите
unrecv.resume (); // Подгответе се за следващата стойност
}
/************************************************* *** RX433 ********************************************/
if (mySwitch.available ())
{
int стойност = mySwitch.getReceivedValue ();
Serial.println ("RX433");
ако (стойност == 0) {
Serial.print ("Codage inconnu");
} else
{
Serial.print ("Reçu");
Serial.print (mySwitch.getReceivedValue ());
Serial.print (" /");
Serial.print (mySwitch.getReceivedBitlength ());
Serial.print ("бит");
Serial.print ("Протокол:");
Serial.println (mySwitch.getReceivedProtocol ());
}
mySwitch.resetAvailable ();
} // RX433
} // цикъл
Стъпка 3: Infos Sur Les Codes Infra-Rouge
Протоколите „плюс плюс“:
NEC: 32 бита (подробности за протокола)
Sony: 12 ou 20 бита (подробности за протокола) (Разбиране на кодовете за дистанционно управление на Sony IR.)
RC5: 12 бита (подробности за протокола)
RC6: 20 ou 36 бита (подробности за протокола)
Изсипете Sony et RC5/6, предаването на Chaque е подходящо за 3 респекта!
ВНИМАНИЕ: 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 codes se fera avec la librairie IRremote.h
Пример: (0x devant le code) et le nombre de bits irsend.sendNEC (0xA55A38C7, 32);
Стъпка 4: Infos Sur Codes RX433
L’envoie se fera avec la librairie RCSwitch.h
Например mySwitch.send (1975778, 24);
Пилотът на peut facilement avec cela des prises commandés.
Препоръчано:
Как да направите звънец без докосване, откриване на телесна температура, GY-906, 433MHz с помощта на Arduino: 3 стъпки
Как да направите звънец без докосване, откриване на телесна температура, GY-906, 433MHz с помощта на Arduino: Днес ще направим звънец без докосване, той ще открие телесната ви температура. В сегашната ситуация е много важно да се знае дали телесната температура на някой е по -висока от нормалната, когато някой се свива. Този проект ще покаже червена светлина, ако открие някакви
Направи си сам уоки-токи с общи 433MHz RF модули: 4 стъпки
DIY Walkie-Talkie с общи 433MHz RF модули: В този проект ще ви покажа как да използвате общи 433MHz RF модули от Ebay, за да създадете функционален Walkie-Talkie. Това означава, че ще сравним различни RF модули, ще научим малко за усилвател клас d и накрая ще изградим Walkie-Talkie
RF 433MHZ радиоуправление чрез HT12D HT12E - Създаване на Rf дистанционно управление с помощта на HT12E & HT12D с 433mhz: 5 стъпки
RF 433MHZ радиоуправление чрез HT12D HT12E | Създаване на Rf дистанционно управление с помощта на HT12E & HT12D с 433mhz: В тази инструкция ще ви покажа как да направите RADIO дистанционно управление, използвайки 433mhz предавател приемник модул с HT12E кодиране & IC декодер HT12D. В тази инструкция можете да изпращате и получавате данни, използвайки много много евтини КОМПОНЕНТИ КАТО: HT
INFRA ЧЕРВЕН ДИСТАНЦИОНЕН РОБОКАР, ИЗПОЛЗВАЩ AVR (ATMEGA32) MCU: 5 стъпки
ИНФРА ЧЕРВЕН ДИСТАНЦИОННО РОБОКАР, ИЗПОЛЗВАЩ AVR (ATMEGA32) MCU: Настоящият ПРОЕКТ описва проектирането и изпълнението на инфрачервен (IR) дистанционно управляван RoboCar, който може да се използва за различни автоматизирани безпилотни приложения за управление. Аз съм проектирал RoboCar с дистанционно управление (движение наляво-надясно/отпред-назад). T
RF модул 433MHZ - Направете приемник и предавател от 433MHZ RF модул без микроконтролер: 5 стъпки
RF модул 433MHZ | Направете приемник и предавател от 433MHZ RF модул без никакъв микроконтролер: Искате ли да изпращате безжични данни? лесно и без нужда от микроконтролер? Ето, в тази инструкция ще ви покажа ми основен радиочестотен предавател и приемник, готов за употреба! В тази инструкция ще можете да изпращате и получавате данни, използвайки много вер