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 จะทำการหยุดนับ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ใบงานที่ 7 arduino หาเอง

arduino กลับทางหมุนมอเตอร์

MIKRO C T6 ควบคุมการแสดงข้อความด้วย LCD