Controle remoto de três comandos com um programa de 290 palavras de 16 bits



O dispositivo ATtiny13, controlado por um programa de 290 palavras de 16 bits escritas em assembler, lembra os códigos dos seis botões no controle remoto e liga / desliga as três cargas. Esquema:



O receptor de infravermelho TSOP1740 padrão usa lógica inversa, e isso é levado em consideração no programa. Os sinais recebidos causam uma interrupção INT0. O resistor é necessário para desatar o receptor de infravermelho do microcontrolador durante o upload do firmware.

O procedimento para ensinar os códigos dos botões do dispositivo é o seguinte. Ligue a energia com o botão pressionado na entrada do PB3 (então você pode liberá-lo). A primeira carga será brevemente ligada e desligada imediatamente. Pressionamos o botão no controle remoto, com o qual queremos ativar a primeira carga. Assim que o controle remoto envia o mesmo código duas vezes (isso acontece se você mantiver o botão pressionado por pelo menos alguns segundos), o primeiro carregamento será ativado por cinco segundos e desligado. E o segundo ligará brevemente e também desligará imediatamente. Nós treinamos o dispositivo para o código do botão para ligar a segunda carga. Depois o terceiro. Agora estamos fazendo o mesmo sequencialmente com os códigos dos botões, com os quais queremos desconectar as cargas. O programa gravará os códigos na EEPROM, agora você precisa desligar e ligar a alimentação, mas não pressione o botão na entrada do PB3. O dispositivo entrará no modo operacional, no qual você pode gerenciar cargas.

Ao verificar cargas, os LEDs são conectados via resistores. Depois de garantir que tudo funcione, conectamos às saídas as chaves que controlam o relé. Como pode ser visto no circuito de qualquer uma das três teclas, os LEDs indicadores com resistores por conveniência são mantidos no lugar:



Na verdade, deve haver transistores NPN conectados por emissores ao fio comum, mas o autor funciona assim. As cargas podem ser, por exemplo, lâmpadas LED com temperaturas de cor de 2700, 4000 e 6400 K. Você pode trocá-las manualmente de acordo com os ritmos circadianos, sem depender da automação.

Código do assembler: sem e sem formatação HTML .

Confirmação de que foi possível encontrar 290 palavras de 16 bits:

gavrasm Gerd's AVR assembler version 3.5 (C)2015 by DG4FAC ---------------------------------------------------------- Source file: 12_IR-Rx_Switch.asm Hex file: 12_IR-Rx_Switch.hex Eeprom file: 12_IR-Rx_Switch.eep Compiled: 23.11.2016, 23:23:05 Pass: 2 1: ; 2: ; *************************************** 3: ; * IR-Switch 3-Channel with ATtiny13 * 4: ; * (C)2016 by www.avr-asm-tutorial.net * 5: ; *************************************** ... Program : 290 words. Constants : 0 words. Total program memory: 290 words. Eeprom space : 13 bytes. Data segment : 29 bytes. Compilation completed, no errors. Compilation ended 23.11.2016, 23:23:05 

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


All Articles