วันอังคารที่ 30 มิถุนายน พ.ศ. 2558

ตอนที่4 ขอแนะนำ Arduino Uno R3

ผมจะใช้ Arduino Uno R3 ในการพาท่านไปเรียนรู้เรื่องราวของ Arduino นะครับ เรามาดูภาพของ Arduino Uno R3 กันก่อนครับ

ภาพ Arduino Uno R3

ก่อนอื่นเรามาดูข้อมูลเบื้องต้นของ Arduino Uno R3 กันครับ ซึ่งเป็นข้อมูลจาก http://arduino.cc/

Summary
Microcontroller                                                     ATmega328
Operating Voltage                                                5V
Input Voltage (recommended)                             7-12V
Input Voltage (limits)                                           6-20V
Digital I/O Pins                                                     14 (of which 6 provide PWM output)
Analog Input Pins                                                  6
DC Current per I/O Pin                                         40 mA
DC Current for 3.3V Pin                                       50 mA
Flash Memory                                                       32 KB (ATmega328) of which 0.5 KB used by bootloader
SRAM                                                                    2 KB (ATmega328)
EEPROM                                                               1 KB (ATmega328)

Clock Speed                                                           16 MHz

ข้อมูลเบื้องต้นบนบอร์ด Arduino Uno R3
1. Arduino ใช้ Microcontroller ATmega328
2. ขา Digital Input/Output ตั้งแต่ขาที่ 0-13
3. ขา Digital ที่เป็นแบบ PWM จะมีสัญญาลักษณ์ ~ อยู่ข้างหน้าตัวเลข ก็จะมีขา ~3, ~5, ~6, ~9, ~10, ~11 เจ้า PWM นี้จะมีความพิเศษอยู่นิดนึง ค่อยไปว่ากันในบทหลังๆ
4. ขา Analog มี A0-A5 ใช้สำหรับอ่านค่าพวกอุปกรณ์ที่เป็น Analog อย่างเช่น ตัว Variable Resistor(VR), LDR
5. Output ไฟ 3.3V สามารถนำไฟ 3.3V ไปจ่ายให้กับอุปกรณ์อื่นๆ ที่ใช้ไฟ 3.3V ได้ มีขนาดของกระแส 50 mA
6. Output ไฟ 5.0V สามารถนำไฟ 5.0V ไปจ่ายให้กับอุปกรณ์อื่นๆ ที่ใช้ไฟ 5.0V ได้ มีขนาดของกระแส 40 mA
7. GND คือ กราวด์ มีสองฝั่งนะครับ ใช้งานได้เหมือนกัน
8. Port นี้เอาไว้สำหรับเชื่อมต่อสาย USB ระหว่าง Computer กับ Arduino เพื่อใช้เขียนโปรแกรมให้กับ Arduino
9. Port DC เอาไว้สำหรับจ่ายไฟ DC แรงดัน 7-12V อันนี้คือเอาใช้สำหรับเมื่อเราได้ทำการเขียนโปรแกรมให้กับ Arduino เรียบร้อยแล้วนะครับ พร้อมที่จะนำไปใช้งานจริงแล้ว (ระหว่างที่เรากำลังทดสอบ Arduino อยู่ ทำการเขียนโปรแกรมอยู่ โดยเชื่อมต่อ Arduino กับ Computer อยู่ ไม่ต้องต่อไฟในข้อที่ 9 นี้ให้กับ Arduino นะครับ)

เอาคร่าวๆ แค่นี้ก่อน ครับ

วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2558

ตอนที่3 จะศึกษา Arduino เราต้องมีอะไรบ้าง

อันดับแรกท่านจะต้องมีคอมพิวเตอร์หนึ่งเครื่อง เพื่อใช้สำหรับการเขียนโปรแกรม สั่งให้ Arduino ทำงานตามที่เราต้องการ บางท่านอาจจะยังไม่มีคอมพิวเตอร์เป็นของตัวเองไม่เป็นไรครับ เก็บตังค์ค่าขนมไว้ หรือหารายได้พิเศษก็ได้ครับ เครื่องของผมเองปัจจุบันนี้ก็ใช้เครื่องมือสองเอานะครับ ราคาไม่แพงตอนนั้นผมก็ไปซื้อที่เซียร์รังสิตมา ราคา 4,300 บาท
อันดับที่สอง จะศึกษา Arduino ท่านก็จะต้องมี Arduino Board หนึ่งตัวครับ ในข้อนี้ผมขอแนะนำให้ท่านซื้อเป็นพวกชุด Kids นะครับ ในชุด Kids ก็จะประกอบด้วย Arduino Board มีตั้งแต่ Arduino Nano, Arduino Pro Mini, Arduino Uno R3, ฯลฯ มีหลายเวอร์ชั่น แต่ถ้าจะเริ่มต้นศึกษาไปพร้อมกันกับผม ผมขอแนะนำเป็น Arduino Uno R3 ครับ และอุปกรณ์เบื้องต้นในชุด Kids เช่น
- พวก Sensor ต่างๆ
- หลอดไฟ LED
- ตัวต้านทานคงที่, ตัวต้านทานที่ปรับค่าได้
- สายไฟ
- บอร์ดทดลอง
- ฯลฯ
ซึ่งอุปกรณ์ที่มีมาให้ในชุด Kids นี้ก็เพียงพอแล้วที่จะเริ่มต้นศึกษา Arduino กัน สำหรับคนที่จะศึกษาไปพร้อมกับผม ผมก็จะจัดเตรียมชุด Kids ในแบบของผมเองให้ท่านเอง จะสั่งซื้อจากผมก็ได้หรือจะไปหาซื้อเองก็ได้ครับแล้วแต่สะดวก เพราะผมจะบอกรายการอุปกรณ์ทุกชิ้นให้ท่านทราบ
อันดับที่สาม ท่านจะต้องติดตั้งโปรแกรม Arduino ไว้สำหรับเขียนโปรแกรมสั่งงาน Arduino ครับ ให้ท่านดาวน์โหลดโปรแกรมที่ Link: http://arduino.cc/en/Main/Software ซึ่งเวอร์ชั่นล่าสุดขณะที่ผมเขียนบทความนี้อยู่ เป็นเวอร์ชั่นนี้ครับ arduino-1.6.0-windows.exe
เลือกโหลดโปรแกรมให้ตรงกับเครื่องคอมพิวเตอร์ของท่านนะครับ อย่างาเข่นถ้าท่านใช้เครื่องคอมพิวเตอร์ที่เป็น Windows ก็ให้ท่านเลือกดาวน์โหลดเป็น Windows installer นะครับ
ขั้นตอนการติดตั้ง Arduino
1. ดับเบิ้ลคลิก arduino-1.6.0-windows.exe
2. คลิกปุ่ม Run


3. คลิกปุ่ม I Agree

4. ติ๊กเครื่องหมายถูกทั้งหมดที่ Components จากนั้น คลิกปุ่ม Next

5. คลิกปุ่ม Install

6. แสดงสถานะกำลังติดตั้ง Arduino รอจนเสร็จ

7. ขั้นตอนนี้เป็นการติดตั้ง Driver ให้ท่านคลิกปุ่ม Install เลยครับ รอจนเสร็จ

จบครับสำหรับขั้นตอนการตั้ง Arduino ก็จะมี Icon ปรากฏที่หน้าจอ Desktop   

ให้ท่านดับเบิ้ลคลิกที่ Icon Arduino ก็จะเห็นหน้าจอสำหรับเขียนโปรแกรมสั่งงาน Arduino เป็นแบบนี้ครับ

บทนี้พอแค่นี้ก่อนเดียวเจอกันในบทถัดไปครับ

ตอนที่2 ศึกษา Arduino แล้ว เอาไปทำอะไรได้บ้าง

เมื่อท่านศึกษา Arduino มาได้สักพักแล้ว ท่านก็สามารถนำเอาไปประยุกต์ใช้กับงานของท่านได้ หรือว่าจะศึกษาเป็นงานอดิเรกก็ได้ หรือบางท่านอาจจะเคยมีความฝันในวัยเด็กตอนที่ได้รถบังคับวิทยุมา ก็อาจจะเกิดความคิดว่าเราก็อยากทำรถบังคับวิทยุได้ นี่และครับสิ่งต่างๆ เหล่าท่านสามารถสร้างมันขึ้นมาได้ด้วยมือของท่านเอง เดียวผมจะยกตัวให้ดูครับว่า Arduino ทำอะไรได้บ้าง
- ทำเครื่องวัดอุณหภูมิ เมื่ออุณหภูมิเกิน หรือต่ำกว่าที่กำหนดไว้ก็ให้มีเสียงร้องเตือน
- ทำระบบเปิด-ปิด ไฟฟ้า(หลอดไฟ) อัตโนมัติ ด้วยการใช้ Sensor วัดแสง ถ้ามีแสงสว่างก็ให้ไฟดับ ถ้าแสงสว่างน้อย(ค่ำแล้ว) ก็ให้ไฟติด
- ทำหุ่นยนต์เดินตามเส้น
- ทำหุ่นยนต์บังคับด้วย Remote
- ทำเครื่องตรวจจับ Gas รั่ว
- ทำระบบเปิด- ปิด ไฟฟ้า(หลอดไฟ) ผ่าน Smart Phone
- ทำระบบรดน้ำต้นไม้ (อัตโนมัติ) ให้รดน้ำต้นตามเวลาที่กำหนด
- สั่งงาน หรือ Control Motor
- อื่นๆ อีกเยอะแยะมากมาย

ตอนที่1 ทำไมต้องเป็น Arduino

สำหรับผู้ที่จะเริ่มต้นศึกษา Microcontroller สักตัว โดยที่ท่านไม่มีความรู้พื้นฐานทางด้าน Electronic และการเขียนโปรแกรมคอมพิวเตอร์เลย ผมอยากจะบอกว่า Arduino นี่แหละครับตอบโจทย์ท่านได้เลย เพราะ Concept ของ Arduino เค้าบอกไว้ว่า ท่านไม่จำเป็นต้องมีความรู้ทางด้าน Electronic และการเขียนโปรแกรมคอมพิวเตอร์ ท่านก็สามารถที่จะเริ่มศึกษา Arduino ได้เลยครับ บางท่านอาจจะงงว่า มันจะเป็นไปได้อย่างไงกัน เป็นไปได้ครับ เดี๋ยวผมจะพูดให้ท่านฟังเป็นข้อๆ ไป
ข้อที่ 1 เพราะ Arduino เป็น Open Source ครับ มันเป็น Open Source ทาง Hardware ความหมายก็คือ Arduino เค้าจะเปิดเผยข้อมูลของลายวงจรทั้งหมดให้ครับ เห็นไหมครับแค่ข้อนี้ข้อเดียวก็เพียงพอแล้วที่จะทำให้ท่านศึกษา Arduino ได้อย่างไม่ยากเย็นนัก บางท่านอาจจะมองไม่เห็นภาพว่าการเปิดเผยลายวงจรนั้นจะทำให้เราศึกษา Arduino ได้ง่ายขึ้นอย่างไร คือในขั้นนี้ท่านอาจจะยังมองไม่ออกหรอกครับ ผมขอให้ท่านใจเย็นๆ แล้วค่อยศึกษาไปเรื่อยๆ เมื่อท่านศึกษาไปได้สักพักเดี๋ยวท่านก็จะมองออก และท่านก็จะได้คำตอบของข้อนี้เองครับ

ข้อที่ 2 ด้วยความที่ Arduino เป็น Open Source จึงมีคนอื่นๆ อีกมากมายทั่วทุกมุมโลก เค้าก็ศึกษาเหมือนกัน มันจึงเกิดการแชร์ข้อมูลกันเกิดขึ้น ข้อมูลเหล่านี้ก็กระจายอยู่ตามเว็บไซต์ต่างๆ ซึ่งเค้าก็จะบอกเราหมดทุกอย่าง เป็น step by step เลยครับ ทั้งเรื่องของการต่อวงจรให้เราดู และเรื่องของโปรแกรมที่ใช้ในการสั่งงาน ทุกอย่างเปิดเผยหมดครับ โอ้วมันสุดยอดมากๆ เลย

ข้อที่ 3 Arduino ใช้ภาษา C ในการสั่งงานให้มันทำงานตามที่เราต้องการครับ สำหรับคนที่เขียนโปรแกรมด้วยภาษา C เบื้องต้นเป็นแล้ว ข้อนี้จะได้เปรียบมาก แต่สำหรับคนที่เขียนไปไม่เป็นก็ไม่ต้องตกใจไป เพราะภาษา C ก็ไม่ได้ยากอย่างที่คิด และในเบื้องต้นของการศึกษา Arduino เราก็ใช้งานกันไม่กี่คำสั่ง เดี๋ยวผมจะค่อยๆ พาท่านศึกษาไปทีละขั้นจนเป็นครับ