Arduino - LED計數器(LED Counter)
材料:
1.LED*4
2.電阻*4
3.開關*1
目的:
2進制計數器,開關按一次值+1,超過15歸0成果:
- const byte LED[4] = {
- 8,
- 9,
- 10,
- 11
- };
- boolean lastState = LOW;
- byte time[4] = {
- 0
- };
- void setup() {
- Serial.begin(9600);
- pinMode(LED[0], OUTPUT);
- pinMode(LED[1], OUTPUT);
- pinMode(LED[2], OUTPUT);
- pinMode(LED[3], OUTPUT);
- pinMode(2, INPUT);
- digitalWrite(2, HIGH);
- }
- void loop() {
- boolean now = digitalRead(2);
- Serial.print(now);
- if (now == HIGH && lastState == LOW) {
- Serial.println(time[0]);
- time[0]++;
- for (int i = 0; i < 4; i++) {
- if (time[i] >= 2) {
- time[i] = 0;
- time[i + 1]++;
- if (time[3] >= 2) {
- for (int i = 0; i < 4; i++) {
- time[i] = 0;
- }
- }
- }
- }
- for (int i = 0; i < 4; i++) {
- if (time[i] == 1) {
- digitalWrite(LED[i], HIGH);
- } else if (time[i] == 0) {
- digitalWrite(LED[i], LOW);
- }
- }
- }
- delay(100);
- }
留言
張貼留言