Arduino คืออะไร ? Show
Arduino คือ โครงการที่นำชิปไอซีไมโครคอนโทรลเลอร์ตระกูลต่างๆ มาใช้ร่วมกันในภาษา C ซึ่งภาษา C นี้เป็นลักษณะเฉพาะ คือมีการเขียนไลบารี่ของ Arduino ขึ้นมาเพื่อให้การสั่งงานไมโครคอนโทรลเลอร์ที่แตกต่างกัน สามารถใช้งานโค้ดตัวเดียวกันได้ โดยตัวโครงการได้ออกบอร์ดทดลองมาหลายๆรูปแบบ เพื่อใช้งานกับ IDE ของตนเอง สาเหตุหลักที่ทำให้ Arduino เป็นนิยมมาก เป็นเพราะซอฟแวร์ที่ใช้งานร่วมกันสามารถโหลดได้ฟรี และตัวบอร์ดทดลองยังถูกแจกแปลน ทำให้ผู้ผลิตจีนนำไปผลิตและขายออกตลาดมาในราคาที่ถูกมากๆ โดยบอร์ดที่ถูกที่สุดในตอนนี้คือบอร์ด Arduino ที่มีราคาเพียง 120 – 150 บาทเท่านั้น Arduino ต่างอะไรกับ AVR แบบปกติ ? จากที่ได้กล่าวไปแล้ว Auduino นั้นได้ใช้ชิป AVR เป็นหลักใน Auduino แทบรุ่น สาเหตุมาจากไมโครคอนโทรเลอร์ของตะกูล AVR นั้นมีความทันสมัย ในชิปในบางตัวสามารถเชื่อมต่อผ่าน USB ได้โดยตรง สามารถใช้กับคอมพิวเตอร์สมัยใหม่ได้เป็นอย่างดี และในไมโครคอนโทรเลอร์ตะกูล AVR ยังมีส่วนของโปรแกรมพิเศษที่เรียกว่า Bootloader อยู่ในระดับล่างกว่าส่วนโปรแกรมปกติ ซึ่งจะเป็นส่วนโปรแกรมที่จะถูกเรียกขึ้นมาก่อนการเรียกโปรแกรมปกติ ทำให้สามารถเขียนสั่งให้ทำงานใดๆก็ได้ ก่อนการเรียกโปรแกรมปกติ ทำให้ Arduino นั้นอาศัยส่วนโปรแกรมแกรมพิเศษนี้ในการทำให้ชิปสามารถโปรแกรมผ่านพอร์ตอนุกรมชนิด UART ได้ จึงทำให้การเขียนโปรแกรมลงไปในชิปใช้เพียง USB to UART ก็เพียงพอแล้ว แต่การโปรแกรมด้วยการใช้โปรโตคอล UART ก็มีข้อเสียตรงที่ต้องใช้เวลาในการบูตเข้าโปรแกรมปกติประมาณ 1 – 2 วินาที บอร์ด Arduino มีด้วยกันหลักๆ ประมาณ 9 บอร์ด ดังนี้ Arduino Unoรูปที่ 1 บอร์ด Arduino Uno R3 คำว่า Uno เป็นภาษาอิตาลี ซึ่งแปลว่าหนึ่ง เป็นบอร์ด Arduino รุ่นแรกที่ออกมา มีขนาดประมาณ 68.6x53.4mm เป็นบอร์ดมาตรฐานที่นิยมใช้งานมากที่สุด เนื่องจากเป็นขนาดที่เหมาะสำหรับการเริ่มต้นเรียนรู้ Arduino และมี Shields ให้เลือกใช้งานได้มากกว่าบอร์ด Arduino รุ่นอื่นๆที่ออกแบบมาเฉพาะมากกว่า โดยบอร์ด Arduino Uno ได้มีการพัฒนาเรื่อยมา ตั้งแต่ R2 R3 และรุ่นย่อยที่เปลี่ยนชิปไอซีเป็นแบบ SMD รูปที่ 2 บอร์ด Arduino Uno R2
รูปที่ 3 บอร์ด Arduino Uno SMD ข้อมูลจำเพาะ
Arduino Duoรูปที่ 4 บอร์ด Arduino Duo Duo เป็นภาษาอิตาลี แปลว่า สอง เป็นรุ่นที่เพิ่มพอร์ตให้มากขึ้นเป็น 54 พอร์ตดิจิตอลอินพุตเอาต์พุต และ 12 พอร์ตอนาล็อกอินพุต 2 พอร์ตอนาล็อกเอาต์พุต เพิ่มพื้นที่โปรแกรมเป็น 512KB สามารถใช้งานพื้นที่ได้เต็มไม่มี Bootloader เนื่องจากสามารถใช้กับพอร์ต USB ได้โดยตรง มีขนาดบอร์ด 101.52x53.3mm สามารถใช้ Shields ของ Arduino Uno ได้ แต่บางตัวจำเป็นต้องแก้ขาให้ถูกต้อง จากรูปที่ 4 จะเห็นได้ว่าบอร์ดได้เปลี่ยนมาใช้ชิปไอซีแบบ SMD จึงไม่นิยมนำมาใช้ในแบบ Standalone แต่นิยมนำมาใช้ในงานที่จำเป็นต้องพื้นที่โปรแกรมมากขึ้น ทำงานที่ซับซ้อนมากยิ่งขึ้น บอร์ด Arduino Duo ใช้ชิปไอซีเบอร์ AT91SAM3X8E ซึ่งเป็นชิปไอซีที่ใช้เทคโนโลยี ARM Core สถาปัตยกรรม 32 บิต เร่งความถี่คริสตอลขึ้นไปสูงถึง 84Mhz จึงทำให้สามารถงานด้านการคำนวน หรือการประมวลผลอัลกอริทึมได้เร็วกว่า Arduino Uno มาก แต่เนื่องจากชิปไอซีทำงานที่แรงดัน 3.3V ดังนั้นการนำไปใช้งานกับเซ็นเซอร์ควรระวังไม่ให้แรงดัน 5V ไหลเข้าบอร์ด ควรใช้วงจรแบ่งแรงดันเพื่อช่วยให้ลอจิกลดแรงดันลงมาให้เหมาะสม ข้อมูลจำเพาะ
Arduino Leonardoรูปที่ 5 บอร์ด Arduino Leonard บอร์ด Arduino Leonard เป็นบอร์ดที่เลือกใช้ชิปไอซีเบอร์ ATmega32u4 ที่รองรับการเชื่อมต่อกับพอร์ต USB ได้โดยตรง ทำให้บอร์ดสามารถเขียนโปรแกรมเพื่อจำลองตัวเองให้เป็นเมาส์ หรือคีย์บอร์ดได้ ทำงานที่แรงดัน 5V ทำให้ไม่มีปัญหากับเซ็นเซอร์ หรือ Shields ที่ใช้งานกับ Arduino Uno ข้อมูลจำเพาะ
Arduino MEGA ADK
รูปที่ 6 บอร์ด Arduino MEGA ADK R3 บอร์ด Arduino MEGA ADK ใช้ชิปไมโครคอนโทรเลอร์เบอร์ ATmaega2560 มีชิปไอซี USB Host เบอร์ MAX3421e มาให้บนบอร์ด ใช้สำหรับเชื่อมต่อกับโทรศัพท์มือถือแอนดรอยผ่าน OTG มีพอร์ตดิจิตอลอินพุตเอาต์พุตจำนวน 54 พอร์ต มีอนาล็อกอินพุตมาให้ 16 พอร์ต ทำงานที่ความถี่ 16MHz บอร์ด Arduino MEGA ADK จะแตกต่างกับบอร์ด Arduino Duo ตรงที่ชิปบนบอร์ดนั้นฉลาดไม่เท่า และใช้ความถี่ต่ำกว่า ดังนั้นจึงไม่เหมาะจะนำไปใช้กับงานคำนวณ แต่เหมาะสำหรับงานที่ใช้การเชื่อมต่อกับโทรศัพท์มือถือแอนดรอยมากกว่า ข้อมูลจำเพาะ
Arduino Mega 2560
รูปที่ 7 บอร์ด Arduino Mega 2560 R3 บอร์ด Arduino Mega 2560 จะเหมือนกับ Arduino MEGA ADK ต่างกันตรงที่บนบอร์ดไม่มี USB Host มาให้ การโปรแกรมยังต้องทำผ่านโปรโตคอล UART อยู่ บนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega2560 ข้อมูลจำเพาะ
Arduino Microรูปที่ 8 บอร์ด Arduino Micro บอร์ด Arduino Micro ออกแบบให้มีขนาดที่เล็ก และทันสมัยกว่าบอร์ด Arduino Mini หรือ Arduino Nano เนื่องจากบนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega32u4 ซึ่งมาพอร์ต USB สามารถเชื่อมต่อกับคอมพิวเตอร์ได้โดยตรง และมีดิจิตอลอินพุตเอาต์พุตมากถึง 20 พอร์ต มีพื้นที่เก็บโปรแกรมขนาด 32KB แต่ต้องใช้พื้นที่สำหรับ Bootloader ไป 4KB มีขนาดเพียง 48x18mm เนื่องจากบอร์ดใช้ชิปไอซีตัวเดียวกับ Arduino Leonardo ทำให้สามารถทำให้บอร์ดจำลองตัวเองเป็นเมาส์หรือคีย์บอร์ดเชื่อมต่อกับคอมพิวเตอร์ได้ ข้อมูลจำเพาะ
Arduino Nanoรูปที่ 9 บอร์ด Arduino Nano บอร์ด Arduino Nano ออกแบบมาให้มีขนาดเล็ก และใช้กับงานทั่วๆไป ใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega168 หรือเบอร์ ATmega328 (มีรุ่น 2.3 กับ 3 ตอนซื้อต้องเช็คดีๆก่อน) โปรแกรมผ่านโปรโตคอล UART มีชิปUSB to UART มาให้ ใช้ Mini USB เชื่อมต่อกับคอมพิวเตอร์ มีพอร์ตดิจิตอลอินพุตเอาต์พุต 14 พอร์ต มีพอร์ตอนาล็อกอินพุต 8 พอร์ต บนบอร์ดยังมีเรกกูเลเตอร์ สามารถจ่ายไฟได้ตั้งแต่ 7 – 12V เพื่อให้บอร์ดทำงานได้ (จ่ายไฟที่ขา VIN)กรณีมีแหล่งจ่ายไฟ 5V อยู่แล้วก็จ่ายเข้าได้เลยที่ขา 5V ข้อมูลจำเพาะ
Arduino Miniรูปที่ 10 บอร์ด Arduino Mini บอร์ด Arduino Mini มีขนาดเล็กกว่าบอร์ด Arduino อื่นๆอยู่มาก แต่ยังคงความสามารถไว้เท่ากับบอร์ด Arduino Uno R3 แถมยังมีพอร์ต A6 และ A7 เพิ่มขึ้นมา ทำให้บอร์ดมีอนาล็อกอินพุตเพิ่มมากขึ้น จากเดิมมี 6 พอร์ต เพิ่มเป็น 8 พอร์ต เนื่องจากบอร์ด Arduino Mini เน้นที่ขนาดเล็ก ดังนั้นจึงไม่สามารถทำการโปรแกรมได้โดยตรง หากต้องการโปรแกรมบอร์ดจำเป็นต้องซื้อโมดูล USB to UART มาใช้แยกตางหาก แต่ข้อดีของการไม่สามารถเสียบโปรแกรมได้โดยตรงคือหากโปรเจคอยู่ตัวแล้ว ความเสี่ยงที่จะถูกนำมาเขียนโปรแกรมเข้าไปใหม่ก็จะลดน้อยลง บอร์ด Arduino Mini ยังคงมีรูปแบบคล้ายๆกับ Arduino เดิม คือใช้ชิป ATmega328 ที่ความถี่ 16MHz ภายในบอร์ดสามารถใช้แหล่งจ่ายไฟ 7 – 12V มาจ่ายได้ หากมีแหล่งจ่ายไฟ 5V ก็สามารถนำมาจ่ายได้เลย ข้อมูลจำเพาะ
Arduino Pro Mini รูปที่ 11 บอร์ด Arduino Pro Mini บอร์ด Arduino Pro Mini เป็นบอร์ดที่แตกต่างจากบอร์ด Arduino Mini คือย้ายช่อง A4 A5 A6 A7 ออกมาภายในบอร์ด เพื่อให้บอร์ดมีขนาดที่เล็กลงกว่าเดิมอีก และมีให้เลือกใช้ทั้ง 5V และ 3.3V ก่อนซื้อจึงควรดูให้แน่ใจเสียก่อน บอร์ด Arduino Pro Mini ได้ใช้ไอซีเบอร์ ATmega328 เช่นเดิม แต่มีขนาดใหญ่ขึ้นเล็กน้อย ทำให้ไอซีดูเต็มบอร์ดมากขึ้น และในโมเดลที่ใช้แรงดันไฟ 3.3V ลดความถี่ลงเป็น 8MHz ใช้พื้นที่ Booloader น้อยลง เหลือเพียง 500B การโปรแกรมยังคงต้องใช้โมดูล USB to UART ในการเชื่อมต่อเพื่อโปรแกรมเช่นเดิม ข้อมูลจำเพาะ
ขอบคุณรูปภาพจาก http://www.arduino.cc/ การติดตั้งโปรแกรมและไดร์เวอร์Arduino จะใช้โปรแกรมที่เรียกว่า Arduino IDE ในการเขียนโปรแกรม และคอมไพล์ลงบอร์ด โดยขนาดของโปรแกรม Arduino โดยปกติแล้วจะใหญ่กว่าโค้ด AVR ปกติเนื่องจากโค้ด AVR เป็นการเข้าถึงจากรีจิสเตอร์โดยตรง แต่โค้ด Arduino เข้าถึงผ่านฟังก์ชั่น เพื่อให้สามารถเขียนโค้ดได้ง่ายมากกว่าการเขียนโค้ดแบบ AVR การดาว์โหลดโปรแกรม Arduino IDEดาว์โหลดไฟล์โปรแกรมได้จากเว็บไซต์ http://www.arduino.cc/en/Main/Software เลือกระบบปฏิบัติการที่ต้องการจะติดตั้ง (ตัวอย่างผมใช้ Windows 8.1 จึงเลือก Windows Installer)
จากนั้นจึงแสดงหน้าเชิญให้ร่วมบริจาค หากไม่ต้องการบริจาคสามารถคลิกปุ่ม การดาว์โหลดจะเริ่มขึ้นอัตโนมัติ และรอจนกว่าการดาว์โหลดจะเสร็จสิ้น แล้วจึงทำขั้นตอนถัดไป การติดตั้งโปรแกรม Arduino IDEเมื่อดาว์โหลดเสร็จแล้วให้เปิดไฟล์ติดตั้งขึ้นมาได้เลย กดปุ่ม I Agree ได้เลย มีตัวเลือกให้เลือกติดตั้ง แนะนำให้เลือกทั้งหมด (ค่าเริ่มต้นคือเลือกทั้งหมด) แล้วคลิกปุ่ม Next > เลือกโฟลเดอร์ติดตั้งโปรแกรม หากไม่ต้องการแก้ไขคลิกปุ่ม Intall ได้เลย
รอๆจนกว่าโปรแกรมจะติดตั้งเสร็จสิ้น เมื่อขึ้นคำว่า Completed หมายถึงการติดตั้งเสร็จสมบูรณ์แล้ว คลิกปุ่ม Close เพื่อปิดโปรแกรมลงไปได้เลย หน้าเดสท็อปก็จะมีไอค่อนโปรแกรม Arduino ขึ้นมาแล้ว การตั้งค่าโปรแกรม Arduino IDEโดย เจ้าของร้าน เมื่อ 1 ปีที่ผ่านมา เมื่อเปิดโปรแกรม Arduino IDE ขึ้นมา จะพบกับหน้าต่างว่างๆ ดูง่ายๆ เนื่องจากการดีบัคโค้ดจะใช้ระบุบรรทัดที่ผิดพลาดเป็นส่วนใหญ่ แต่เจ้าหน้าตาโปรแกรมดันไม่บอกหมายเลขบรรทัด เพราะฉนั้นเราจึงต้องไปตั้งค่าให้แสดงหมายเลขบรรทัดขึ้นมาครับ กดเมนู File > Preferences จะพบหน้าต่างง่ายๆ เมนูต่างๆที่สำคัญ มีดังนี้
ตัวอย่าง ผมเลือกดังนี้ และกด OK จะเห็นว่าหมายเลขบรรทัดมีแสดงขึ้นมาแล้ว เพราะได้เลือก Display line number ไว้ Arduino board ประกอบด้วยอะไรบ้างทีนี้เรามาดูกันดีกว่าว่าใน Arduino Board นั้นประกอบด้วยอะไรบ้าง. USB Port (ในบางตัวอาจจะเป็น Micro USB ก็ได้นะ เหมือนกัน): เป็น Port ที่เอาไว้สำหรับเชื่อมต่อกับ Computer เพื่อ Upload ตัวโปรแกรมที่เราเขียนเข้า MCU และรวมถึงการจ่ายไฟให้กับ Board ด้วยนะ. Reset Button: เป็นปุ่มที่กดเพื่อให้ MCU เริ่มทำงานใหม่. Arduino คืออะไรพร้อมทั้งบอกหน้าที่และประโยชน์บอร์ด Arduino เป็นไมโครคอนโทรลเลอร์ ที่สามารถอ่านอินพุตจากตัวตรวจจับแสง, ใช้นิ้วกดบนปุ่ม หรือส่งข้อความไปยัง Twitter และเปลี่ยนเป็นเอาต์พุตเปิดใช้งานมอเตอร์, เปิดไฟ LED หรือเผยแพร่ข้อมูลไปยังระบบอินเทอร์เน็ตได้อีกด้วย ซึ่งผู้ใช้งานสามารถควบคุมบอร์ดว่าต้องทำอะไร โดยส่งชุดคำสั่งไปยังไมโครคอนโทรลเลอร์บนบอร์ด ในการทำเช่น ...
Arduino ใช้ประโยชน์ในด้านใดArduino ถูกใช้ประโยชน์ในลักษณะเดียวกับ MCU อื่นๆ คือ ใช้ติดต่อสื่อสารและควบคุมอุปกรณ์ไฟฟ้าอื่นๆ ด้วยการเขียนโปรแกรมให้กับ MCU เพื่อควบคุมการรับส่งสัญญาณทางไฟฟ้าตามเงื่อนไขต่างๆ โดยตัวอย่าง การประยุกต์ใช้ Arduino ในชีวิตประจำวัน เช่น ระบบเปิด/ปิดไฟอัตโนมัติ ระบบเปิดปิดประตูอัตโนมัติ ระบบรดน้ำต้นไม้อัตโนมัติ หรือใช้ ...
ไมโครคอนโทรลเลอร์อาดุยโน่คืออะไรจุดเด่นคืออะไรArduino เป็นไมโครคอนโทรลเลอร์บอร์ดแบบสาเร็จรูปในยุคปัจจุบัน ซึ่งถูกสร้างมาจาก Controller ตระกูล ARM ของ ATMEL ข้อดีของไมโครคอนโทรลเลอร์บอร์ดคือเรื่องของ Open Source ที่สามารถน าไป พัฒนาต่อเป็นอุปกรณ์ต่างๆได้ และความสามารถในการเพิ่ม Boot Loader เข้าไปที่ตัว ARM จึงท าให้การ Upload Code เข้าตัวบอร์ดสามารถทาได้ง่ายขึ้น ...
|