arduino 7-seg lcd
ใบรายงานผลการปฏิบัติงาน
1. Code Program ที่เขียนขึ้น ด้วยโปรแกรม Arduino พร้อมอธิบายโปรแกรม
#include <LiquidCrystal.h> // เรียกอุปกรณ์ที่ aduno ไม่รู้จัก
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // ขาที่ใช้
void setup() { // กำหนดค่าอุปกรณ์
pinMode(0,INPUT); // กำหนดอินพุตและเอ้าพุต
pinMode(1,INPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
lcd.begin(16,2);
}
void loop() { // ลูปการทำงาน
int x= digitalRead(0); // สวิตซ์
int y= digitalRead(1);
if (x==0){ // เมื่อค่าเปลี่ยนอุปกรณ์จะทำงาน
a();
b();
c();
d();
e();
f();
g();
h();
i();
j();
}
if (y==0){
j();
i();
h();
g();
f();
e();
d();
c();
b();
a();
}
}
void a(){ // ลูปที่สร้างขึ้นเอง
digitalWrite(6,LOW); // กำหนดขา high หรือ low
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
lcd.setCursor(3, 0); // กำหนดค่าจะให้แสดงที่แถวไหน
lcd.print("0"); // สิ่งที่ใช้ในการแสดง
delay(500); // หน่วงเวลา
}
void b(){
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("1");
delay(500);
}
void c(){
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("2");
delay(500);
}
void d(){
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("3");
delay(500);
}
void e(){
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("4");
delay(500);
}
void f(){
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("5");
delay(500);
}
void g(){
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("6");
delay(500);
}
void h(){
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
lcd.setCursor(3, 0);
lcd.print("7");
delay(500);
}
void i(){
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
lcd.setCursor(3, 0);
lcd.print("8");
delay(500);
}
void j(){
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
lcd.setCursor(3, 0);
lcd.print("9");
delay(500);
}
3. อธิบายการทำงานของโปรแกรม
เมื่อกด สวิชต์ ขา 0 จะทำการนับ จาก 0-9 และ lcd จะนับ 0-9 เช่นกัน
เมื่อกด สวิชต์ ขา 1 จะทำการนับ จาก 9-0 และ lcd จะนับ 9-0 เช่นกัน
ความคิดเห็น
แสดงความคิดเห็น