Arduino Basic

Arduino Basic

มาทำความรู้จักกับ Arduino กันเถอะ!

Arduino คืออะไร

Arduino อ่านว่า (อา-ดู-อิ-โน่ หรือ อาดุยโน่) 
เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Source 
คือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัวบอร์ด Arduino 
ถูกออกแบบมาให้ใช้งานได้ง่ายดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา
ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด 
หรือโปรแกรมต่อได้อีกด้วย 

ความง่ายของบอร์ด Arduino 
ในการต่ออุปกรณ์เสริมต่างๆ คือผู้ใช้งานสามารถต่อวงจรอิเล็กทรอนิคส์
จากภายนอกแล้วเชื่อมต่อเข้ามาที่ขา I/O ของบอร์ด 
หรือเพื่อความสะดวกสามารถเลือกต่อกับบอร์ดเสริม (Arduino Shield) 
ประเภทต่างๆ (ดูตัวอย่างรูปที่ 2) เช่น Arduino XBee Shield, 
Arduino Music Shield, Arduino Relay Shield, 
Arduino Wireless Shield, Arduino GPRS Shield เป็นต้น 
มาเสียบกับบอร์ดบนบอร์ด Arduino แล้วเขียนโปรแกรมพัฒนาต่อได้เลย

ตัวอย่างบอร์ด Arduino

1.USBPort: ใช้สำหรับต่อกับ Computer 
เพื่ออับโหลดโปรแกรมเข้า MCU และจ่ายไฟให้กับบอร์ด

2.Reset Button: เป็นปุ่ม Reset ใช้กดเมื่อต้องการให้ 
MCU เริ่มการทำงานใหม่

3.ICSP Port ของ Atmega16U2 เป็นพอร์ตที่ใช้โปรแกรม 
Visual Com port บน Atmega16U2

4. I/OPort:Digital I/O ตั้งแต่ขา D0 ถึง D13 นอกจากนี้ 
บาง Pin จะทำหน้าที่อื่นๆ เพิ่มเติมด้วย เช่น Pin0,1 เป็นขา Tx,Rx Serial, 
Pin3,5,6,9,10 และ 11 เป็นขา PWM  

5.ICSP Port: Atmega328 เป็นพอร์ตที่ใช้โปรแกรม Bootloader

6. MCU: Atmega328 เป็น MCU ที่ใช้บนบอร์ด Arduino

7. I/OPort: นอกจากจะเป็น Digital I/O แล้ว ยังเปลี่ยนเป็น 
ช่องรับสัญญาณอนาล็อก ตั้งแต่ขา A0-A5

8.Power Port: ไฟเลี้ยงของบอร์ดเมื่อต้องการจ่ายไฟให้กับวงจรภายนอก 
ประกอบด้วยขาไฟเลี้ยง +3.3 V, +5V, GND, Vin

9. Power Jack: รับไฟจาก Adapter โดยที่แรงดันอยู่ระหว่าง 7-12 V 

10. MCU ของ Atmega16U2 เป็น MCU ที่ทำหน้าที่เป็น USB to Serial 
โดย Atmega328 จะติดต่อกับ Computer ผ่าน Atmega16U2

โครงสรางโปรแกรมของArduino

โปรแกรมของ Arduino แบงไดเปนสองสวน คือ
void setup()
void loop()

       โดยฟงกชั่น setup() เมื่อโปรแกรมทำงานจะทำคำสั่งของฟงกชั่นนี้
เพียงครั้งเดียวใชในการกำหนดคาเริ่มต้นของการทํางานสวนฟงกชั่น loop() 
เปนสวนทํางานโปรแกรมจะทําคําสั่งในฟงกชั่นนี้ตอเนื่องกันตลอดเวลา
โดยปกติใชกําหนดโหมดการทํางานของขาตางๆ
กําหนดการสื่อสารแบบอนุกรม ฯลฯ สวนของ loop() เปนโคดโปรแกรมที่ทํางาน 
เชน อานคาอินพุต ประมวลผลสั่งงานเอาตพุต ฯลฯ 
โดยสวนกําหนดคาเริ่มตน 
เชน ตัวแปรจะตองเขียนที่สวนหัวของโปรแกรมกอนถึงตัวฟงกชั่น 
นอกจากนั้นยังตองคํานึงถึงตัวพิมพเล็ก-ใหญของตัวแปรและชื่อฟงกชั่นใหถูกตอง

คำสั่งควบคุมการทำงาน

คำสั่ง if
คำสั่ง if… else
คำสั่ง for
คำสั่ง switch-case
คำสั่ง while

ตัวกระทำทางคณิตศาสตร์

ประกอบดวยตัวกระทํา 5 ตัวคือ 
+ (บวก), - (ลบ), * (คูณ), / (หาร) และ % (หารเอาเศษ)

ตัวกระทำเปรียบเทียบ

     ใชประกอบกับคําสั่ง if() และ while() เพื่อทดสอบเงื่อนไขหรือเปรียบเทียบ

คาตัวแปรตาง โดยจะเขียนเป็นนิพจนอยูภายในเครื่องหมาย ()
• x == y (x เทากับ y)
• x != y (x ไมเทากับ y)
• x < y (x นอยกวา y)
• x > y (x มากกวา y)
• x <= y (x นอยกวาหรือเทากับ y)
• x >= y (x มากกวาหรือเทากับ y)

ตัวกระทำทางตรรกะ

ใชในการเปรียบเทียบของคําสั่ง if() มี 3 ตัวคือ &&, || และ !

ตัวกระทำระดับบิต

ตัวกระทําระดับจะนําบิตของตัวแปรมาประมวลผล 
ใชประโยชนในการแกปญหาดานการเขียนโปรแกรมไดหลากหลาย 
ตัวกระทําระดับของภาษา C (ซึ่งรวมถึง Arduino) มี 6 ตัวไดแก 
& (bitwise AND), | (OR), ^ (Exclusive OR), ~ (NOT), 
<< (เลื่อนบิตไปทางขวา) และ >> (เลื่อนบิตไปทางซาย)

ไวยากรณ์ภาษา C/C++ ของ Arduino

ปิดบรรทัดด้วย ; (เซมิโคลอน - semicolon)
ชุดคำสั่งจะอยู่ใน { } (วงเล็บปกกา - curly brace)
หมายเหตุด้วย // และ /*...* 
(// หมายเหตุ บรรทัดเดียว และ /*…*/ หลายบรรทัด)
กำหนดค่าคงที่ให้โปรแกรมด้วย #define
รวมไฟล อื่นๆ เขากับไฟลโปรแกรมหลักด้วย #include

ชนิดและประเภทของตัวแปร

char ใชเก็บขอมูลที่เปนตัวอักษร (character) ใชเก็บขอมูลที่เปนเลขจํานวนเต็มได 256 คา int ใชเก็บขอมูลที่เปนเลขจํานวนเต็ม (integer) ใชเก็บขอมูลที่เปนเลขจํานวนเต็มได 65536 คา float ใชเก็บขอมูลที่เปนเลขทศนิยมแบบ Single Precision double ใชเก็บขอมูลที่เปนเลขทศนิยมแบบ Double Precision สามารถเก็บคาตัวเลขทศนิยมที่มีความละเอียดและถูกตองของ ทศนิยมมากวาแบบ float ถึง 2 เทา void ใชเก็บตัวแปรที่ไมมีคา

อ้างอิงจาก

www.thaieasyelec.com

0 ความคิดเห็น:

แสดงความคิดเห็น