เราจะเริ่มต้น สอน Arduino เริ่มต้น Arduino ที่การสั่งให้ LED แสดงผลแบบ Analog
ก่อนอื่นเรามารู้จักสัญญาณ Analog กันซักนิดก่อน
สัญญาณดิจิตอลจะมีเพียงแค่ 2 ค่า คือ 0 และ 1 ดังนั้นการสั่งงานขา Arduino ที่เป็นแบบ digital ทำได้เพียง 2 ค่า คือเปิดกับปิด ค่า 0 หรือ 1 คือแรงดันไฟฟ้า 0 หรือ 5 โวลต์
ในขณะที่สัญญาณ Analog มีได้หลายค่ามีลักษณะต่อเนื่องเช่นค่า 0-1 อาจเป็นค่า 0.1 , 0.2 ,..1 การสั่งงานขา Arduino สามารถส่งค่าได้ระหว่าง 0-255 ค่า ซึ่งแปลงเป็นแรงดันไฟฟ้าช่วง 0-5 โวลต์
หลอดไฟ LED ทำงานที่ไฟเลี้ยงได้ในช่วงกว้างโดยมีตัวต้านทานจำกัดกระแสให้เหมาะสม จากแลปที่แล้ว เราได้สั่งเปิดปิดหลอดไฟ LED แบบ digital ซึ่งก็คือส่งสัญญาณแรงดันไฟฟ้า 0 หรือ 5 โวลต์
ทำให้เราเห็นหลอดไฟ LED เปิด หรือ ปิด ถ้าเราสามารถจ่ายไฟที่ 2.5 โวลต์ เราก็จะเห็น LED สว่างน้อยกว่า ที่จ่ายไฟ 5 โวลต์ เราสามารถควบคุมความสว่างของ LED ได้ตั้งแต่ดับ สว่างตามที่เราต้องการ จนถึงสว่างที่สุด โดยการส่งไฟระหว่าง 0-5 โวลต์ไปให้ ซึ่งด้วยสามารถของการควบคุมแบบ Analog เราจะสามารถส่งค่าได้ 0-255 ซึ่งก็คือช่วงไฟ 0-5 โวลต์ได้
อัพโหลดโคดนี้ แล้วสังเกตผลลัพธ์
1 2 3 4 5 6 7 8 9 10 11 |
void setup(){ pinMode(3,OUTPUT); } void loop(){ analoglWrite(3,10); delay(500); analoglWrite(3,128); delay(500); analoglWrite(3,255); delay(500); } |
อีกตัวอย่างทดลอง
1 2 3 4 5 6 7 8 9 10 11 |
void setup(){ pinMode(A5,OUTPUT); } void loop(){ analoglWrite(A5,10); delay(100); analoglWrite(A5,128); delay(1000); analoglWrite(A5,255); delay(1000); } |
เราใช้คำสั่ง analogWrite(ขาควบคุม , ค่าที่ส่งระหว่าง 0-255);
ในการสั่งให้ Arduino ส่งสัญญาณแรงดันไฟฟ้า 0-5 โวลต์ออกไปให้อุปกรณ์ของเรา
เช่นถ้าเราต้องการส่งไฟ 2.5 โวลต์ ก็ให้ส่งค่า 255/2 หรือประมาณ 128
ดังนั้นคำสั่ง analogWrite(A5,128); จึงส่งแรงดันไฟฟ้าออกไป 2.5 โวลต์
แต่ไม่ใช่ทุกขาของ Arduino สามารถสั่งงานคำสั่ง Analog นี้ได้ เฉพาะขาตัวเลขที่มีสัญลักษณ์ตัวหนอน บนบอร์ด Arduino คือขา 3,5,6,9,10,11 เท่านั้น
สำหรับขา A0-A5 สามารถใช้คำสั่ง Analog ได้ทุกขา
บทเรียนก่อนหน้าบทเรียนถัดไป
ยังไม่มีคอมเมนต์
คุณสามารถเป็นคนแรกที่คอมเมนต์