Untitled
unknown
plain_text
6 months ago
1.4 kB
3
Indexable
const byte numeral[11] = { B00000011, // 0 B10011111, // 1 B00100101, // 2 B00001101, // 3 B10011001, // 4 B01001001, // 5 B01000001, // 6 B00011111, // 7 B00000001, // 8 B00001001, // 9 B11111111, // blank display }; const int segmentPins[8] = { 8, 7, 6, 11, 10, 9, 4, 5 }; //dp,g,f,e,d,c,b,a #define Led_R 12 #define Led_Y 2 #define Led_G 3 void setup() { for (int i = 0; i < 8; i++) { pinMode(segmentPins[i], OUTPUT); } pinMode(Led_R, OUTPUT); pinMode(Led_Y, OUTPUT); pinMode(Led_G, OUTPUT); } void loop() { // Red light sequence digitalWrite(Led_R, LOW); digitalWrite(Led_Y, LOW); digitalWrite(Led_G, HIGH); for (int i = 5; i >= 1; i--) { tampilAngka(i); delay(1000); } // Yellow light sequence digitalWrite(Led_R, LOW); digitalWrite(Led_Y, HIGH); digitalWrite(Led_G, LOW); for (int i = 2; i >= 1; i--) { tampilAngka(i); delay(1000); } // Green light sequence digitalWrite(Led_R, HIGH); digitalWrite(Led_Y, LOW); digitalWrite(Led_G, LOW); for (int i = 9; i >= 1; i--) { tampilAngka(i); delay(1000); } } void tampilAngka(int number) { boolean isBitSet; for (int segment = 1; segment < 8; segment++) { isBitSet = bitRead(numeral[number], segment); digitalWrite(segmentPins[segment], isBitSet); } digitalWrite(segmentPins[0], HIGH); // Turn off decimal point }
Editor is loading...
Leave a Comment