const byte Seven_seg[7] = {2, 3, 4, 5, 6, 7, 8}; // กำหนดตัวแปร Seven seg ต่อที่ พอร์ตดิจิตอลขา 2-8
byte Count = 0; // กำหนดตัวแปร Count ใช้สำหรับนับเลข
const byte numbers[] = { 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0X6D, 0x7D, 0x07, 0x7F, 0x6F }; // กำหนดตัวแปร numbers ใช้แสดงตัวเลขต่าง ๆ
void setup() {
for (int i = 0; i < 7; i++) { // ตัวแปร I=0; ถ้า I< 7; เพิ่ม i ครั้งละ 1/รอบ
pinMode (Seven_seg [i], OUTPUT ); // เซ็ตพอร์ตดิจิตอลขา 2-8 ให้เป็นพอร์ตเอาต์พุต
}
}
void loop() {
displayDigit( Count ); // ไปยังฟังก์ชัน displayDigt เพื่อแสดงตัวเลขแอลอีดี 7 ส่วน
Count = (Count + 1) % 10; // ตัวแปร Count + 1 หาร 10 นำเศษที่ได้เป็นผลลัพธ์
delay(1000); // หน่วงเวลา 0.5 วินาที
}
void displayDigit ( byte value ) { // กำหนดตัวแปร value
if (0 <= value && value < 10 ) { //ตัวแปร value มีค่าระหว่าง 0 - 9
value = numbers [ Count ]; // แปลงตัวเลขให้เป็นdigtสถานะของ 7 Segment
for (int i = 0; i < 8; i++) { // ตัวแปร I=0; ถ้า I< 8; เพิ่ม i ครั้งละ 1/รอบ
digitalWrite( Seven_seg [i], (value & 1)); // นำค่าใน value ไปแสดงผลที่แอลออีดี 7 ส่วน
value >>= 1; // เลื่อนไปบิตของตัวแปร value บิตถัดไป
}
}
}