Пишу код для трехцветного светодиода. Не получается в цикле написать код, что бы от определенной кнопки горел определенный цвет. Помогите пожалуйста. Скетч: Код (C++): #define FIRST_KEY_PIN 7 #define KEY_COUNT 3 int r = 13; int g = 12; int b = 11; void setup() { pinMode(r, OUTPUT); pinMode(g, OUTPUT); pinMode(b, OUTPUT); } void loop() { for (int i = 0; i < KEY_COUNT; ++i) { int keyPin = i + FIRST_KEY_PIN; boolean keyUp = digitalWrite(keyPin); if(!keyUp) { } } } *точнее обьяснить как это сделать
Например: Код (C++): void loop(){ for (int i = 0; i < KEY_COUNT; ++i){ boolean keyUp = digitalRead(FIRST_KEY_PIN + i); if(!keyUp){ swith(i){ case: 0 digitalWrite(r, color1_r); digitalWrite(g, color1_g); digitalWrite(b, color1_b); breack; case: 1 digitalWrite(r, color2_r); digitalWrite(g, color2_g); digitalWrite(b, color2_b); breack; case: 2 digitalWrite(r, color3_r); digitalWrite(g, color3_g); digitalWrite(b, color3_b); breack; } } } } Или так: Код (C++): void loop(){ const int colors[3][3] = {{255,0,0},{0,255,0},{0,0,255}}; for (int i = 0; i < KEY_COUNT; ++i){ boolean keyUp = digitalRead(FIRST_KEY_PIN + i); if(!keyUp){ digitalWrite(r, colors[i][0]); digitalWrite(g, colors[i][1]); digitalWrite(b, colors[i][2]); } } }