рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рд▓рд╛рдЗрдЯ рд╕реНрд╡рд┐рдЪ

рдЫрд╡рд┐
рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦреЛрдВ рдХреА рдирд┐рд░рдВрддрд░рддрд╛, рдкрд╣рд▓рд╛ , рджреВрд╕рд░рд╛ ред
рдпрд╣ рд▓реЗрдЦ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рд▓рд╛рдЗрдЯ рд╕реНрд╡рд┐рдЪ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛ред рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддрд░рд╣, рдореИрдВ рдХрд╛рд░реНрдбреБрдЗрдиреЛ рдиреИрдиреЛ V.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ


рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрд╢реАрд▓рддрд╛


рдХрд┐рд╕реА рднреА рдШрд░реЗрд▓реВ рдЖрдИрдЖрд░ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рд╕рд╛рде рд╕реНрд╡рд┐рдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред
рдШрд░реЗрд▓реВ рдЖрдИрдЖрд░ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рдХрд┐рд╕реА рднреА рдмрдЯрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕реНрд╡рд┐рдЪ рдХреБрдВрдЬреА рд╕реЗ рдФрд░ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╕реЗ, рдПрдХ рджреВрд╕рд░реЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рд▓рд╛рдЗрдЯ рдХреЛ рдЪрд╛рд▓реВ / рдмрдВрдж рдХрд░реЗрдВред

рдпреЛрдЬрдирд╛ рдФрд░ рд╕рд╛рдорд╛рди


рдЫрд╡рд┐
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдХрд╛рд░реНрдбрд┐рдирд┐рдиреЛ рдиреИрдиреЛ V.7 рдирд┐рдпрдВрддреНрд░рдХ
рд░рд┐рд▓реЗ рдореЙрдбреНрдпреВрд▓
рдЖрдИрдЖрд░ рд░рд┐рд╕реАрд╡рд░ TSOP
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмреЛрд░реНрдб
рдзреНрд╡рдирд┐ рдЙрддреНрд╕рд░реНрдЬрдХ

рдШрдЯрдХ рдлреЛрдЯреЛрдЧреНрд░рд╛рдлреА
рдЫрд╡рд┐

рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдХрд╛ рд╡рд┐рд╡рд░рдг


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рдХреЗ рдмрдЯрди рдХреЛрдб рдХреЛ рд╕реНрд╡рд┐рдЪ рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд▓реЗрддреЗ рд╣реИрдВ (рдПрдпрд░ рдХрдВрдбреАрд╢рдирд░ рд╕реЗ рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛) рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рдореБрдлреНрдд рдмрдЯрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХрднреА рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЖрдорддреМрд░ рдкрд░ рдпреЗ рд░рдВрдЧреАрди рдЯреЗрд▓реЗрдХреНрд╕ рдмрдЯрди рд╣реИрдВ)ред рд╣рдо рд╕реНрд╡рд┐рдЪ рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдСрди / рдСрдл рдХреА рдХреЛ рдкреНрд░реЗрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ 5 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╣реЛрд▓реНрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдХ рд▓рдВрдмреА рдмреАрдк рд▓рдЧреЗрдЧреА, рдЗрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЪреБрдиреЗ рдЧрдП рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдмрдЯрди рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣реЗрдЧрд╛ рдФрд░ рдЖрдкрдХрд╛ рд╕реНрд╡рд┐рдЪ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЕрдм рд▓рд╛рдЗрдЯ рд╕реНрд╡рд┐рдЪ рдЖрдкрдХреЗ IR рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд╛рдВрдб рдХреЛ рд╕рдордЭреЗрдЧрд╛ред рдмрдЯрди рдХреЛрдб рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЧреИрд░-рд╡рд╛рд╖реНрдкрд╢реАрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрдХрд┐рдЯ рдХреЛ рдмрд┐рдЬрд▓реА рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕реНрд╡рд┐рдЪ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди, рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ


Arduino рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд▓рд┐рдП рдХреЛрдб


#include <IRremote.h> #include <avr/delay.h> #include <EEPROM.h> #define button 7 #define speaker 11 #define lamp 6 IRrecv irrecv(2); //    decode_results results; unsigned long ir_command; uint8_t swt, count, state = 0; //  void setup() { pinMode(speaker, OUTPUT);// pinMode(button, INPUT);//   digitalWrite(button,HIGH);//  pinMode(lamp, OUTPUT);// irrecv.enableIRIn(); //   } void loop() { swt=digitalRead(button); count=0; while(swt==0) { if(count>30) { beep(100,400); for(unsigned long i=0; i<2000000; i++) { if (irrecv.decode(&results)) { SaveEEPROM(results.value); irrecv.resume(); break; } } beep(30,900); break; } count++; swt=digitalRead(button); _delay_ms(100); } ir_command=LoadEEPROM(); if (irrecv.decode(&results)) { if(ir_command==results.value) { state=~state; digitalWrite(lamp, state); beep(10,300); _delay_ms(700); } irrecv.resume(); } else if(count>1) { state=~state; digitalWrite(lamp, state); beep(10,500); _delay_ms(100); } } void SaveEEPROM(unsigned long ir_code) { EEPROM.write(0, ir_code & 0xFF); EEPROM.write(1, (ir_code & 0xFF00) >> 8); EEPROM.write(2, (ir_code & 0xFF0000) >> 16); EEPROM.write(3, (ir_code & 0xFF000000) >> 24); } unsigned long LoadEEPROM() { byte val = EEPROM.read(3); unsigned long ir_code=val; val = EEPROM.read(2); ir_code= (ir_code << 8) | val; val = EEPROM.read(1); ir_code= (ir_code << 8) | val; val = EEPROM.read(0); ir_code= (ir_code << 8) | val; return ir_code; } void beep(byte dur, word frq) { dur=(1000/frq)*dur; for(byte i=0; i<dur; i++) { digitalWrite(speaker, HIGH); _delay_us(frq); digitalWrite(speaker, LOW); _delay_us(frq); } } 


рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ IRemote рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореВрд▓ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ рдХрдИ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬреЛрдбрд╝реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдирдП рд╕реИрдорд╕рдВрдЧ рдПрд▓рдИрдбреА рдЯреАрд╡реА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ

рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд░ рдХрд╛ рд╕рд░реНрдХрд┐рдЯ рдЖрд░реЗрдЦ


рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ arduino рдкрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕реНрд╡рд┐рдЪ рдХреЗ рдЕрдВрддрд┐рдо рдЖрд░реЗрдЦ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рдЕрд░реНрдбреБрдЗрдиреЛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдВрддрд┐рдо рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЫрд╡рд┐

Atmega168 рдирд┐рдпрдВрддреНрд░рдХ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╣реЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓
рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рдХреЗ рдЪрд╛рд░реНрдЬрд░ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдмрд┐рдЬрд▓реА рдЖрдкреВрд░реНрддрд┐ рдХреА рдпреЛрдЬрдирд╛рдПрдБ ред

рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рдЙрддреНрддрд░ рджреЗрдВред

Source: https://habr.com/ru/post/In145653/


All Articles