Как сделать ввод двузначных чисел (11,12,20 и т.д.) с использованием ик-пульта?
по одиночке работает все хорошо ( от 0 до 9 ), а вот как сделать двузначные числа не понимаю
void one_color(byte color)
{
switch (color)
{
case 0: Serial.println("WHITE"); break;
case 1: Serial.println("RED"); break;
case 2: Serial.println("PINK"); break;
case 3: Serial.println("AQUA"); break;
case 4: Serial.println("YELLOW"); break;
case 5: Serial.println("MAROON"); break;
case 6: Serial.println("PURPLE"); break;
case 7: Serial.println("NAVY"); break;
case 8: Serial.println("BLUE"); break;
case 9: Serial.println("TEAL"); break;
case 10: Serial.println("LIME"); break;
}
}
void resetOK()
{
lattice = 0;
//сделать 3-4 светодиода, сообщающих о состоянии
}
void loop() {
if (irrecv.decode(&results)) //чтение кода ик сигнала
{
if (results.value != 0xFFFFFFFF)
{
val = results.value;
}
if (results.value == butt_lattice)
{
if (lattice != 2)
{
lattice++;;
}
else lattice = 0;
}
switch (val)
{
//case butt_0: Serial.println('0'); one_color(j); break;
case butt_up: //Serial.println("up");
{
if (j == countEffects) {
j = 0;
}
else
masEffects[++j];
} break;
case butt_down: {//Serial.println("down");
if (j == 0) {
j = countEffects;
}
else
masEffects[--j];
} break;
//---------------------------
case butt_left:
{
settings(lattice, 1, 1);
} break;
//---------------------------
case butt_right:
{
settings(lattice, 2, 1);
} break;
}
Serial.println("j: ");
Serial.println(j);
//-----------------------------------------------------------------------
switch (results.value)
{
case butt_1: Serial.println('1'); break;
case butt_2: Serial.println('2'); break;
case butt_3: Serial.println('3'); break;
case butt_4: Serial.println('4'); break;
case butt_5: Serial.println('5'); break;
case butt_6: Serial.println('6'); break;
case butt_7: Serial.println('7'); break;
case butt_8: Serial.println('8'); break;
case butt_9: Serial.println('9'); break;
case butt_star: Serial.println("*"); break;
case butt_ok: Serial.println("ok"); resetOK(); break;
}
irrecv.resume();
Как сделать ввод двузначных чисел (11,12,20 и т.д.) с использованием ик-пульта? по одиночке работает все хорошо ( от 0 до 9 ), а вот как сделать двузначные числа не понимаю
`#include
define LED_COUNT 300
define RECV_PIN 6
define butt_1 0xFFA25D
define butt_2 0xFF629D
define butt_3 0xFFE21D
define butt_4 0xFF22DD
define butt_5 0xFF02FD
define butt_6 0xFFC23D
define butt_7 0xFFE01F
define butt_8 0xFFA857
define butt_9 0xFF906F
define butt_0 0xFF9867
define butt_star 0xFF6897
define butt_lattice 0xFFB04F
define butt_up 0xFF18E7
define butt_down 0xFF4AB5
define butt_left 0xFF10EF
define butt_right 0xFF5AA5
define butt_ok 0xFF38C7
long key; uint32_t val; int j = 0; byte k = 0;
IRrecv irrecv (RECV_PIN); decode_results results;
void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void settings(byte lattice, byte left_or_right, byte rgb) { switch (lattice) {
} Serial.print("Brightness: "); Serial.println(Brightness); Serial.print("led_speed "); Serial.println(led_speed); Serial.println(lattice); }
void one_color(byte color) { switch (color) { case 0: Serial.println("WHITE"); break; case 1: Serial.println("RED"); break; case 2: Serial.println("PINK"); break; case 3: Serial.println("AQUA"); break; case 4: Serial.println("YELLOW"); break; case 5: Serial.println("MAROON"); break; case 6: Serial.println("PURPLE"); break; case 7: Serial.println("NAVY"); break; case 8: Serial.println("BLUE"); break; case 9: Serial.println("TEAL"); break; case 10: Serial.println("LIME"); break;
} }
void resetOK() { lattice = 0; //сделать 3-4 светодиода, сообщающих о состоянии } void loop() { if (irrecv.decode(&results)) //чтение кода ик сигнала { if (results.value != 0xFFFFFFFF) { val = results.value; }
} delay(100); }`