Оформи код соответствующим тэгом, см. Правила
Ув. форумчане, помогите начинающему. Написал скетч на основе NecDecoder.
Пульт кнопкой 1 уменьшает код на А0-А4, кнопкой 2 увеличивает.Диапазон регулировок
от 0 до 24.На увеличение останавливается счет на 24,а вот на нуле не останавливается(покругу).
проверял в PROTEUS.
куда копать?знаний в программировании практически 0.тяжеловато в свои 67.
Буду рад подсказке.
// приёмник на D2
#define IR_1 0x98
#define IR_2 0x68
#include <NecDecoder.h>
NecDecoder ir;
void setup()
{
pinMode(14,OUTPUT ) ;
pinMode(15,OUTPUT ) ;
pinMode(16,OUTPUT ) ;
pinMode(17,OUTPUT ) ;
pinMode(18,OUTPUT ) ;
Serial.begin(9600);
attachInterrupt(0, irIsr, FALLING);
int i=0;
}
void irIsr()
{
ir.tick();
}
void loop()
{
if(PORTC<0x00)PORTC=0x00;
if(PORTC>0x17)PORTC=0x17;
if (ir.available())
{
switch (ir.readCommand())
{
case IR_2ORTC--;Serial.println(PORTC);break;
case IR_1ORTC++;Serial.println(PORTC);break;
}
}
}
Пульт кнопкой 1 уменьшает код на А0-А4, кнопкой 2 увеличивает.Диапазон регулировок
от 0 до 24.На увеличение останавливается счет на 24,а вот на нуле не останавливается(покругу).
проверял в PROTEUS.
куда копать?знаний в программировании практически 0.тяжеловато в свои 67.
Буду рад подсказке.
// приёмник на D2
#define IR_1 0x98
#define IR_2 0x68
#include <NecDecoder.h>
NecDecoder ir;
void setup()
{
pinMode(14,OUTPUT ) ;
pinMode(15,OUTPUT ) ;
pinMode(16,OUTPUT ) ;
pinMode(17,OUTPUT ) ;
pinMode(18,OUTPUT ) ;
Serial.begin(9600);
attachInterrupt(0, irIsr, FALLING);
int i=0;
}
void irIsr()
{
ir.tick();
}
void loop()
{
if(PORTC<0x00)PORTC=0x00;
if(PORTC>0x17)PORTC=0x17;
if (ir.available())
{
switch (ir.readCommand())
{
case IR_2ORTC--;Serial.println(PORTC);break;
case IR_1ORTC++;Serial.println(PORTC);break;
}
}
}
Вложения
-
692 байт Просмотры: 4
Изменено: