ตัวอย่างโครงงาน Arduino UNO เพื่อ ไฟกระพริบ LED 4 ดวง พร้อมกับส่ง ข้อความ สถานะของหลอดไฟ และ ส่งข้อความ ผ่าน seriel port


Arduino IDE
Date 07 12, 2023

สวัสดีครับ จากตัวอย่างโค้ดที่ผ่านมาถ้าผมต้องการให้ led ทั้ง สี่ดวง กระพริม พร้อมกันแต่ ตัวอย่างนี้ ผมจะเพิ่มโค้ดให้ไฟ led ติดเรียงลำดับ โดยจะมี การแดสงค่าสถานะของหลอด ไฟ led ที่ติด แสดงค่าผ่าน serial port เพื่อแสดงค่า โดย จะเพิ่มผมเองอยากเพิ่มการรับ ข้อมูล ที่เป็นตัวอักษร เพื่อ จะใช้งานในโครงงานต่อไป

  1. Bord Arduino Uno
  2. หลอด led
  3. R330 ohm
  4. computer

Nature


สิ่งที่ต้องทำก่อนที่จะเริ่มลงมือ wiring หรือต่อสานไฟตามรูปภาพ และเชื่อต่อ arduino กับ คอมพิวเตอร์ด้วย port usb เขียนโปรแกรมโดย ตัวโปรแกรม ทำการ define pin โดยใช้ คำสั่ง #define และ config pin 2-5 เป็น output เพื่อส่งค่า 1 ออกไป ในรูปของ digital output 1 or 0 แล้ว เขียนคำสั่งเพื่อ loop โดยให้ pin 1 ถึง 4 เปิดและปิดพร้อมกันโดยมี delay ที่ 500 millisec พร้อมคำสั่ง serial port เพื่อ ส่งข้อมูลแสดงสถานะของไฟ led และ แสดงข้ออความที่รับ เมื่อทำงาน พิมพ์ข้อความเข้า ผ่าน ช่อง serial monitor ของ arduino ide

โค้ด Arduino

                
/*
  This code makes 3 LEDs blink in sequence.
*/

// Define the pins for the LEDs
const int led1 = 2;
const int led2 = 3;
const int led3 = 4;
const int led4 = 5;
String textrecive;

// Setup
void setup() {
  // Set the pins as outputs
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);

  Serial.begin(9600); // ตั้งความเร็วสื่อสารที่ 9600 และสั่งให้เริ่มทำงาน
  Serial.println("Test series port shoe statust led");
}

// Loop
void loop() {
  while(Serial.available()){
    textrecive = Serial.readString();

    // say what you got:
    Serial.print("I received: ");
    Serial.println(textrecive);
  }
  // Turn on the first LED
  digitalWrite(led1, HIGH);

  // Send a message to the computer
  Serial.println("led2 on");
  // Wait for a second
  delay(1000);
  // Turn off the first LED
  digitalWrite(led1, LOW);

  // Turn on the second LED
  digitalWrite(led2, HIGH);
  // Send a message to the computer
  Serial.println("led3 on");
  // Wait for a second
  delay(1000);
  // Turn off the second LED
  digitalWrite(led2, LOW);

  // Turn on the third LED
  digitalWrite(led3, HIGH);
  // Send a message to the computer
  Serial.println("led4 on");
  // Wait for a second
  delay(1000);
  // Turn off the third LED
  digitalWrite(led3, LOW);

  // Turn on the four LED
  digitalWrite(led4, HIGH);
  // Send a message to the computer
  Serial.println("led5 on");
  // Wait for a second
  delay(1000);
  // Turn off the four LED
  digitalWrite(led4, LOW);

  }

        
    

ผลลัพธ์ led