บทเรียนนี้ นักเรียนจะได้เรียนรู้การใช้คำสั่ง Digital Write (led1,HIGH); เพื่อควบคุมการเปิดปิดของหลอดไฟ LED โดยจะสั่งงานให้ Arduino UNO ควบคุม LED เปิดปิดไฟแบบวิ่ง เปิดปิดหลอดไฟ และ หน่วงเวลาเป็นจังหวะ
คำสั่ง Digital Write
เป็นคำสั่งที่ใช้กำหนดสัญญาณ HIGH LOW ของขาดิจิตอล Arduino
HIGH คือลอจิก 1 ปล่อยไฟออกแรงดัน 5V
LOW คือลอจิก 0 กำหนดขานั้นให้เป็นสายกราวด์ 0V
digitalWrite(pin,value);
pin คือขา Digital ของ Arduino ที่จะสั่งงาน ให้เป็น HIGH หรือ LOW
value คือค่าที่ต้องการส่งออก ค่า 0 หรือ 1
ตัวอย่างคำสั่ง digitalWrite
ต้องการให้ขา 13 ของ Arduino มีไฟออก 5V
digitalWrite(13,HIGH); หรือ
digitalWrite(13,1);
คำสั่ง pinMode
ขา digital ของ Arduino สามารถเป็นได้ทั้งโหมด input หรือโหมด output ดังนั้นการที่จะสั่งไฟเปิด/ปิดได้จะต้องกำหนดขาให้เป็นโหมด output ก่อน ดังนี้
pinMode(pin,mode);
pin คือขา digital ของ Arduino ที่ต้องการกำหนดโหมด
mode ในที่นี้เราจะกำหนดให้เป็นโหมดเอาต์พุต ค่า OUTPUT
ตัวอย่างคำสั่ง pinMode()
ต้องการให้ขา 13 ของ Arduino เป็นโหมด Output
pinMode(13,OUTPUT);
หมายเหตุ ทุกขาของ Arduino UNO สารถใช้เป็น digital Pin ได้
อุปกรณ์สำหรับทดลอง Arduino สัญญาณ Digital Output ควบคุมไฟวิ่ง

Arduino UNO
สาย USB
บอร์ดทดลอง Breadboard 830 Point
LED ขนาด 5mm สีแดง จำนวน 5 ดวง
Resistor ตัวต้านทาน 330 Ohm 1/4W Metal film 1% จำนวน 5 ชิ้น
สายไฟจัมเปอร์ จำนวน 6 เส้น
วิธีการต่ออุปกรณ์สำหรับทดลอง Arduino สัญญาณ Digital Output ควบคุมไฟวิ่ง
Arduino UNO -> หลอดไฟ LED
ขา2 -> LED1
ขา3 -> LED2
ขา4 -> LED3
ขา5 -> LED4
ขา6 -> LED5




โค้ดสำหรับทดลอง Arduino สัญญาณ Digital Output ควบคุมไฟวิ่ง
int led1 = 2; // กำหนดขาใช้งาน
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
void setup()
{
pinMode(led1, OUTPUT); // กำหนดขาทำหน้าที่ให้ขา 2 เป็น OUTPUT
pinMode(led2, OUTPUT); // กำหนดขาทำหน้าที่ให้ขา 3 เป็น OUTPUT
pinMode(led3, OUTPUT); // กำหนดขาทำหน้าที่ให้ขา 4 เป็น OUTPUT
pinMode(led4, OUTPUT); // กำหนดขาทำหน้าที่ให้ขา 5 เป็น OUTPUT
pinMode(led5, OUTPUT); // กำหนดขาทำหน้าที่ให้ขา 6 เป็น OUTPUT
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
}
void loop()
{
digitalWrite(led1,HIGH); // ไฟ LED 1 ติด 50 ms
delay(50);
digitalWrite(led1,LOW); // ไฟ LED 1 ดับ50 ms
delay(50);
digitalWrite(led2,HIGH);
delay(50);
digitalWrite(led2,LOW);
delay(50);
digitalWrite(led3,HIGH);
delay(50);
digitalWrite(led3,LOW);
delay(50);
digitalWrite(led4,HIGH);
delay(50);
digitalWrite(led4,LOW);
delay(50);
digitalWrite(led5,HIGH);
delay(50);
digitalWrite(led5,LOW);
delay(50);
}
การทำงานของโค้ด
การกำหนดขาใช้งาน LED:
- โค้ดกำหนดหมายเลขขาที่เชื่อมต่อกับ LED 5 ดวง ได้แก่ led1, led2, led3, led4, และ led5
- ใช้ฟังก์ชัน pinMode() ในฟังก์ชัน setup() เพื่อกำหนดขาแต่ละขาเป็นโหมด OUTPUT (สำหรับควบคุมไฟ LED)
การตั้งค่าเริ่มต้น:
- ตั้งค่าสถานะของ LED ทุกดวงให้ LOW (ปิดไฟ) โดยใช้ฟังก์ชัน digitalWrite()
การกระพริบไฟในฟังก์ชัน loop():
- ฟังก์ชัน loop() จะทำงานวนซ้ำไปเรื่อย ๆ โดยเปิดไฟ LED ทีละดวงด้วยสถานะ HIGH (เปิดไฟ)
- ใช้ฟังก์ชัน delay(50) เพื่อหน่วงเวลา 50 มิลลิวินาที
- หลังจากนั้นจะปิดไฟ LED ด้วยสถานะ LOW พร้อมการหน่วงเวลาอีก 50 มิลลิวินาที
- ทำซ้ำลำดับการเปิด-ปิดไฟ LED ตามลำดับจาก led1 ไปถึง led5
ข้อควรรู้
ขา TX และ RX ในบอร์ด Arduino เป็นขาสำหรับการสื่อสารแบบอนุกรม (Serial Communication) ซึ่งมีบทบาทสำคัญในการรับ-ส่งข้อมูลระหว่างอุปกรณ์ต่างๆ โดยรายละเอียดและการใช้งานมีดังนี้:
ความหมายของขา TX และ RX
- TX (Transmit): เป็นขาที่ใช้ในการส่งข้อมูลออกจาก Arduino ไปยังอุปกรณ์ภายนอก เช่น คอมพิวเตอร์ เซ็นเซอร์ หรือโมดูลต่างๆ
- RX (Receive): เป็นขาที่ใช้รับข้อมูลเข้าสู่ Arduino จากอุปกรณ์ภายนอก
การใช้งาน
Serial Communication:
- ใช้ร่วมกับคำสั่ง Serial.begin(baudRate) เพื่อกำหนดความเร็วในการสื่อสาร เช่น 9600 bits per second
- ใช้คำสั่ง Serial.print() หรือ Serial.write() เพื่อส่งข้อมูลผ่านขา TX
- ใช้คำสั่ง Serial.read() หรือ Serial.available() เพื่อรับข้อมูลผ่านขา RX
การเชื่อมต่อ:
- ขา TX ของ Arduino ต้องเชื่อมต่อกับขา RX ของอุปกรณ์ภายนอก และขา RX ของ Arduino ต้องเชื่อมกับขา TX ของอุปกรณ์ภายนอกเพื่อการสื่อสารที่ถูกต้อง
- การเชื่อมต่อทั่วไปอาจใช้ USB หรือสายต่ออนุกรม (Serial Cable) ในการเชื่อม Arduino กับคอมพิวเตอร์

