#include <Arduino.h>
// กำหนดขา GPIO สำหรับแต่ละ segment
const int segmentA = 15;
const int segmentB = 2;
const int segmentC = 4;
const int segmentD = 16;
const int segmentE = 17;
const int segmentF = 5;
const int segmentG = 18;
const int segmentDP = 19;
// กำหนดรูปแบบการแสดงผลแต่ละตัวเลข (0-9)
const int digits[10][8] = {
{0, 0, 0, 0, 0, 0, 1, 1}, // 0
{1, 0, 0, 1, 1, 1, 1, 1}, // 1
{0, 0, 1, 0, 0, 1, 0, 1}, // 2
{0, 0, 0, 0, 1, 1, 0, 1}, // 3
{1, 0, 0, 1, 1, 0, 0, 1}, // 4
{0, 1, 0, 0, 1, 0, 0, 1}, // 5
{0, 1, 0, 0, 0, 0, 0, 1}, // 6
{0, 0, 0, 1, 1, 1, 1, 1}, // 7
{0, 0, 0, 0, 0, 0, 0, 1}, // 8
{0, 0, 0, 1, 1, 0, 0, 1} // 9
};
void setup() {
// กำหนดโหมดของขา GPIO ให้เป็น OUTPUT
pinMode(segmentA, OUTPUT);
pinMode(segmentB, OUTPUT);
pinMode(segmentC, OUTPUT);
pinMode(segmentD, OUTPUT);
pinMode(segmentE, OUTPUT);
pinMode(segmentF, OUTPUT);
pinMode(segmentG, OUTPUT);
pinMode(segmentDP, OUTPUT);
}
void loop() {
// แสดงตัวเลข 0-9
for (int i = 0; i < 10; i++) {
displayDigit(i);
delay(1000); // หน่วงเวลา 1 วินาที
}
}
void displayDigit(int digit) {
// เขียนข้อมูลไปยังแต่ละ segment
digitalWrite(segmentA, digits[digit][0]);
digitalWrite(segmentB, digits[digit][1]);
digitalWrite(segmentC, digits[digit][2]);
digitalWrite(segmentD, digits[digit][3]);
digitalWrite(segmentE, digits[digit][4]);
digitalWrite(segmentF, digits[digit][5]);
digitalWrite(segmentG, digits[digit][6]);
digitalWrite(segmentDP, digits[digit][7]);
}