arduino 7-SEG แบบกดเปลี่ยนสถานะ
ใบรายงานผลการปฏิบัติงาน
1. Code Program ที่เขียนขึ้น ด้วยโปรแกรม Arduino พร้อมอธิบายโปรแกรม
void setup() { // กำหนดค่าขา
pinMode(0, OUTPUT);// กำหนดว่าอินพุต หรือเอาท์พุต
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, INPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
}
void loop(){ //ลูปการทำงาน
int k = digitalRead(7); // สวิตซ์
int l= digitalRead(8);
int m= digitalRead(9);
if (k==0){// เมื่อสถานะเปลี่ยนจะทำงาน
a();
b();
c();
d();
e();
f();
g();
h();
i();
j();
}
if (l==0){
j();
i();
h();
g();
f();
e();
d();
c();
b();
a();
}
if (m==0){
a();
}
}
void a(){ //ฟังชั่นที่สร้างขึ้นเอง
digitalWrite(0,LOW); // กำหนดขา high หรือ low
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
delay(500); // หน่วงเวลา
}
void b(){
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
delay(500);
}
void c(){
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
delay(500);
}
void d(){
digitalWrite(0,HIGH);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
delay(500);
}
void e(){
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
delay(500);
}
void f(){
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
delay(500);
}
void g(){
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
delay(500);
}
void h(){
digitalWrite(0,LOW);
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
delay(500);
}
void i(){
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
delay(500);
}
void j(){
digitalWrite(0,HIGH);
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
delay(500);
}
2. ภาพจำลองการทำงานด้วยโปรแกรม Proteus
3. อธิบายการทำงานของโปรแกรม
เมื่อกด สวิชต์ ขา 7 จะทำการนับ จาก 0-9
เมื่อกด สวิชต์ ขา 8 จะทำการนับ จาก 9-0
เมื่อกด สวิชต์ ขา 9 จะทำการหยุดนับ
ความคิดเห็น
แสดงความคิดเห็น