นางสาวเบญจมาศ สมปาน เลขที่ 16 สบท.63.2 (งานมอบหมาย 2 Arduino Board) วันที่ 10 มิถุนายน 2564
( งานมอบหมาย 2 Arduino Board )
1. ให้ศึกษาจากเอกสารการสอนเรื่อง Arduino Board
Ans
บทความ สอนใช้งาน Arduino เริ่มต้นติดตั้งโปรแกรม Arduino IDE
บทความ สอนใช้งาน Arduino ติดตั้งโปรแกรม Arduino IDE
บทความ สอนใช้งาน Arduino ติดตั้งโปรแกรม Arduino IDE

สื่อเรียนรู้นี้ เราเลือกใช้โปรแกรม Sketch ของ Arduino (Arduino IDE)ในการเขียนโปรแกรมควบคุมการทำงานของบอร์ด Arduino Boardเพราะเป็นโปรแกรมที่ใช้งานง่าย เขียนด้วยภาษา C และความที่เป็น Open Sourceทำให้ใช้งานได้โดยไม่มีค่าใช้จ่าย ได้รับความนิยมสูงจึงทำให้มีแหล่งข้อมูลให้ศึกษาค้นคว้าเพิ่มเติมในเว็บบอร์ดหรือเว็บไซต์ใอินเทอร์เน็ตอีกมากมายและในส่วนของบอร์ด Arduino Board เองนั้น เป็นบอร์ดไมโครคอนโทรลเลอร์ที่มีขาพอร์ตอินพุตและเอาต์พุตที่มากพอในการนำไปใช้งานจริงสามารถต่อกับเซนเซอร์ได้ทั้งแบบดิจิตอลและแอนะล็อก และยังต่อเพื่อขับอุปกรณ์เอาต์พุตให้ทำงานโดยที่เราจะต้องเขียนโปรแกรมเพื่อสั่งงานให้บอร์ด Arduino Board สามารถควบคุมอุปกรณ์ต่างๆเช่น ควบคุมการเปิดปิดหลอดไฟ ปลั๊กไฟฟ้า หรือเครื่องรดน้ำต้นไม้ เป็นต้นนอกจากนี้เพื่อให้เกิดการประยุกต์ใช้งานแบบ IoT เราสามารถควบคุมบอร์ดผ่านทาง อินเทอร์เน็ตได้โดยต่อบอร์ดเสริม Arduino Ethernet Shield เข้ากับบอร์ดหลัก

เนื่องจากบอร์ด Arduino Board มีราคาไม่สูงมาก จึงเป็นการช่วยประหยัดต้นทุนวัสดุ
อุปกรณ์ หากผู้ศึกษาต้องการนำบอร์ดไปพัฒนาต่อให้เป็นอุปกรณ์หรือแอพพลิเคชั่น IoT
ในเบื้องต้นนี้ เราจะเริ่มจากการติดตั้ง Arduino IDE และทดสอบการทำงานพื้นฐานของ Arduino Board ว่าสามารถทำงานเข้ากับคอมพิวเตอร์ของเราได้อย่างไร
ขั้นตอนการปฏิบัติ
1.ดาวน์โหลด ArduinoIDE จาก
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
2.เลือกระบบปฏิบัติการของเครื่องคอมพิวเตอร์ที่ท่านจะใช้ใน
การเขียนโปรแกรม Arduino
3.กด JUST DOWNLOAD (หากต้องการร่วมบริจาคช่วยการพัฒนา
Arduino Software สามารถกด CONTRIBUTE & DOWNLOAD)

4.ดับเบิ้ลคลิกที่ไฟล์ arduino.exe เพื่อเปิดโปรแกรม Arduino IDE

5.ในหน้าต่างโปรแกรม Arduino ให้คลิกไปที่เมนูTools -> Board -> Arduino/Genuino
Unoเพื่อเลือกชนิดบอร์ดทีต้องการอัพโหลดโค๊ดลงไป

6.เสียบบอร์ด Arduino UNO R3 เข้ากับคอมพิวเตอร์ จากนั้นให้คลิ๊กขาวที่ Computer เลือกProperties ไปที่ Device Manager เพื่อดูว่าบอร์ด Arduino UNO R3 นั้นต่ออยู่กับ COM Portหมายเลขใด

7.ใน Device Manager คลิกที่ Ports เพื่อดูหมายเลข COM Port ที่ Arduino UNO R3
เชื่อมต่อ ดังภาพ

8.เปิด Arduino IDE ขึ้นมาอีกครั้ง ไปที่เมนู Tools และทำการตั้งค่าบอร์ดและหมายเลขพอร์ตให้ตรงกับที่จะเชื่อมต่อ ซึ่งในตัวอย่างคือ COM13 ดังนี้

8.1 เลือก COM Port ในตรงกับตัวที่จะเชื่อมต่อ ในที่นี้คือ COM13
8.2 เลือก รุ่น บอร์ด Arduino ที่ต้องการเชื่อมต่อ ในที่นี้คือ Arduino/Genuino Uno

9.ในขั้นตอนนี้ เราจะทดลองเขียนโปรแกรมให้หลอดไฟ LED บนบอร์ดกระพริบเพื่อทดสอบการทำงานของบอร์ดเบื้องต้นดังนี้ โดยท่านสามารถคัดลอกโค้ดทั้งหมดข้างล่างไปวางทับลงในหน้าโปรแกรม
1 /*
2 Blink
3 Turns on an LED on for one second, then off for one second, repeatedly.
4
5 Most Arduinos have an on-board LED you can control. On the Uno and
6 Leonardo, it is attached to digital pin 13. If you're unsure what
7 pin the on-board LED is connected to on your Arduino model, check
8 the documentation at http://www.arduino.cc
9
10 This example code is in the public domain.
11
12 modified 8 May 2014
13 by Scott Fitzgerald
14 */
15
16
17 // the setup function runs once when you press reset or power the board
18 void setup() {
19 // initialize digital pin 13 as an output.
20 pinMode(13, OUTPUT);
21 }
22
23 // the loop function runs over and over again forever
24 void loop() {
25 digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
26 delay(1000); // wait for a second
27 digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
28 delay(1000); // wait for a second
29 }
10.กดคอมไพล์ (Compile) โดยคลิกที่ปุ่ม
เพื่อตรวจสอบว่าโค้ดที่เขียนไม่มีข้อผิดพลาด
11.หากไม่มีข้อผิดพลาด จะปรากฎข้อความว่า “Done compiling” ดังภาพ

12.จากนั้นให้ทำการคลิกที่ปุ่ม
เพื่อทำการอัพโหลดโค้ดเข้าสู่บอร์ด Arduino UNO R3
13.หากไม่มีข้อผิดพลาด จะขึ้นคำว่า “Done uploading” ดังภาพ และไฟบนบอร์ดจะกระพริบทุกๆ 1000 ms

2. ให้ค้นคว้าหา คุณลักษณะเฉพาะครุภัณฑ์ (specification) ของ Arduino Board (หน้า 12-13 ของ เอกสาร) มาอย่างน้อย 5 ตัวอย่าง (ดังตัวอย่างหน้า 11)
Ans
ตัวอย่างที่ 1สอนใช้งาน Arduino สื่อสารส่งข้อมูลกันแบบ I2C Arduino 3 บอร์ด

สอนใช้งาน Arduino สื่อสารส่งข้อมูลกันแบบ I2C Arduino 3 บอร์ดบทความนี้จะสอนใช้งาน Arduino ส่งข้อมูลหากันแบบ I2c โดยใช้สายส่งข้อมูล 2 เส้น การส่งข้อมูลแบบ I2c เป็นการส่งข้อมูลแบบขนาน อุปกรณ์หลายๆตัวจะต่อขนานกัน จะอ้างอิง address ตำแหน่งของอุปกรณ์ก่อนส่งข้อมูล ในบทความนี้ จะสั่งงานให้ Arduino ตัวที่1 ส่งค่าสั่งงานไปให้ Arduino ตัวที่ 2 และ 3 เปิดปิดไฟ LED Arduino UNO R3 ขา I2c จะอยู่ที่ A4 A5
Arduino UNO R3 แถมฟรี สายUSB
สายไฟจัมเปอร์ ผู้-ผู้ ยาว 20cm. จำนวน 40 เส้น
บอร์ดทดลอง Breadboard 830 Point
วิธีการต่ออุปกรณ์ สอนใช้งาน Arduino สื่อสารส่งข้อมูลกันแบบ I2C Arduino 3 บอร์ด
Arduino uno r3 ตัวที่ 2-> Arduino uno r3 ตัวที่ 1
gnd -> GND
Vcc -> 5V
A5 -> A5
A4 -> A4Arduino uno r3 ตัวที่ 3-> Arduino uno r3 ตัวที่ 1
gnd -> GND
Vcc -> 5V
A5 -> A5
A4 -> A4
สอนใช้งาน Arduino ควบคุมเปิดปิดไฟบ้าน ด้วย Relay Module 220VAC
Arduino uno r3 ตัวที่ 2-> Arduino uno r3 ตัวที่ 1
gnd -> GND
Vcc -> 5V
A5 -> A5
A4 -> A4Arduino uno r3 ตัวที่ 3-> Arduino uno r3 ตัวที่ 1
gnd -> GND
Vcc -> 5V
A5 -> A5
A4 -> A4
ตัวอย่างที่ 2
สอนใช้งาน Arduino ควบคุมเปิดปิดไฟบ้าน ด้วย Relay Module 220VAC
บทความนี้จะสอนใช้งาน Relay Module ควบคุม เปิดปิดไฟบ้าน ควบคุมเปิดปิดอุปกรณ์ไฟฟ้าภายในบ้าน รีเลย์ จะทำหน้าที่เหมือนสวิตช์ทางไฟฟ้า ควบคุมการสับสะพานไฟด้วยสัญญาณ Digital 1 0 ปกติการเปิดปิดไฟบ้านเราจะใช้นิ้วในการกดสวิตช์ แต่ถ้าเราใช้รีเลย์แทนสวิตช์ เราสามารถนำสัญญาณดิจิตอลมาควบคุมการ เปิดปิดได้ สามารถนำมาประยุกต์ทำ Smart Home ควบคุมเปิดปิดอุปกรณ์ไฟฟ้าต่างๆภายในบ้านได้ รีเลย์ทำหน้าที่เหมือนสะพานไฟ ไม่จำเป็นต้องใช้กับไฟ 220VAC สามารถใช้กับไฟ DC ได้ เช่น 12VDC รีเลย์ควบคุมการไฟ 12VDC ให้โซลินอยด์ได้
อุปกรณ์ที่ต้องใช้ใน บทความ สอนใช้งาน Arduino ควบคุมเปิดปิดไฟบ้าน ด้วย Relay Module 220VAC
Arduino UNO R3 แถมฟรี สายUSBสายไฟจัมเปอร์ ผู้-เมีย ยาว 20cm. จำนวน 40 เส้น
สายไฟพร้อมหัวปลั๊ก ขนาด2*0.75 ยาว1.5m
สายไฟพร้อมหัวปลั๊ก ขนาด2*0.75 ยาว3m
สายไฟพร้อมหัวปลั๊ก ขนาด2*0.75 ยาว2m
ขั้วหลอดไฟ ฐานหลอดไฟ E27 11.5cm สูง5cm
ขั้วหลอดไฟ ฐานหลอดไฟ E27 7.5cm สูง5cm
ขั้วหลอดไฟ ฐานหลอดไฟ E27 8*8*4cm
ขั้วหลอดไฟ ฐานหลอดไฟ E27 9*9*5.5cm
ขั้วหลอดไฟ ฐานหลอดไฟ E27 กว้าง6.5cm สูง4cm
หลอดไฟ LED E27 ประหยัดพลังงาน 7W
Relay Module 5V 1 Channel isolation control Relay Module Shield 250V/10A
วิธีการต่ออุปกรณ์ สอนใช้งาน Arduino ควบคุมเปิดปิดไฟบ้าน ด้วย Relay Module 220VAC
Relay Module -> Arduino uno r3
gnd -> GND
Vcc -> 5
In-> ขา2

ตัวอย่างที่ 3
การใช้งานจอ Character LCD กับ Arduino แบบละเอียด คำว่า LCD ย่อมาจากคำว่า Liquid Crystal Display ซึ่งเป็นจอที่ทำมาจากผลึกคริสตอลเหลว หลักการคือด้านหลังจอจะมีไฟส่องสว่าง หรือที่เรียกว่า Backlight อยู่ เมื่อมีการปล่อยกระแสไฟฟ้าเข้าไปกระตุ้นที่ผลึก ก็จะทำให้ผลึกโปร่งแสง ทำให้แสงที่มาจากไฟ Backlight แสดงขึ้นมาบนหน้าจอ ส่วนอื่นที่โดนผลึกปิดกั้นไว้ จะมีสีที่แตกต่างกันตามสีของผลึกคริสตอล เช่น สีเขียว หรือ สีฟ้า ทำให้เมื่อมองไปที่จอก็จะพบกับตัวหนังสือสีขาว แล้วพบกับพื้นหลังสีต่างๆกัน
![]() |
จอ LCD จะแบ่งเป็น 2 แบบใหญ่ๆตามลักษณะการแสดงผลดังนี้ |
1. Character LCD เป็นจอที่แสดงผลเป็นตัวอักษรตามช่องแบบตายตัว เช่น จอ LCD ขนาด 16x2 หมายถึงใน 1 แถว มีตัวอักษรใส่ได้ 16 ตัว และมีทั้งหมด 2 บรรทัดให้ใช้งาน ส่วน 20x4 จะหมายถึงใน 1 แถว มีตัวอักษรใส่ได้ 20 ตัว และมีทั้งหมด 2 บรรทัด
2. Graphic LCD เป็นจอที่สามารถกำหนดได้ว่าจะให้แต่ละจุดบนหน้าจอกั้นแสง หรือปล่อยแสงออกไป ทำให้จอนี้สามารถสร้างรูปขึ้นมาบนหน้าจอได้ การระบุขนาดจะระบุในลักษณะของจำนวนจุด (Pixels) ในแต่ละแนว เช่น 128x64 หมายถึงจอที่มีจำนวนจุดตามแนวนอน 128 จุด และมีจุดตามแนวตั้ง 64 จุด
ในบทความนี้จะกล่าวถึง Character LCD เพียงอย่างเดียว เนื่องจากใช้งานได้ง่าย และนิยมใช้งานในโปรเจคทั่วๆไปมากกว่าครับการเชื่อมต่อกับจอ Character LCD
การเชื่อมต่อจะมีด้วยกัน 2 แบบ คือ
การเชื่อมต่อแบบขนาน - เป็นการเชื่อมต่อจอ LCD เข้ากับบอร์ด Arduino โดยตรง โดยจะแบ่งเป็นการเชื่อมต่อแบบ 4 บิต และการเชื่อมต่อแบบ 8 บิต ใน Arduino จะนิยมเชื่อมต่อแบบ 4 บิต เนื่องจากใช้สายในการเชื่อมต่อน้อยกว่า
การเชื่อมต่อแบบอนุกรม - เป็นการเชื่อต่อกับจอ LCD ผ่านโมดูลแปลงรูปแบบการเชื่อมต่อกับจอ LCD จากแบบขนาน มาเป็นการเชื่อมต่อแบบอื่นที่ใช้สายน้อยกว่า เช่น การใช้โมดูล I2C Serial Interface จะเป็นการนำโมดูลเชื่อมเข้ากับตัวจอ LCD แล้วใช้บอร์ด Arduino เชื่อมต่อกับบอร์ดโมดูลผ่านโปรโตคอล I2C ทำให้ใช่สายเพียง 4 เส้น ก็ทำให้หน้าจอแสดงผลข้อความต่างๆออกมาได้ การใช้งาน Character LCD กับ Arduino การเชื่อมต่อแบบขนาน
การเชื่อมต่อแบบขนานแบบ 4 บิต สามารถต่อได้ตามวงจรด้านล่างนี้
เมื่อต่อวงจรเรียบร้อยแล้ว ต่อสาย USB เข้ากับบอร์ด Arduino จะเห็นกล่องสีเหลี่ยมทั้งหมด 16 ตัว (หากเป็นจอ 16x2) ในบรรทัดแรก หากไม่พบกล่อง ให้ปรับความชัดได้จาก VR ที่ต่ออยู่กับขา V0
ตัวอย่างที่ 4
สอนใช้งาน NodeMCU ESP8266 เชื่อมต่อ ส่งข้อมูลกับ Arduino แบบ I2C

NodeMCU ESP8266 มีขา Analog เพียงแค่ 1 ขา ถ้าต้องการรับค่าแบบ Analog มากกว่า 1 ช่องทำได้หลายวิธี เช่นต่อ IC ขยายขา Analog หรือถ้าใครมีบอร์ด Arduino อยู่แล้ว เราสามารถใช้ NodeMCU ต่อทำงานร่วมกับ Arduino ได้ โดยใช้ Arduino เป็นตัวอ่านค่า หรือทำงานตามที่บอร์ด NodeMCU ESP8266 สั่งงาน
ในตัวอย่างนี้เราจะใช้การสื่อสารแบบ I2C เพื่อคุยกันระหว่าง NodeMCU กับ Arduino Uno โดย NodeMCU จะเป็นตัวสั่งบอร์ด Arduino Uno ให้เปิด/ปิดไฟ
ขาแบบ I2C ของ Arduino Uno คือขา A4 - SDA ,A5-SCL
ขาแบบ I2C ของ NodeMCU ESP8266 ปกติอยู่ที่ขา D2-SDA , D1-SCL
อุปกรณ์ที่ต้องใช้ใน บทความ สอนใช้งาน NodeMCU ESP8266 เชื่อมต่อ ส่งข้อมูลกับ Arduino แบบ I2C
บอร์ดทดลอง NodeMCU V2 NodeMCU V2 ESP8266 Development Kit ESP-12F/N
บอร์ดทดลอง Breadboard 400 Point
สายไฟจัมเปอร์ ผู้-ผู้ ยาว 20cm. จำนวน 40 เส้นวิธีการต่ออุปกรณ์ สอนใช้งาน NodeMCU ESP8266 เชื่อมต่อ ส่งข้อมูลกับ Arduino แบบ I2C
NodeMCU ESP8266 -> Arduino UNO R3
GND -> GND
Vcc -> 5V
ขาD2 -> ขาA4
ขาD1 -> ขาA5
ตัวอย่างที่ 5
สร้างนาฬิกาดิจิตอลด้วยบอร์ด Arduino

เป็นการประยุกต์ใช้โมดูลนับเวลา RTC และโมดูล Clock Display มาใช้ร่วมกัน ควบคุมด้วยบอร์ด Arduino หลักการทำงานเพียงแค่ใช้บอร์ด Arduino ในการเซ็ตค่าเวลาลงไปในโมดูล RTC จากนั้นโมดูล RTC จะนับเวลาไปเรื่อยๆ แล้วจึงให้ Arduino ดึงค่าเวลาออกมาจากโมดูล RTC แล้วนำไปแสดงผลที่โมดูล Clock Display
การตั้งเวลาจะทำผ่าน Serial Monitor เนื่องจากเป็นโค้ดง่ายๆ สำหรับเรียนรู้การใช้โมดูล RTC กับโมดูล Clock Display และเรียนรู้การอ่านข้อมูลที่ส่งผ่าน Serial
วงจร

ดูที่ต่อในวงจรอาจจะ งงๆ เพราะมันไม่เหมือนของจริงมากนัก แต่คล้ายๆ เอาเป็นว่าต่อตามนี้ได้เลย
- ต่อขา VCC ของ RTC เข้ากับ 5V ของ Arduino
- ต่อขา GND ของ RTC เข้ากับ GND ของ Arduino
- ต่อขา SCL ของ RTC เข้ากับ SCL หรือขา A5 ของ Arduino
- ต่อขา SDA ของ RTC เข้ากับ SDA หรือขา A4 ของ Arduino
- ต่อขา VCC ของโมดูล Clock Display เข้ากับ 5V ของ Arduino
- ต่อขา GND ของโมดูล Clock Display เข้ากับ GND ของ Arduino
- ต่อขา CLK ของโมดูล Clock Display เข้ากับ D2 ของ Arduino
- ต่อขา DIO ของโมดูล Clock Display เข้ากับ D3 ของ Arduino

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