เริ่มต้น Arduino : LED Arduino

เราเริ่มต้น Arduino ที่สั่งให้ LED กระพริบตามที่เราต้องการ หรือเรียกว่า “Hello World Arduino” ตามธรรมเนียมการเขียนโปรแกรม

OLYMPUS DIGITAL CAMERA

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

สัญลักษณ์ในวงจรเขียนแบบนี้

IR-led-symbol

การสั่งงานให้ไฟ LED เปิดหรือปิดจาก Arduino ก็ทำได้ง่ายมากเช่นกัน เรามาดูกันว่าการทำไฟกระพริบด้วย Arduino จะง่ายแค่ไหน

 

การเริ่มต้นใช้งาน Arduino ที่เราจะเรียนรู้ในแลปนี้คือ

1. โครงสร้างของโปรแกรม Arduino ทุก ๆ โปรแกรมเหมือนกัน ประกอบด้วย 2 ฟังก์ชันหลักคือ

ฟังก์ชัน setup() ทำงานเพียง 1 ครั้งเมื่อเริ่มจ่ายไฟให้ เริ่มต้น Arduino เราจะใช้ตรงนี้เพื่อกำหนดค่าเริ่มต้นให้ Arduino ตามที่เราต้องการ

ฟังก์ชัน loop()  ทำงานหลังจากฟังก์ชัน setup และทำงานในนี้เรื่อย ๆ ตลอด จนกว่าจะปิดไฟ เราจะใช้ตรงนี้เพื่อสั่งให้ Arduino ทำงานไปเรื่อย ๆ ตามที่เราต้องการ

2. คำสั่งที่มีมาให้เราสั่งงาน Arduino ในแลปนี้คือ คำสั่งควบคุมขา Arduino แบบ ดิจิตอล

ดิจิตอล คือข้อมูลของสถานะ 0 และ 1 มีเพียง 2 ค่านี้เท่านั้น
51c495ebce395f1b5a000000
ซึ่งใน Arduino อาจจะแทนด้วยแรงดันไฟฟ้า เช่น 0V คือสถานะ 0 และ 5V คือสถานะ 1 เราสามารถสั่งให้ Arduino กำหนดควบคุมสัญญาณ Digital หรือสถานะ 0 หรือ 1

โหมดของขา Arduino ที่เป็นดิจิตอล จะมี 2 โหมด คือ

001

โหมด INPUT ทำหน้าที่รับสัญญาณ 0 หรือ 1 จากผู้ใช้หรืออุปกรณ์เซนเซอร์ เพื่อนำมาประมวลผลในโปรแกรมที่เราเขียน

โหมด OUTPUT  ทำให้ที่แสดลผลสัญญาณ 0 หรือ 1 ไปยังอุปกรณ์ที่เราควบคุม เช่น ถ้าต้องการสั่งให้ LED มีไฟติด ก็ส่งสัญญาณดิจิตอล 1 หรือ 5V หรือถ้าต้องการให้ LED ดับก็ส่งสัยญาณ 0 หรือ 0V ออกไป

 

จะเห็นว่าขาของ Arduino สามารถเป็นได้ 2 โหมด แต่จะเป็น 2 โหมดพร้อมกันไม่ได้ เราจะต้องเลือก กำหนดว่าจะให้ขาของ Arduino เป็นโหมด INPUT หรือ OUTPUT

002

โดยใช้ฟังชัน

ฟังก์ชัน pinMode(ขาที่ต้องการควบคุม , โหมด)

เช่น ต้องการควบคุม ขาที่ 13 ของ Arduino ให้เป็นโหมด INPUT  สามารถเขียนโคดได้ pinMode(13,INPUT);

เช่นกัน ต้องการควบคุมขาที่ 13 ของ Arduino ให้เป็นโหมด OUTPUT สามารถเขียนโคดได้ pinMode(13,OUTPUT);

3. คำสั่ง หน่วงเวลาในการทำงาน

ถ้าเราต้องการให้โปรแกรมไฟกระพริบเรา สั่งให้เปิดไฟ 1 วินาที และปิดไฟ 1 วินาที เราต้องมีคำสั่งหน่วงเวลาในการแสดงผล ซึ่งใน Arduino มีคำสั่ง delay() เพื่อใช้หน่วงเวลา ใช้งานได้ง่าย ๆ คือ

delay(มิลลิวินาทีที่ต้องการหน่วง) ใน 1 วินาทีมี 1000 มิลลิวินาที ดังนั้น ถ้าเราต้องการหน่วงเวลา 1 วินาที เราจะเขียนคำสั่งได้ delay(1000); เช่นกัน ถ้าเราจะหน่วงเวลา 0.5 วินาที ก็เขียนคำสั่ง delay(500);

เริ่มต้น Arduino : LED Arduino

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

วงจร Schematic

002

ตัวอย่างการต่อวงจร

001

ตัวอย่างโคดโปรแกรม

*** จะเห็นว่าโคดมีตัวอักษรตัวเล็กกับตัวใหญ่ผสมกัน ซึ่งโปรแกรมจะถือว่าเป็นคนละตัวกัน ดังนั้นเราจำเป็นต้องเช็คตัวเล็ก ตัวใหญ่ให้ถูกต้องด้วย

*** ถ้าสังเกตจะเห็นเครื่องหมาย “;” ปิดท้ายประโยค เครื่องหมายนี้สำคัญมาก เพราะเป็นตัวบอกว่าโปรแกรมเราจบประโยคแล้ว ดังนั้นทุกครั้งที่เขียนโปรแกรมจบคำสั่ง ต้องมี ; ปิดท้ายเสมอ

ทดลอง เริ่มต้น Arduino เพิ่มเติม

ที่บอร์ด Arduino จะมีเลขเขียนระบุขาไว้ มีขา 0-13 และขา A0-A5 ขาเหล่านี้เราสามารถสั่งงานควบคุมเปิด/ปิด สัญญาณดิจิตอลได้ทุกขา ให้ เริ่มต้น Arduino ทดลองเปลี่ยนจากขา 13 เป็นขาอื่น และเปลี่ยนค่าเวลา delay สังเกตผลลัพธ์

เช่น

หรืออีกตัวอย่าง


2 Response Comments

  • mongkhon  28 กรกฎาคม 2018 at 20:55

    มีลักษณะการกระพริบของโหลดไฟLED แบบอื่น หรือป่าวครับ
    เช่น LED 6 หลอด คำสั่งที่1 กระพริบอีกแบบ ครั้งที่ 2 กระพริบอีกแบบ คำสั่งที 3 กระพริบอีกแบบ แต่รวมกันเป็นชุดคำสั่งเดียวในชุดทำงาน พอมีตัวอย่างชุดคำสั่งแบบนี้หรือป่าวครับ

    ตอบกลับ
    • admin  30 กรกฎาคม 2018 at 16:28

      ทำได้ ลองดูเรื่องฟังก์ชั่น ในหัวเรื่องถัดไปครับ

      ตอบกลับ

โพสคอมเมนต์

Please enter your name. Please enter an valid email address. Please enter a message.