มาเล่น Arduino Robot ควบคุมด้วย Android App Bluetooth Joystick กัน

เมื่องาน OSSFestival 2014 ที่ผ่านมา มี workshop เกี่ยวกับ Arduino DIY ได้รับความสนใจมากจากหลายคนที่สนใจด้าน OpenSource Hardware ซึ่งโครงการอย่าง Arduino และ Raspberry Pi เป็นโครงการ OpenSource Hardware ที่ประสบความสำเร็จมาก เรียกได้ว่าใช้เครื่องมือทุกอย่างที่เป็น OpenSource ในการทำงานได้ ตั้งแต่การประกอบแบบ DIY,Arduino Bootloader สำหรับ Burn ลงในชิบ ATMEGA328, IDE ที่ใช้เขียนโปรแกรมและระบบปฏิบัติการที่ใช้งานได้ เรียกได้ว่าใช้งานเครื่องมือแบบ OpenSource ได้ในทุกกระบวนการเลยทีเดียว ดีจัง :) ใน workshop ได้แนวคิดหลายอย่าง ไม่ว่าจะเป็นบอลลูนติด Arduino ควบคุมด้วย Remote Control แบบ Infra Red หรือการใช้งาน Arduino DIY กับ RFID เป็นต้น เรียกได้ว่าทำได้หลายอย่างมากๆ

ในตอนแรกคิดว่าจะลองทำบอลลูนควบคุมด้วย Arduino แต่ต้องถอดใจก่อนเพราะไม่มีลูกโป่งและก๊าซฮีเลียม แนวคิดนี้ก็เลยขอพักไว้ก่อน ลองทำอะไรง่ายๆ ก่อนน่าจะดีกว่า อย่างเช่น Robot เอ่อ…ต้องเรียกรถ 2 ล้อน่าจะถูกกว่าเพราะมี 2 ล้อสำหรับควบคุมทิศทางและล้ออิสระอีก 2 ล้อเอาไว้พยุงตัวรถเท่านั้นเอง อุปกรณ์ที่ต้องใช้มีดังนี้ครับ

  • Robot Chassis Kit (Chassis + Motor + Wheel)
  • Arduino UNO
  • Motor Drive Shield (L298P)
  • Bluetooth Module HC-05
  • Battery ขนาด AA 6 ก้อน
  • Battery Box ขนาด AA 6 ก้อน

Continue reading

มาเล่น Arduino Standalone กัน

เขียนเรื่อง Arduino ไปหลายตอนก็เลยคิดว่าน่าจะเขียนเรื่อง Arduino Standalone บ้าง เพราะคงไม่มีใครเอาบอร์ด Arduino UNO ทั้งตัวเอาไปทำผลิตภัณฑ์ขายล่ะคับ ซึ่งคนทำผลิตภัณฑ์ก็ต้องออกแบบ PCB ที่มี ATMega + Regulator และวงจรที่ใช้งานมาด้วยในตัว ก็เลยน่าจะเขียนเรื่องนี้บ้าง จะได้เป็นจุดเริ่มต้นสำหรับท่านที่สนใจอยากทดลองหรืออยากเอาไปทำผลิตภัณฑ์ก็ได้เหมือนกัน ก่อนอื่นสิ่งที่ต้องมี

  • 1x ATMEGA328P-PU + Arduino UNO R3 Bootloader
  • 1x Crystal 16MHz
  • 2x 22pF capacitors
  • ถ่าน 3V หรือ Regulator 5.0-3.3V DC

อ้อและที่สำคัญผังขา ATMEGA328P อย่าลืมเอาไว้อ้างอิง :)
Continue reading

ติดตั้ง Arduino IDE บน Ubuntu 14.04 LTS

มีคนถามเข้ามาเรื่อง Arduino IDE บน Ubuntu ผมก็สงสัยว่า IDE ก็มีอยู่ให้ดาวน์โหลดที่เว็บ arduino.cc พอเข้าเว็บไปดูอีกรอบก็ถึงทราบว่าเป็น zip ไฟล์นี่เอง เข้าใจว่าไม่รู้ว่าจะเปิดไฟล์ไหนยังไงล่ะมั๊ง ครั้งนี้ก็เลยมาแนะนำวิธีติดตั้ง Arduino IDE บน Ubuntu 14.04 กันสักหน่อย ตัว IDE สามาถติดตั้งได้ 2 วิธี วิธีแรกคือติดตั้งผ่าน Software Center พิมพ์คำว่า Arduino ลงไปก็สั่งติดตั้ง IDE ได้เลย ง่ายมากๆ

อีกแบบคือติดตั้งเอง สำหรับ Linux ค่ายอื่นๆ ที่ไม่มีคนใจดีทำ package มาให้ :) การติดตั้งแบบติดตั้งเองต้องติดตั้ง Java ด้วยนะครับ :) เริ่มจากติดตั้ง Java กันก่อนเลย

Continue reading

สั่งงาน Arduino ผ่าน Bluetooth กัน

ครั้งที่แล้ว blog เรื่องตั้งค่า HC-05 แต่ไม่ได้บอกว่าเอามาทำอะไร โปรเจคที่ใช้ Bluetooth ส่วนใหญ่จะใช้งานด้านการสื่อสารหรือส่งข้อมูลเป็นหลัก เพราะ HC-05 สามารถทำงานได้ 2 โหมด เป็น Server หรือ Client ได้ เราสามารถประยุกต์ใช้ Bluetooth Module มาเป็นช่องทางในควบคุมอุปกรณ์ระหว่างมือถือกับ Arduino โดยหลักการง่ายๆ ของการใช้ Bluetooth คือต้องมีการ pair อุปกรณ์เข้าหากัน หาก Arduino ของคุณต่อกับ Relay Board คุณก็สามารถสั่งงานผ่าน Mobile App ได้ ก่อนจะถึงการควบคุม Relay มาดูวิธีการสื่อสารแบบง่ายๆ กันก่อน ต่อ Bluetooth Module กับ Arduino ดังภาพ

จากนั้นสั่งอัพโหลดโค้ดดังนี้

Continue reading

มาใช้ Xively บริการ PaaS สุดเจ๋ง สำหรับ IoTs กัน

ครั้งที่แล้วได้ใช้ aREST บน Arduino กันไปแล้ว ครั้งนี้มาลองเล่น Xively กันดูบ้าง Xively เป็นบริการ PaaS สำหรับ Internet of Things คุณสามารถเขียน/อ่านข้อมูลที่ได้จาก sensor ไปเก็บไว้ที่ Xively ได้ และข้อมูลสามารถเก็บได้หลายแบบไม่ว่าจะเป็นค่าตัวเลข, พิกัด GPS และสามารถทำ Triggers ผ่าน HTTP POST ได้ หากค่าที่อ่านได้จาก sensor ตรงกับเงื่อนไขที่คุณตั้งไว้ เช่น แดดออก อุณหภูมิมากกว่า 35 องค์ศาเซลเซียส ให้เปิด sprinkler ถ้าอุณหภูมิลดลงเหลือ 30 ให้ปิด sprinkler เป็นต้น

ไหนๆ ยกตัวอย่างเรื่องอุณหภูมิแล้ว มี sensor ที่เกี่ยวกับ อุณหภูมิอยู่หลายตัว เช่น TMP35 เป็น Temperature Sensor แบบ Analog มี 3 ขา ใช้งานง่ายๆ เอาไฟ 2.7-5.5V ต่อเข้าขา V in และอ่านค่าจาก V out แล้วเอาค่าที่ได้จาก V out มาคำนวณเพื่อหาค่า Temperature ตัวอย่างการคำนวณ ดังนี้

  • VOLT_OUT = 100*5/1024.0
  • TEMP_CEL = (VOLT_OUT-0.5)*100
  • TEMP_FAR = (TEMP_CEL * 9/5) + 32;

Continue reading

มาเล่น REST API บน Arduino กัน

เนื่องจากซื้อ Arduino UNO กับ Wifi Shield ของ Tony Labs เอาไว้คิดว่าน่าจะได้เอามาทำอะไรสนุกๆ แต่ทิ้งไว้นานมากจนลืม พอนึกได้ก็ลองเล่นสักหน่อย จะได้อยู่ในกระแส Internet of Things (IoTs) บ้าง ฮาร์ดแวร์ประเภท Embedded และ Linux Embedded มีอยู่หลากหลายค่าย ที่เป็นที่นิยมก็ได้แก่ Arduino, Raspberry Pi, Beagle Board เป็นต้น การประยุกต์ใช้งานสามารถทำได้หลายอย่าง ต่อเซนเซอร์เพื่อรับค่า หรือควบคุมอุปกรณ์ต่างๆ ได้ ถ้าเป็น Linux Embedded ก็สามารถติดตั้งโปรแกรมใน SD Card ได้ หรือติดตั้ง server service ต่างๆ ก็ได้ เป็นคอมพิวเตอร์ตัวเล็กๆ ให้ใช้งานได้เลย แต่ต้องมี package ใน Repository ให้ติดตั้งนะครับ Linux Embedded ส่วนใหญ่จะใช้ CPU แบบ ARM ฉะนั้นจะติดตั้งอะไรก็ดูสักนิดว่ามี package สำหรับ CPU Architecture ที่เราใช้หรือเปล่า

แต่สำหรับ Arduino UNO ต้องเขียนโปรแกรมฝังเข้าไปอย่างเดียว อย่าหวังว่าจะ apt-get install apache php mysql อะไรเข้าไปได้ ต้องเขียน service เหล่านั้นขึ้นมาเอง…น่าสงสาร แต่ Arduino เป็น Open Embedded Board ใช้แนวคิดโดยเพิ่มคุณสมบัติใหม่ผ่าน Shield จึงทำให้มีคนทำ Shield เพื่อมาต่อกับ Arduino เยอะมากขึ้น ตัวอย่าง เช่น Wifi Sheild, Ethernet Shield, Data Logger Shield, GSM Shield เป็นต้น เรียกได้ว่าอยากได้อะไรก็ซื้อ Shield มาเสียบ นอกจาก Shield แล้วก็ยังมี Module แบบปกติที่ใช้งานกันทั่วไปอีกด้วย

Continue reading

แหล่งเรียน Arduino

ผมซื้อ Arduino Basic Kit มาได้ครบ 1 อาทิตย์แล้ว ยังไม่ได้ทำอะไรเป็นชิ้นเป็นอันเท่าไร ตอนนี้ยังกองๆ อยู่ในกล่อง แต่ก็พยายามหาแหล่งเรียนรู้ Arduino ด้วยตนเองอยู่บ้าง เพราะเดี๋ยวจะเบื่อเร็ว เอาเป็นว่าแหล่งเรียน Arduino ที่ผมหามาได้มีดังนี้

 

ได้ของเล่นใหม่ Arduino Uno R3

ติดสินใจสั่ง Arduino มาเล่นนานมาก เพราะกลับว่าจะซื้อมาแล้วเล่นได้ 10 นาทีแล้วเลิก ก็เลยหา shield ที่น่าสนใจมาดูว่าจะทำอะไรเล่นได้บ้าง ก็พบว่า shield มีเยอะ เรียกได้ว่าหามาเสียบๆ ทำอะไรสนุกๆ เล่นได้หลายอย่างเลย สุดท้ายก็สั่งซื้อ  Arduino Basic Kit จาก Arduino  Thai มาลองหัดเล่นบ้าง ผมไม่ได้จับ Micro Controller มานานเกือบๆ 15 ปีเห็นจะได้ เรียกได้ว่าอ่านค่า R ไม่ได้แล้วเลยล่ะ ลืมหมดทุกอย่าง T_T  ครั้งนี้คงได้ลองอะไรใหม่ๆ อีกเยอะ เพราะเดี๋ยวนี้อุปกรณ์ถูกกว่าแต่ก่อนมาก ไม่ต้องย้าย EPROM มา burn แล้วเสียบเหมือนแต่ก่อน และที่สำคัญไม่ต้องเขียน Assembly แล้ว แหมดีจัง ^ ^

เอาเป็นว่า คงใช้เวลาสุดสัปดาห์มานั่งเล่น Arduino ครับ ปล. เดือนหน้า มาสเตอร์อึ่งเปิดสอน Arduino ว่าจะไปเรียนกับ มาสเตอร์อึ่งบ้างครับ :)