/* ESP32 WiFi Scanning example */
#include "WiFi.h"
//ตั่งค่าขอเเต่ละขอของ Esp32
int a = 33;
int b = 32;
int c = 21;
int d = 22;
int e = 23;
int f = 25;
int g = 26;
int dot = 19;
void setup() {
Serial.begin(115200);
//เป็นการเซ็ทอัพขอเเต่ละหาให้ทำงาน
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(dot, OUTPUT);
}
void showNumber(int number)
{//สร้าง function ชื่อ showNumber ที่ใช้ในการเเสดงผลตัวเลข โดยรับค่า number จาก void loop
//มาอีกที การสร้าง funtion จะ ช่วยให้ประหยัดพื้นที่และทำให้ไม่สับสนในการเรียกใช้งานโปรแกรม
if(number != 1 && number != 4)//เงื่อนไข Segment a ไฟติดเมื่อไม่ใช้เลข 1 4
digitalWrite(a, LOW);//เมื่อมีสถานะเป็น LOW ไฟจะติดเพราะเป็นเเบบ Common Anode
if(number != 5 && number != 6)//เงื่อนไข Segment b ไฟติดเมื่อไม่ใช้เลข 5 6
digitalWrite(b, LOW);
if(number != 2)
digitalWrite(c, LOW);//เงื่อนไข Segment c ไฟติดเมื่อไม่ใช้เลข 2
if(number != 1 && number != 4 && number != 7)//เงื่อนไข Segment d ไฟติดเมื่อไม่ใช้เลข 1 4 7
digitalWrite(d, LOW);
if(number == 2 || number == 6 || number == 8 || number == 0)//เงื่อนไข Segment e ไฟติดเมื่อใช้เลข 2 6 8 0
digitalWrite(e, LOW);
if(number != 1 && number != 2 && number != 3 && number != 7)//เงื่อนไข Segment f ไฟติดเมื่อไม่ใช้เลข 1 2 3 7
digitalWrite(f, LOW);
if(number != 0 && number != 1 && number != 7) //เงื่อนไข Segment g ไฟติดเมื่อไม่ใช้เลข 0 1 7
digitalWrite(g, LOW);
}
void trunoff()//เป็น funtion ชื่อ turnoof ใช้ในการ reset ให้ไฟทั้งหมดเปิดติดอีกครั้งใน void loop
{
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
digitalWrite(dot, HIGH);
}
void loop() {//เป็นการ loop การทำงานตั้งแต่ 0-9
for(int i=0;i<10;i++)
{
showNumber(i);//เรียกใช้ funsion
delay(1000);
trunoff();//เรียกใช้ funsion
}
}