Мазмуну:
- 1 -кадам: Ле Монтаж
- 2 -кадам: Le Code Arduino
- 3-кадам: Inf Les-Codes Infra-Rouge маалыматы
- 4 -кадам: Info Sur Codes RX433
Video: Resecupérer Les Codes Infra-Rouge Et 433mhz: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Le but est d’afficher les kodları des télécommandes du stylee 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.
Түзмөктө, орнотууда, коддордо жана пилоттук кызматтарда!
1 -кадам: Ле Монтаж
Жөнөкөй, Arduino Nano эмес, инфраструктура диапазону 433 МГц.
2 -кадам: Le Code Arduino
// InfraRouge
#кошуу
int recvPin = 11; // Arduino төөнөгүчүн кабыл алуучу InfraRouge (TOSP4838)
IRrecv irrecv (recvPin);
// RX433
#кошуу
RCSwitch mySwitch = RCSwitch ();
decode_results жыйынтыктары;
жараксыз орнотуу ()
{
Serial.begin (9600);
irrecv.enableIRIn ();
irrecv.blink13;
mySwitch.enableReceive (0); // Récepteur RX433 (XY-MK-5V) 2 pin Arduino Uno et Nano
}
// affichage des коддору InfraRouge
жараксыз код (decode_results *натыйжалары)
{
// Panasonic
if (results-> decode_type == PANASONIC) {
Serial.print (натыйжалар-> дарек, HEX);
Serial.print (":");
}
Serial.print (results-> мааниси, HEX);
} // жараксыз
// afficahge des encodés коддору
жараксыз коддоо (decode_results *натыйжалары)
{
которуштуруу (натыйжалар-> декоддун_түрү) {
демейки:
учурда БЕЛГИСИЗ: Serial.print ("Inconnu"); тыныгуу;
case NEC: Serial.print ("NEC"); тыныгуу;
case SONY: Serial.print ("SONY"); тыныгуу;
case RC5: Serial.print ("RC5"); тыныгуу;
иши RC6: Serial.print ("RC6"); тыныгуу;
case DISH: Serial.print ("DISH"); тыныгуу;
case SHARP: Serial.print ("SHARP"); тыныгуу;
case JVC: Serial.print ("JVC"); тыныгуу;
case SANYO: Serial.print ("SANYO"); тыныгуу;
case MITSUBISHI: Serial.print ("MITSUBISHI"); тыныгуу;
case SAMSUNG: Serial.print ("SAMSUNG"); тыныгуу;
иш LG: Serial.print ("LG"); тыныгуу;
case WHYNTER: Serial.print ("WHYNTER"); тыныгуу;
case AIWA_RC_T501: Serial.print ("AIWA_RC_T501"); тыныгуу;
case PANASONIC: Serial.print ("PANASONIC"); тыныгуу;
case DENON: Serial.print ("Denon"); тыныгуу;
}
}
// dump les résultats
жараксыз dumpInfo (decode_results *натыйжалары)
{
// Буфердин толуп кеткенин текшериңиз
if (results-> overflow) {
Serial.println ("IR коду өтө узун. IRremoteInt.h түзөтүү жана RAWBUF жогорулатуу");
кайтуу;
}
// Коддоо стандартын көрсөтүү
Serial.print ("Encodage:");
коддоо (натыйжалар);
Serial.println ("");
// Кодду жана узундугун көрсөтүү
Serial.print ("Code:");
иркод (жыйынтыктар);
Serial.print ("(");
Serial.print (results-> бит, DEC);
Serial.println ("бит"));
}
// структура
void dumpRaw (decode_results *натыйжалары)
{
// Чийки маалыматтарды басып чыгаруу
Serial.print ("Хронинг [");
Serial.print (натыйжалар-> rawlen-1, DEC);
Serial.println ("]:");
үчүн (int i = 1; i rawlen; i ++) {
белгисиз узун x = натыйжалары-> rawbuf * USECPERTICK;
if (! (i & 1)) {// ал тургай
Serial.print ("-");
if (x <1000) Serial.print ("");
if (x <100) Serial.print ("");
Serial.print (x, DEC);
} башка {// кызык
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 структурасын таштаңыз.
//
жараксыз dumpCode (decode_results *натыйжалары)
{
// Декларацияны баштаңыз
Serial.print ("unsigned int"); // өзгөрмө түрү
Serial.print ("rawData ["); // массивдин аты
Serial.print (натыйжалар-> rawlen - 1, DEC); // массивдин өлчөмү
Serial.print ("] = {"); // Декларацияны баштаңыз
// Маалыматтарды төгүү
үчүн (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 ("");
иркод (жыйынтыктар);
// Жаңы сызык
Serial.println ("");
// Эми "белгилүү" коддорду төгүңүз
if (results-> decode_type! = Белгисиз) {
// Кээ бир протоколдордун дареги бар
if (results-> decode_type == PANASONIC) {
Serial.print ("unsigned int addr = 0x");
Serial.print (натыйжалар-> дарек, HEX);
Serial.println (";");
}
// Бардык протоколдордо маалыматтар бар
Serial.print ("unsigned int data = 0x");
Serial.print (results-> мааниси, HEX);
Serial.println (";");
}
}
боштук цикл ()
/*********************************************** *InfraRouge ****************************************/
{
decode_results жыйынтыктары; // Жыйынтыктарды сактоо үчүн бир жерде
if (irrecv.decode (& results)) {// IR кодун кармаңыз
dumpInfo (& жыйынтыктар); // Жыйынтыктарды чыгаруу
dumpRaw (& жыйынтыктары); // RAW форматында жыйынтыктарды чыгаруу
dumpCode (& жыйынтыктар); // Натыйжаларды баштапкы код катары чыгаруу
Serial.println (""); // Жазуулардын ортосундагы бош сызык
irrecv.resume (); // Кийинки баага даярдан
}
/*********************************************** *** RX433 ******************************************/
эгер (mySwitch.available ())
{
int мааниси = mySwitch.getReceivedValue ();
Serial.println ("RX433");
if (value == 0) {
Serial.print ("Codage inconnu");
} башка
{
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-кадам: Inf Les-Codes Infra-Rouge маалыматы
Il y a plusieurs протоколдору:
NEC: 32 бит (протоколдун чоо -жайы)
Sony: 12 же 20 бит (протоколдун чоо -жайы) (Sony IR алыскы коддорун түшүнүү.)
RC5: 12 бит (протоколдун чоо -жайы)
RC6: 20 же 36 бит (протоколдун чоо -жайы)
Sony жана RC5/6 төктү, 3 дарекке жеткирүү керек!
ЭСКЕРТҮҮ: la librairie IRremote.h ne semble pas pouvoir envoyer decodes codés sur plus de 32bits. Les RC6, 36 чайкоочулуктун элчиси, преннент плюс де taille mémoire.
L'envoie desodes se fera avec la librairie IRremote.h
Мисалы: (0x devant le code) жана bits irsend.sendNEC (0xA55A38C7, 32);
4 -кадам: Info Sur Codes RX433
L'envoie se fera avec la librairie RCSwitch.h
Exemple mySwitch.send (1975778, 24);
Peut facilement боюнча учкуч avec cela des prises commandés.
Сунушталууда:
HT12D HT12E колдонуп RF 433MHZ радио көзөмөлү - HT12E & HT12Dди 433mhz менен колдонуу менен Rf Remote Control жасоо: 5 кадам
HT12D HT12E колдонуп RF 433MHZ радио көзөмөлү | HT12E & HT12D менен 433mhz менен Rf Remote Control жасоо: Бул көрсөтмөдө мен HT12E коду менен 433mhz өткөргүч алуучу модулун колдонуп RADIO алыстан башкарууну кантип көрсөтөм. HT12D декодер IC. Бул көрсөтмөдө сиз маалыматтарды абдан арзан КОМПОНЕНТТЕРДИ колдонуп жөнөтүп жана ала аласыз: HT
AVR (ATMEGA32) MCU КОЛДОНГОН INFRA КЫЗЫЛ АЛЫСТАН БАШКАРЫЛГАН РОБОКАР: 5 кадам
AVR (ATMEGA32) MCU КОЛДОНГОН INFRA КЫЗЫЛ АЛЫСТАН БАШКАРЫЛГАН РОБОКАР: Бул ДОЛБОР ар кандай автоматташтырылган учкучсуз башкаруу колдонмолорунда колдонула турган инфракызыл (IR) алыстан башкарылуучу RoboCarдын дизайнын жана ишке ашырылышын сүрөттөйт. Мен алыстан башкарылуучу RoboCar (сол-оң/алдыңкы-арткы кыймыл) долбоорун иштеп чыктым. Т
RF Module 433MHZ - 433MHZ RF модулунан эч кандай микроконтроллерсиз алуучу менен өткөргүчтү жасаңыз: 5 кадам
RF Module 433MHZ | 433MHZ RF модулунан эч кандай микроконтроллерсиз алуучу менен өткөргүчтү жасаңыз: Зымсыз маалыматтарды жөнөткүңүз келеби? оңой жана эч кандай микроконтроллердин кереги жокпу? Мына, биз баштайбыз, бул көрсөтмөдө мен сизге колдонууга даяр болгон негизги rf өткөргүчүн жана кабыл алуучусун көрсөтөм
LM358 колдонуп Infra-Red жакындык сенсору: 5 кадам
LM358ди колдонуп, инфра-кызыл жакындык сенсору: Бул IR жакындык сенсорун жасоо боюнча көрсөтмө
Infra-Red Panel таймери: 4 кадам (сүрөттөр менен)
Infra-Red Panel таймери: Менин үйүмдүн үстүнкү бөлмөлөрүнүн биринде менде Infra Red панели бар. Мен ошол бөлмөдө болгонумда жана мен бул панелди күйгүзгөндө, кээде аны өчүрүүнү унутам, бул баалуу энергияны текке кетирүү болуп саналат. Мунун алдын алуу үчүн, мен бул инфра кызыл панелди курдум