/* 使用A3與A4下拉式電阻,控制16顆LED前進與後退亮燈 */
int button_count1 = 0; //A3按鈕計數int button_count2 = 0; //A4按鈕計數int led1 = 22; int led2 = 21;int led3 = 23; void setup()
{ pinMode(22, OUTPUT); pinMode(23, OUTPUT); pinMode(24, OUTPUT); pinMode(25, OUTPUT); pinMode(26, OUTPUT); pinMode(27, OUTPUT); pinMode(28, OUTPUT); pinMode(29, OUTPUT); pinMode(30, OUTPUT); pinMode(31, OUTPUT); pinMode(32, OUTPUT); pinMode(33, OUTPUT); pinMode(34, OUTPUT); pinMode(35, OUTPUT); pinMode(36, OUTPUT); pinMode(37, OUTPUT); pinMode(A2, INPUT); pinMode(A3, INPUT);}
void loop(){ if (digitalRead(A2) == 0 && button_count1 == 0) { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); button_count1 = 1; }
if (digitalRead(A2) == 1 && button_count1 == 1) { led1 = led1 + 1; led2 = led2 + 1; led3 = led3 + 1; button_count1 = 0; if (led1 >= 37) { // 限制最大值 led1 = 37; led2 = 36; led3 = 38; } } if (digitalRead(A3) == 0 && button_count2 == 0) { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); digitalWrite(led3, LOW); button_count2 = 1; }
if (digitalRead(A3) == 1 && button_count2 == 1) { led1 = led1 - 1; led2 = led2 - 1; led3 = led3 - 1; button_count2 = 0; if (led1 <= 22) { // 限制最小值 led1 = 22; led2 = 21; led3 = 23; } } delay(10); // Delay a little bit to improve simulation performance}