วันพฤหัสบดีที่ 30 พฤศจิกายน พ.ศ. 2560

ตอนที่ 1 เริ่มเรียนรู้กับ Arduino Boards

ไม่มีความคิดเห็น

เริ่มต้นใช้งาน Arduino UNO ตอนที่ 1 (แนะนำตัวกันก่อน)


   "Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments."  [ www.arduino.cc]
    "อาดูยโน่  เป็นระบบที่ใช้ในการพัฒนาอุปกรณ์อิเล็กทรอนิกส์ต้นแบบ  ซึ่งออกแบบให้ใช้งานง่ายทั้งฮาร์ดแวร์ และซอฟแวร์   กลุ่มเป้าหมายผู้ใช้งานอาดูยโน่ ได้แก่ ศิลปิน  นักประดิษฐ์ นักออกแบบ  ใช้ในงานอดิเรก หรือ ใครๆก็ตามที่สนใจในการประดิษฐ์นวัตกรรม งานสร้างสรรค์"
      ก่อนอื่นเรามารู้จักกับที่มาที่ไปของ Arduino กันก่อนครับ  Ardiono มีผู้ริเริ่มเป็นชาวอิตาเลียน ดังนั้นจึงอ่านออกเสียงไปในทางอิตาเลียนว่า อาดูยโน่  หรือ บางคนก็อ่านว่า อาดูโน่  หรือ อาดูยอีโน่ ก็ได้ครับ   เรื่องมันก็เริ่มต้นในปี 2005 ผู้ริเริ่มของ Arduino ชื่อว่า Massimo Banzi และ David Cuartielles ซึ่งอาศัยอยู่ในเมือง Ivrea ทางตะวันตกเฉียงเหนือของประเทศอิตาลี   สองคนนี้ตั้งใจสร้างอุปกรณ์ประเภทไมโครคอนโทรลเลอร์ราคาถูกที่นักเรียนนักศึกษาสามารถเข้าถึง และซื้อหามาเป็นเจ้าของได้ครับ  โรงงานเล็กๆ ในเมืองที่ว่านี้ก็ถูกใช้เป็นที่ผลิตบอร์ด Arduino เวอร์ชั่นแรก  โดยใช้ชื่อโครงการของพวกเขาว่า  Arduin of Ivrea 
    นอกจากจะตั้งใจให้ราคาของอุปกรณ์นั้นถูกเมื่อเทียบกับไมโครคอนโทรลเลอร์ตระกูลอื่นๆ ในท้องตลาดแล้ว  พวกเขายังตั้งใช้ให้ Arduino สามารถพัฒนาโดยโปรแกรมที่ "แจกฟรี" ภายใต้เงื่อนไขในการใช้งานลักษณะ Open Souce   ดังนั้นจึงเลือกใช้การพัฒนาบนพื้นฐานของระบบ Wiring
     สำหรับบางคนที่ยังไม่แน่ใจว่าไมโครคอนโทรลเลอร์คืออะไร ลองอ่านย่อหน้านี้ดูครับ  ไมโครคอนโทรลเลอร์จะว่าไปแล้วก็เปรียบเหมือนกับสมองของมนุษย์ครับ คือมีหน้าที่คิด คำนวณทางคณิตศาสตร์ คำนวณทางลอจิก สั่งการ  มีส่วนความจำ  เพื่อใช้เป็นข้อมูลในการคำนวณ หรือ ประมวลผลต่างๆ  "แต่จะไม่สามารถทำงานได้เอง" โดยไม่มีมือ เท้า แขน ขา หรือ ตา หู จมูก   ซึ่งเปรียบได้กับ อุปกรณ์ส่วนควบ (Accessories) อื่น เช่น เซนเซอร์  มอเตอร์  ระบบสื่อสารผ่านอินเตอร์เน็ต  ระบบแสดงผลผ่านจอภาพ เป็นต้น    ดังนั้นโดยสรุปคือ ไมโครคอนโทรลเลอร์จะทำหน้าที่ในการคิดคำนวณ รับค่าจากระบบวัดผลภายนอก เข้ามาประมวลผล เพื่อสั่งการตอบสนองออกไปที่อุปกรณ์ต่อเชื่อมอื่นๆ  ตัวมันเองเดียวๆ จะทำอะไรไม่ได้มากไปกว่าการคิดครับ
     ไมโครคอนโทรเลอร์ในปัจจุบันก็มีอยู่หลายยี่ห้อ เช่น PIC ของบริษัทไมโครชิพ  Z80  MCS-51   ARM-Cortex  AVR และ อื่นๆอีกมากครับ  Arduino ก็เป็นไมโครคอนโทรเลอร์แบบนึงที่มีเอกลักษณ์เฉพาะตัวที่ต่างจากยี่ห้ออื่นๆ คือ การเป็น Open Source  ซึ่งทำให้ได้เปรียบเรื่องราคา และจำนวนผู้ใช้งานทั่วโลก
      Arduino เวอร์ชั่นแรกปรากฏต่อสายตาชาวโลกในเดือนกันยายน ปี 2006  เรียกชื่อว่า Arduino Mini และก็เล็กแถมถูกสมชื่อจริงๆ ครับ  ราคาขายในเมืองไทยก็ตกอยู่ไม่กี่ร้อยบาท (แต่ตอนนี้ไม่มีขายแล้วครับ ตกรุ่นไปเรียบร้อย)  
 Arduino Mini
    ถึงปัจจุบัน Arduino มีบอร์ดหลายแบบให้เลือกใช้งานตามความถนัดและความเหมาะสมมากกว่า 20 รุ่น  แต่ละรุ่นก็มีขนาด ความจุ ความเร็ว จำนวนขาพอร์ตอินพุต เอาท์พุต แตกต่างกันออกไป  มีตั้งแต่ราคาหลักสองสามร้อยบาท ไปจนกระทั่งพันกว่าบาท  นอกจากนี้ยังมีอุปกรณ์ต่อพ่วง  (Shield) ให้อีกสารพัด  ราคาก็เป็นไปตาม concept เดิมครับ คือ สมเหตุสมผลสุดๆ  ทำให้เป็นที่นิยมมากขึ้นเรื่อยๆ 
     สาเหตุที่ราคาถูกก็สามารถสรุปได้ดังนี้ครับ
  • ระบบเป็นแบบ Open Source ไม่มีลิขสิทธิ์ในการนำไปใช้งานต่อเชิงพานิชย์  แถมแจกไฟล์ที่ใช้ในการสร้างต้นแบบให้ฟรีๆ  ทำให้ประเทศผู้ผลิตอย่างจีนสามารถนำไปผลิตได้ในราคาสบายๆ โดยไม่ต้องกังวลเรื่องค่าลิขสิทธ์
  • ซอฟแวร์ หรือ Arduino IDE ที่ใช้ในการพัฒนายังแจกให้ฟรี  ดาว์ลโหลดกันได้อย่างถูกกฏหมาย  เอาไปใช้งานต่อ สร้างผลิตภัณฑ์แล้วขายต่อ ก็ไม่ต้องเสียเงินให้แบบไมโครคอนโทรลเลอร์เจ้าอื่นๆ
  • มีซอฟแวร์ (แบบฟรีๆ) ที่สร้างโดยคนใจดี เข้ามาร่วมอุดมการ (เช่น Fritzing และ Processing) กันอีก  ทำให้เกิดเป็นชุมชนขนาดใหญ์ที่มีเครื่องไม้เครื่องมือเข้ามาให้ใช้กันฟรีๆ เยอะมาก  ทั้ง Blog และ website สารพัด
  • อย่างที่ว่าครับ ชุมชนคนใช้ Arduino ในต่างประเทศมีอยู่มากมาย หาได้จาก Website ดังๆ เช่น Arduino.cc ,  Makezine.com, instructables.com  เว็บพวกนี้แจกแบบร่างและไฟล์ติดตั้ง (Sketch) ให้ฟรีๆ เอาไปสร้างโดยหาวัสดุเอารอบๆตัวครับ
    ก่อนนี้ผมก็ยังไม่ค่อยแน่ใจว่าของถูกๆ แต่ดีๆ จะมีหรือไม่  ตอนนี้พอจะหาได้จากชุมชนอาดูยโน่ (Arduino Community) ทั้งในและต่างประเทศครับ  อ่านมาถึงตรงนี้หลายคนคงจะสงสัยว่าแล้วมันเอาไปทำอะไรได้บ้าง คำตอบคือ แล้วแต่จะคิดและจินตนาการกันเลยครับ  ลองมาดูตัวอย่างก็ละกัน
อันดับแรกเริ่มจากง่ายๆ เครื่องมือวัดและแสดงอุณหภูมิ
Temp Sensor


หุ่นยนต์
 หุ่นยนต์ Arduino
QuardRotor
QuardRotor
 ตกแต่งเสื้อผ้า
wearables
ใช้งานกับระบบปฏิบัติการแอนดรอย เช่น มือถือ table
Arduino and Andriod 

Arduino คืออะไร

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

Arduino with XBee Shield

จุดเด่นที่ทำให้บอร์ด Arduino เป็นที่นิยม
  • ง่ายต่อการพัฒนา มีรูปแบบคำสั่งพื้นฐาน ไม่ซับซ้อนเหมาะสำหรับผู้เริ่มต้น
  • มี Arduino Community กลุ่มคนที่ร่วมกันพัฒนาที่แข็งแรง 
  • Open Hardware ทำให้ผู้ใช้สามารถนำบอร์ดไปต่อยอดใช้งานได้หลายด้าน
  • ราคาไม่แพง
  • Cross Platform สามารถพัฒนาโปรแกรมบน OS ใดก็ได้ 

รูปแบบการเขียนโปรแกรมบน Arduino

3

1. เขียนโปรแกรมบนคอมพิวเตอร์ ผ่านทางโปรแกรม ArduinoIDE ซึ่งสามารถดาวน์โหลดได้จาก Arduino.cc/en/main/software
2. หลังจากที่เขียนโค้ดโปรแกรมเรียบร้อยแล้ว ให้ผู้ใช้งานเลือกรุ่นบอร์ด Arduino ที่ใช้และหมายเลข Com port 

4

รูปที่ เลือกรุ่นบอร์ด Arduino ที่ต้องการ upload

5
รูปที่ เลือกหมายเลข Comport ของบอร์ด

3. กดปุ่ม Verify เพื่อตรวจสอบความถูกต้องและ Compile โค้ดโปรแกรม จากนั้นกดปุ่ม Upload โค้ด โปรแกรมไปยังบอร์ด Arduino ผ่านทางสาย USB เมื่ออับโหลดเรียบร้อยแล้ว จะแสดงข้อความแถบข้างล่าง “Done uploading” และบอร์ดจะเริ่มทำงานตามที่เขียนโปรแกรมไว้ได้ทันที

6
   มาถึงตรงนี้คงจะได้ไอเดียอะไรไปบ้าง แต่ถ้าอยากได้ข้อมูลเพิ่มเติม หรือ อยากเข้าไปดูชุมชน Arduino ลองเข้าไปดูที่เว็บต่อไปนี้ได้ครับ

ไม่มีความคิดเห็น :

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