Recent

Plateform : Micro:bit

ชุดบอร์ด micro:bit ชุดทดลองที่น้าสนใจ โดยเฉพาะเด็กๆ และผู้เริ่มต้นเขียนโปรแกรมแบบ บล็อค ของเล่ยนมากมาย

อย่าหยุดที่จะเรียนรู้

ครูโป้ง ก็ไปเรียนเพิ่มได้ความรู้มาเพิ่มพูน ไม่หยุดนิ่ง ลงทุนบ้าง เสาะหาบ้าง

ชุด ioT กับ ESP8266

iot คือทุกอย่างสามารถเชิ่อมต่อบนโลกอินเตอร์เน็ต เชื่อมโลกได้ สั่งได้ทั่วโลก

วิ่งปรู๊ด ตามเส้นไป กับ Arduino

โครงงานรถยนต์กับ Aruino

AR vs VR

เชื่อมโลกเสมือนไปกับ AR และ VR

25 มกราคม 2564

Workshop2 สี่แยกไฟแดง อัตโนมัติ Arduino+LED

 Workshop2 สี่แยกไฟแดง อัตโนมัติ Arduino+LED



ขั้นแรก ต่อวงจรกันก่อน

ขั้นต่อมา เขียน Code

ส่วนแรก กำหนดตัวแปร และตั้งค่า

int y1g = 13;
int y1y = 12;
int y1r = 11;
int y2g = 10;
int y2y = 9;
int y2r = 8;
int y3g = 7;
int y3y = 6;
int y3r = 5;
int y4g = 4;
int y4y = 3;
int y4r = 2;

void setup()
{
  pinMode(y1g, OUTPUT);
  pinMode(y1y, OUTPUT);
  pinMode(y1r, OUTPUT);
  pinMode(y2g, OUTPUT);
  pinMode(y2y, OUTPUT);
  pinMode(y2r, OUTPUT);
  pinMode(y3g, OUTPUT);
  pinMode(y3y, OUTPUT);
  pinMode(y3r, OUTPUT);
  pinMode(y4g, OUTPUT);
  pinMode(y4y, OUTPUT);
  pinMode(y4g, OUTPUT);
}

ส่วนต่อมา กำหนดโปรแกรม

void loop()
{
  //รอบแรก ไฟเขียว แยก 1-2
  //แยก 1 เขียว
  digitalWrite(y1g, HIGH);
  digitalWrite(y1y, LOW);
  digitalWrite(y1r, LOW);
  //แยก 2 เขียว
  digitalWrite(y2g, HIGH);
  digitalWrite(y2y, LOW);
  digitalWrite(y2r, LOW);
  //แยก 3 แดง
  digitalWrite(y3g, LOW);
  digitalWrite(y3y, LOW);
  digitalWrite(y3r, HIGH);
  //แยก 4 แดง
  digitalWrite(y4g, LOW);
  digitalWrite(y4y, LOW);
  digitalWrite(y4r, HIGH);
    delay(3000); // Wait for 1000 millisecond(s)

//ไฟกระพริบ แยก 1-2
  //กระพริบ แยก 1-2 เปิด
  digitalWrite(y1g, LOW);
  digitalWrite(y1y, HIGH);
  digitalWrite(y2g, LOW);
  digitalWrite(y2y, HIGH);
  delay(1000); // Wait for 1000 millisecond(s)
   //กระพริบ แยก 1-2 ปิด
  digitalWrite(y1y, LOW);
  digitalWrite(y2y, LOW);
  delay(1000); // Wait for 1000 millisecond(s)
   //กระพริบ แยก 1-2
  digitalWrite(y1y, HIGH);
  digitalWrite(y2y, HIGH);
    delay(1000); // Wait for 1000 millisecond(s)
    //กระพริบ แยก 1-2
  digitalWrite(y1y, LOW);
  digitalWrite(y2y, LOW);
    delay(1000); // Wait for 1000 millisecond(s)

  //เหลืออะไรอีกน้อ
 //ไฟแดง แยก 1-2  ไฟเขียวแยก 3-4
 //ไฟกระพริบ แยก 3-4
}


ผลลัพธ์





11 มกราคม 2564