Tuesday, 11 August 2015

มารู้จัก Arduino Nano



Arduino Nano

   ก่อนที่เราจะนำ microcontroller ไปประยุกต์ทำโครงงานทางด้าน IoT จำเป็นต้องเรียนรู้พื้นฐานการใช้งาน microcontroller กันเสียก่อนและ microcontroller ที่เราเราจะนำมาเรียนรู้พื้นฐานการใช้งานก็คือไมโครคอนโทรเลอร์รุ่น Arduino Nano เพราะมีราคาถูกและมีฟังค์ชันการทำงานที่เพียงพอต่อการเรียนรู้ระดับพื้นฐาน ดังนั้นวันนี้เราจะมาพูดถึง Arduino Nano กันครับ
     นานาโนเป็นบอร์ดขนาดจิ๋ว  มีความสามารถในการประมวลผลเหมือนกับรุ่น UNO แต่มีจำนวน input/output น้อยกว่าเพราะต้องการให้มีขนาดเล็ก  เวลาใช้งานอาจจะต่อกับ Prototype Board หรือ ต่อเชื่อมกับ PCB (PCB คืออะไร) ที่สร้างขึ้นใช้งานเฉพาะกิจได้  และเช่นเดียวกับบอร์ด Arduino รุ่นอื่น   Arduino Nano สามารถโปรแกรมได้โดยตรงผ่าน USB port โดย ไม่ต้องใช้อุปกรณ์แยกต่างหากเพื่อ Upload โปรแกรม


รายละเอียดของบอร์ด Arduino Nano มีดังนี้ครับ

      Microcontroller                                Atmel ATmega168 or ATmega328
      Operating Voltage (logic level)          5 V
      Input Voltage (recommended)           7-12 V
      Input Voltage (limits)                        6-20 V
      Digital I/O Pins                                 14 (of which 6 provide PWM output)
      Analog Input Pins                               8
      DC Current per I/O Pin                     40 mA
      Flash Memory                                    16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
      SRAM                                                1 KB (ATmega168) or 2 KB (ATmega328)
      EEPROM                                            512 bytes (ATmega168) or 1 KB (ATmega328)
      Clock Speed                                       16 MHz
      Dimensions                                         0.73" x 1.70"

ตัวผังโครงสร้างวงจรของ Ariduino Nano เป็นดังนี้


ขาใช้งานที่เรียกว่า Pin มีหมายเลขกำกับและลักษณะการใช้งาน ดังนี้ครับ


ในหัวข้อถัดไปเราจะมาพูดถึงพื้นฐานการใช้งาน Arduino Nano กันอย่างละเอียดกันครับ
ขอบคุณข้อมูลจาก https://www.gravitechthai.com,http://www.electcircuitz.com/

Sunday, 2 August 2015

มารู้จักกับ Arduino

Arduino คืออะไร
ไมโครคอนโทรลเลอร์ที่ใช้งานกันอยู่มีอยู่หลายตระกูล ถ้าเปรียบเป็นรถก็มีหลายยี่ห้อ หลายค่าย ที่ใช้กันอยู่ในปัจจุบัน แต่ในบล็อกนี้จะพูfถึงเฉาะตระกูลที่เราจะใช้ศึกษา ทำโครงงาน ประยุกใช้ในเทคโนโลยี IoT คือ ตระกูล Arduino (อาร์ดูโน)
Arduino คือ บอร์ดไมโครคอนโทรลเลอร์สำเร็จรูป ที่รวมเอาตัวไมโครคอนโทรลเลอร์และอุปกรณ์อื่นๆที่จำเป็นมารวมไว้ในบอร์ดเดียวกัน และยังใจกว้างเปิดเผยข้อมูลทุกอย่าง ไม่ว่าจะเป็นลายวงจร ตัวอย่างโปรแกรม ทำให้ผู้ใช้อย่างเราๆท่านๆนำไปพัมนาต่อได้ง่าย เพียงแค่เรามีบอร์ด Arduino กับคอมพิวเตอร์หนึ่งเครื่อง ก็พร้อมใช้งานได้แล้ว โดยไม่ต้องปวดหัวกับวงจรที่ซับซ้อม หรือการติดตั้งโปรแกรมที่ยุ่งยาก โดยทาง Arduino และบริษัทที่เกี่ยวข้องได้ผลิตบอร์ดออกมาหลายรุ่นหลายขนาดให้ได้เลือกใช้ตามความต้องการและความเหมาะสมของานที่จะนำไปใช้ของผู้ใช้งาน ก็เหมือนกับรถยี่ห้อหนึ่งๆก็จะมีรถหลายรุ่นไว้ให้ลูกค้าเลือกใช้งานนั่นเอง


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

          บอร์ดไมโครคอนโทรเลอร์ Arduino มีอยู่หลายรุ่น แต่จะขอแนะเฉาะบางรุ่นเท่านั้นนะครับ

1. Arduino Uno R3 เป็นบอร์ด Arduino ที่ได้รับความนิยมมากที่สุด เนื่องจากราคาไม่แพง ส่วนใหญ่โปรเจคและ Library ต่างๆ ที่พัฒนาขึ้นมา Support จะอ้างอิงกับบอร์ดนี้เป็นหลัก และข้อดีอีกอย่างคือ กรณีที่ MCU เสีย ผู้ใช้งานสามารถซื้อมาเปลี่ยนเองได้ง่าย 



2. Arduino Uno SMD เป็นบอร์ดที่มีคุณสมบัติและการทำงานเหมือนกับบอร์ด Arduino UNO R3 ทุกประการ แต่จะแตกต่างกับที่Package ของ MCU ซึ่งบอร์ดนี้จะมี MCU ที่เป็น Package SMD (Arduino UNO R3 มี MCU ที่เป็น Package DIP)




3. Arduino Mega 2560 R3 เป็นบอร์ด Arduino ที่ออกแบบมาสำหรับงานที่ต้องใช้ I/O มากกว่า Arduino Uno R3 เช่น งานที่ต้องการรับสัญญาณจาก Sensor หรือควบคุมมอเตอร์ Servo หลายๆ ตัว ทำให้ Pin I/O ของบอร์ด Arduino Uno R3 ไม่สามารถรองรับได้ ทั้งนี้บอร์ด Mega 2560 R3 ยังมีความหน่วยความจำแบบ Flash มากกว่า Arduino Uno R3 ทำให้สามารถเขียนโค้ดโปรแกรมเข้าไปได้มากกว่า ในความเร็วของ MCU ที่เท่ากัน



4. Arduino Mega ADK เป็นบอร์ดที่ออกแบบมาให้บอร์ด Mega 2560 R3 สามารถติดต่อกับอุปกรณ์ Android Deviceผ่านพอร์ตUSB Host ของบอร์ดได้



5. Arduino Leonardo การทำงานจะคล้ายกับบอร์ด Arduino Uno R3 แต่มีการเปลี่ยน MCU ตัวใหม่เป็น ATmega32U4 ซึ่งมีโมดูลพอร์ต USB มาด้วยบนชิป (แตกต่างจากบอร์ด Arduino UNO R3 หรือ Arduino Mega 2560 ที่ต้องใช้ชิป ATmega16U2 ร่วมกับ Atmega328 ในการเชื่อมต่อกับพอร์ต USB)




6. Arduino Mini 05 เป็นบอร์ด Arduino ขนาดเล็กที่ใช้ MCU เบอร์ ATmega328 เบอร์เดียวกับบอร์ด Arduino UNO R3



7. Arduino Nano เป็น surface mount breadboard embedded version เป็น บอร์ดที่ได้รับการปรับเปลี่ยนให้ใช้ usb ที่เล็กที่สุด สมบูรณ์แบบใช้งานร่วมกับโปรโตบอร์ดได้ เป็นบอร์ดขนาดเล็กที่มีให้ทุกอย่าง ตั้งแต่ Diecimila / Duemilanove มีขา VCC 5V และ 3.3V TX, RX, ATN, GND อื่นๆ Arduino Nano มีความสามารถเหมือนบอร์ด rduino mini แต่มีขนาดที่เล็กกว่าที่มาพร้อม usb เพื่อให้ผู้ใช้งานประหยัดพื้นที่ในการวางบอร์ด รุ่น 3.1 ใหม่นี้มาพร้อมกับ ATmega328 ซึ่งมีพื้นที่หน่วยความจำข้อมูลสำหรับการเขียนโปรแกรมที่มากขึ้น ในราคาที่ไม่แพง


ซึ่งเราจะใช้ Arduino Nano และ Arduino UNO เป็นหลักในการศึกษาและทำโครงงานทางค้าน IoT ซึ่งจะว่ากันต่อในหัวข้อต่อไปครับ

ขอบคุณข้อมูลจาก https://www.gravitechthai.com และ http://www.thaieasyelec.com