ข้ามไปที่เนื้อหาหลัก

ทำไมต้องเลือกใช้ไมโครคอนโทรลเลอร์ Arduino

         Arduino (ขออ่านว่า อาดูโน่) เป็นบอร์ดไมโครคอนโทรเลอร์ตระกูล AVR ที่มีการพัฒนาแบบ Open Source คือมีการเปิดเผยข้อมูลทั้งด้าน Hardware และ Software ตัว บอร์ด Arduino ถูกออกแบบมาให้ใช้งานได้ง่าย ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นศึกษา ทั้งนี้ผู้ใช้งานยังสามารถดัดแปลง เพิ่มเติม พัฒนาต่อยอดทั้งตัวบอร์ด หรือโปรแกรมต่อได้อีกด้วย


ก่อนอื่นเรามารู้จักกับที่มาที่ไปของ Arduino กันก่อนครับ  Ardiono มีผู้ริเริ่มเป็นชาวอิตาเลียน ดังนั้นจึงอ่านออกเสียงไปในทางอิตาเลียนว่า อาดูยโน่  หรือ บางคนก็อ่านว่า อาดูโน่  หรือ อาดูยอีโน่ ก็ได้ครับ   เรื่องมันก็เริ่มต้นในปี 2005 ผู้ริเริ่มของ Arduino ชื่อว่า Massimo Banzi และ David Cuartielles ซึ่งอาศัยอยู่ในเมือง Ivrea ทางตะวันตกเฉียงเหนือของประเทศอิตาลี   สองคนนี้ตั้งใจสร้างอุปกรณ์ประเภทไมโครคอนโทรลเลอร์ราคาถูกที่นักเรียนนักศึกษาสามารถเข้าถึง และซื้อหามาเป็นเจ้าของได้ครับ  โรงงานเล็กๆ ในเมืองที่ว่านี้ก็ถูกใช้เป็นที่ผลิตบอร์ด Arduino เวอร์ชั่นแรก  โดยใช้ชื่อโครงการของพวกเขาว่า  Arduino of Ivrea

 นอกจากจะตั้งใจให้ราคาของอุปกรณ์นั้นถูกเมื่อเทียบกับไมโครคอนโทรลเลอร์ตระกูลอื่นๆ ในท้องตลาดแล้ว  พวกเขายังตั้งใช้ให้ Arduino สามารถพัฒนาโดยโปรแกรมที่ "แจกฟรี" ภายใต้เงื่อนไขในการใช้งานลักษณะ Open Source   ดังนั้นจึงเลือกใช้การพัฒนาบนพื้นฐานของระบบ Wiring

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

บอร์ด Arduino มีหลายรุ่นหลายขนาด ยกตัวอย่าง เช่น UNO, Leonardo, micro, pro mini, BT, Mega2560 เป็นต้น ซึ่งแต่ละรุ่น จะมี spec ที่ไม่เหมือนกัน ได้แก่ ขนาด, ความจุ, ความเร็ว, จำนวนขา I/O ผู้เล่นสามารถเลือกให้เหมาะสมกับงานของตัวเองได้ รุ่นที่เห็นว่าได้รับความนิยมในเมืองไทยมากๆ ก็คงจะเป็นรุ่น UNO

บอร์ด 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

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega328
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O14 พอร์ต (มี 6 พอร์ต PWM output)
พอร์ต Analog Input6 พอร์ต
กระแสไฟที่จ่ายได้ในแต่ละพอร์ต40mA
กระแสไฟที่จ่ายได้ในพอร์ต 3.3V50mA
พื้นที่โปรแกรมภายใน32KB พื้นที่โปรแกรม, 500B ใช้โดย Booloader
พื้นที่แรม2KB
พื้นที่หน่วยความจำถาวร (EEPROM)1KB
ความถี่คริสตัล16MHz
ขนาด68.6x53.4 mm
น้ำหนัก25 กรัม


Arduino Due

รูปที่ 4 บอร์ด Arduino Duo
Due เป็นภาษาอิตาลี แปลว่า สอง เป็นรุ่นที่เพิ่มพอร์ตให้มากขึ้นเป็น 54 พอร์ตดิจิตอลอินพุตเอาต์พุต และ 12 พอร์ตอนาล็อกอินพุต 2 พอร์ตอนาล็อกเอาต์พุต เพิ่มพื้นที่โปรแกรมเป็น 512KB สามารถใช้งานพื้นที่ได้เต็มไม่มี Bootloader เนื่องจากสามารถใช้กับพอร์ต USB ได้โดยตรง มีขนาดบอร์ด 101.52x53.3mm สามารถใช้ Shields ของ Arduino Uno ได้ แต่บางตัวจำเป็นต้องแก้ขาให้ถูกต้อง จากรูปที่ 4 จะเห็นได้ว่าบอร์ดได้เปลี่ยนมาใช้ชิปไอซีแบบ SMD จึงไม่นิยมนำมาใช้ในแบบ Standalone แต่นิยมนำมาใช้ในงานที่จำเป็นต้องพื้นที่โปรแกรมมากขึ้น ทำงานที่ซับซ้อนมากยิ่งขึ้น บอร์ด Arduino Due ใช้ชิปไอซีเบอร์ AT91SAM3X8E ซึ่งเป็นชิปไอซีที่ใช้เทคโนโลยี ARM Core สถาปัตยกรรม 32 บิต เร่งความถี่คริสตอลขึ้นไปสูงถึง 84Mhz จึงทำให้สามารถงานด้านการคำนวน หรือการประมวลผลอัลกอริทึมได้เร็วกว่า Arduino Uno มาก แต่เนื่องจากชิปไอซีทำงานที่แรงดัน 3.3V ดังนั้นการนำไปใช้งานกับเซ็นเซอร์ควรระวังไม่ให้แรงดัน 5V ไหลเข้าบอร์ด ควรใช้วงจรแบ่งแรงดันเพื่อช่วยให้ลอจิกลดแรงดันลงมาให้เหมาะสม

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์AT91SAM3X8E
ใช้แรงดันไฟฟ้า3.3V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 16V
พอร์ต Digital I/O54 พอร์ต (มี 12 พอร์ต PWM output)
พอร์ต Analog Input2 พอร์ต
กระแสไฟฟ้ารวมที่จ่ายได้ในทุกพอร์ต130mA
กระแสไฟที่จ่ายได้ในพอร์ต 3.3V800mA
กระแสไปที่จ่ายได้ในพอร์ต 5V800mA
พื้นที่โปรแกรมภายใน512KB พื้นที่โปรแกรม
พื้นที่แรม2KB
พื้นที่หน่วยความจำถาวร (EEPROM)96KB
ความถี่คริสตัล84MHz
ขนาด101.52x53.3 mm
น้ำหนัก36 กรัม


Arduino Leonardo

รูปที่ 5 บอร์ด Arduino Leonard
บอร์ด Arduino Leonard เป็นบอร์ดที่เลือกใช้ชิปไอซีเบอร์ ATmega32u4 ที่รองรับการเชื่อมต่อกับพอร์ต USB ได้โดยตรง ทำให้บอร์ดสามารถเขียนโปรแกรมเพื่อจำลองตัวเองให้เป็นเมาส์ หรือคีย์บอร์ดได้ ทำงานที่แรงดัน 5V ทำให้ไม่มีปัญหากับเซ็นเซอร์ หรือ  Shields ที่ใช้งานกับ Arduino Uno

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega32u4
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O20 พอร์ต (มี 7 พอร์ต PWM output)
พอร์ต Analog Input12 พอร์ต
กระแสไฟฟ้ารวมที่จ่ายได้ในทุกพอร์ต40mA
กระแสไปที่จ่ายได้ในพอร์ต 3.3V50mA
พื้นที่โปรแกรมภายใน32KB แต่ 4KB ถูกใช้โดย Bootloader
พื้นที่แรม2.5KB
พื้นที่หน่วยความจำถาวร (EEPROM)1KB
ความถี่คริสตัล16MHz
ขนาด68.6x53.3 mm
น้ำหนัก20 กรัม

 


Arduino MEGA ADK

 
รูปที่ 6 บอร์ด Arduino MEGA ADK R3
บอร์ด Arduino MEGA ADK ใช้ชิปไมโครคอนโทรเลอร์เบอร์ ATmaega2560 มีชิปไอซี USB Host เบอร์ MAX3421e มาให้บนบอร์ด ใช้สำหรับเชื่อมต่อกับโทรศัพท์มือถือแอนดรอยผ่าน OTG มีพอร์ตดิจิตอลอินพุตเอาต์พุตจำนวน 54 พอร์ต มีอนาล็อกอินพุตมาให้ 16 พอร์ต ทำงานที่ความถี่ 16MHz บอร์ด Arduino MEGA ADK จะแตกต่างกับบอร์ด Arduino Duo ตรงที่ชิปบนบอร์ดนั้นฉลาดไม่เท่า และใช้ความถี่ต่ำกว่า ดังนั้นจึงไม่เหมาะจะนำไปใช้กับงานคำนวณ แต่เหมาะสำหรับงานที่ใช้การเชื่อมต่อกับโทรศัพท์มือถือแอนดรอยมากกว่า

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega2560
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O54 พอร์ต (มี 15 พอร์ต PWM output)
พอร์ต Analog Input16 พอร์ต
กระแสไฟฟ้ารวมที่จ่ายได้ในทุกพอร์ต40mA
กระแสไปที่จ่ายได้ในพอร์ต 3.3V50mA
พื้นที่โปรแกรมภายใน256KB แต่ 8KB ถูกใช้โดย Bootloader
พื้นที่แรม8KB
พื้นที่หน่วยความจำถาวร (EEPROM)4KB
ความถี่คริสตัล16MHz
ขนาด101.52x53.3 mm
น้ำหนัก36 กรัม

 


Arduino Mega 2560

 
รูปที่ 7 บอร์ด Arduino Mega 2560 R3
บอร์ด Arduino Mega 2560 จะเหมือนกับ Arduino MEGA ADK ต่างกันตรงที่บนบอร์ดไม่มี USB Host มาให้ การโปรแกรมยังต้องทำผ่านโปรโตคอล UART อยู่ บนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega2560

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega2560
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O54 พอร์ต (มี 15 พอร์ต PWM output)
พอร์ต Analog Input16 พอร์ต
กระแสไฟฟ้ารวมที่จ่ายได้ในทุกพอร์ต40mA
กระแสไปที่จ่ายได้ในพอร์ต 3.3V50mA
พื้นที่โปรแกรมภายใน256KB แต่ 8KB ถูกใช้โดย Bootloader
พื้นที่แรม8KB
พื้นที่หน่วยความจำถาวร (EEPROM)4KB
ความถี่คริสตัล16MHz

 


Arduino Micro

รูปที่ 8 บอร์ด Arduino Micro
บอร์ด Arduino Micro ออกแบบให้มีขนาดที่เล็ก และทันสมัยกว่าบอร์ด Arduino Mini หรือ Arduino Nano เนื่องจากบนบอร์ดใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega32u4 ซึ่งมาพอร์ต USB สามารถเชื่อมต่อกับคอมพิวเตอร์ได้โดยตรง และมีดิจิตอลอินพุตเอาต์พุตมากถึง 20 พอร์ต มีพื้นที่เก็บโปรแกรมขนาด 32KB แต่ต้องใช้พื้นที่สำหรับ Bootloader ไป 4KB มีขนาดเพียง 48x18mm เนื่องจากบอร์ดใช้ชิปไอซีตัวเดียวกับ Arduino Leonardo ทำให้สามารถทำให้บอร์ดจำลองตัวเองเป็นเมาส์หรือคีย์บอร์ดเชื่อมต่อกับคอมพิวเตอร์ได้

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega32u4
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O20 พอร์ต (มี 7 พอร์ต PWM output)
พอร์ต Analog Input12 พอร์ต
กระแสไฟที่จ่ายได้ในแต่ละพอร์ต40mA
กระแสไปที่จ่ายได้ในพอร์ต 3.3V50mA
พื้นที่โปรแกรมภายใน32KB พื้นที่โปรแกรม, 4KB ใช้โดย Booloader
พื้นที่แรม2.5KB
พื้นที่หน่วยความจำถาวร (EEPROM)1KB
ความถี่คริสตัล16MHz
ขนาด48x18 mm
น้ำหนัก13 กรัม

 

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

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega168 หรือ ATmega328
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O14 พอร์ต (มี 6 พอร์ต PWM output)
พอร์ต Analog Input6 พอร์ต
กระแสไฟที่จ่ายได้ในแต่ละพอร์ต40mA
กระแสไปที่จ่ายได้ในพอร์ต 3.3V50mA
พื้นที่โปรแกรมภายใน16KB หรือ 32KB พื้นที่โปรแกรม, 500B ใช้โดยBooloader
พื้นที่แรม1 หรือ 2KB
พื้นที่หน่วยความจำถาวร (EEPROM)512B หรือ 1KB
ความถี่คริสตัล16MHz
ขนาด45x18 mm
น้ำหนัก5 กรัม

 


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 ก็สามารถนำมาจ่ายได้เลย

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega328
ใช้แรงดันไฟฟ้า5V
รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)7 – 12V
รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)6 – 20V
พอร์ต Digital I/O14 พอร์ต (มี 6 พอร์ต PWM output)
พอร์ต Analog Input8 พอร์ต
กระแสไฟที่จ่ายได้ในแต่ละพอร์ต40mA
พื้นที่โปรแกรมภายใน32KB พื้นที่โปรแกรม, 2KB ใช้โดย Booloader
พื้นที่แรม2KB
พื้นที่หน่วยความจำถาวร (EEPROM)1KB
ความถี่คริสตัล16MHz
ขนาด30x18 mm
น้ำหนักไม่ระบุ



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 ในการเชื่อมต่อเพื่อโปรแกรมเช่นเดิม

ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ATmega328
ใช้แรงดันไฟฟ้า3.3V หรือ 5V
รองรับการจ่ายแรงดันไฟฟ้า3.35 – 12V (ในโมเดลใช้ไฟ 3.3V) หรือ 5 – 12V (ในโมเดลใช้ไฟ 5V)
พอร์ต Digital I/O14 พอร์ต (มี 6 พอร์ต PWM output)
พอร์ต Analog Input6 พอร์ต
กระแสไฟที่จ่ายได้ในแต่ละพอร์ต40mA
พื้นที่โปรแกรมภายใน32KB พื้นที่โปรแกรม, 500B ใช้โดย Booloader
พื้นที่แรม2KB
พื้นที่หน่วยความจำถาวร (EEPROM)1KB
ความถี่คริสตัล8MHz (ในโมเดลใช้ไฟ 3.3V) หรือ 16MHz  (ในโมเดลใช้ไฟ 5V)



จุดเด่นที่ทำให้บอร์ด Arduino เป็นที่นิยม

  • ง่ายต่อการพัฒนา มีรูปแบบคำสั่งพื้นฐาน ไม่ซับซ้อนเหมาะสำหรับผู้เริ่มต้น
  • มี Arduino Community กลุ่มคนที่ร่วมกันพัฒนาที่แข็งแรง 
  • Open Hardware ทำให้ผู้ใช้สามารถนำบอร์ดไปต่อยอดใช้งานได้หลายด้าน
  • ราคาไม่แพง
  • Cross Platform สามารถพัฒนาโปรแกรมบน OS ใดก็ได้ 
  • ระบบเป็นแบบ Open Source ไม่มีลิขสิทธิ์ในการนำไปใช้งานต่อเชิงพานิชย์  แถมแจกไฟล์ที่ใช้ในการสร้างต้นแบบให้ฟรีๆ  ทำให้ประเทศผู้ผลิตอย่างจีนสามารถนำไปผลิตได้ในราคาสบายๆ โดยไม่ต้องกังวลเรื่องค่าลิขสิทธ์
  • ซอฟแวร์ หรือ Arduino IDE ที่ใช้ในการพัฒนายังแจกให้ฟรี  ดาว์ลโหลดกันได้อย่างถูกกฏหมาย  เอาไปใช้งานต่อ สร้างผลิตภัณฑ์แล้วขายต่อ ก็ไม่ต้องเสียเงินให้แบบไมโครคอนโทรลเลอร์เจ้าอื่นๆ
  • มีซอฟแวร์ (แบบฟรีๆ) ที่สร้างโดยคนใจดี เข้ามาร่วมอุดมการ (เช่น Fritzing และ Processing) กันอีก  ทำให้เกิดเป็นชุมชนขนาดใหญ์ที่มีเครื่องไม้เครื่องมือเข้ามาให้ใช้กันฟรีๆ เยอะมาก  ทั้ง Blog และ website สารพัด
  • ชุมชนคนใช้ Arduino ในต่างประเทศมีอยู่มากมาย หาได้จาก Website ดังๆ เช่น Arduino.cc ,  Makezine.com, instructables.com  เว็บพวกนี้แจกแบบร่างและไฟล์ติดตั้ง (Sketch) ให้ฟรีๆ เอาไปสร้างโดยหาวัสดุเอารอบๆตัวครับ

โพสต์ยอดนิยมจากบล็อกนี้

การใช้งาน IR Infrared Obstacle Avoidance Sensor Module

โมดูลเซ็นเซอร์แสงสำหรับตรวจจับวัตถุกีดขวาง   IR Infrared Obstacle Avoidance Sensor Module โมดูลเซ็นเซอร์แสงสำหรับตรวจจับวัตถุกีดขวาง    IR Infrared Obstacle Avoidance Sensor Module โดยโมดูลนี้ จะมีตัวรับและตัวส่ง infrared ในตัว ตัวสัญญาณ(สีขาว) infrared จะส่งสัญญาณออกมา และเมื่อมีวัตถุมาบัง คลื่นสัญญาณ infrared  ที่ถูกสั่งออกมาจะสะท้องกลับไปเข้าตัวรับสัญญาณ (สีดำ) สามารถนำมาใช้ตรวจจับวัตถุที่อยู่ตรงหน้าได้ และสามารถปรับความไว ระยะการตรวจจับ ใกล้หรือไกลได้ ภายตัวเซ็นเซอร์แบบนี้จะมีตัวส่ง Emitter และ ตัวรับ Receiver ติดตั้งภายในตัวเดียวกัน ทำให้ไม่จำเป็นต้องเดินสายไฟทั้งสองฝั่ง เหมือนแบบ Opposed Mode ทำให้การติดตั้งใช้งานได้ง่ายกว่า แต่อย่างไรก็ตามจำเป็นต้องติดตั้งตัวแผ่นสะท้อนหรือ Reflector ไว้ตรงข้ามกับตัวเซ็นเซอร์เอง โดยโฟโต้เซ็นเซอร์แบบที่ใช้แผ่นสะท้อนแบบนี้จะเหมาะสำหรับชิ้นงานที่มีลักษณะทึบแสงไม่เป็นมันวาว เนื่องจากอาจทำให้ตัวเซ็นเซอร์เข้าใจผิดว่าเป็นตัวแผ่นสะท้อน และ ทำให้ทำงานผิดพลาดได้ เซ็นเซอร์แบบนี้จะมีช่วงในการทำงาน หรือ ระยะในการตรวจจั...

การติดตั้ง Library ของ DHT Sensor DHT11 , DHT21 , DHT22

การติดตั้ง Library ของ DHT Sensor ไลบรารี DHT ใช้สำหรับในการให้เซ็นเซอร์ DHT  อ่านอุณหภูมิและความชื้นด้วย  Arduino หรือ ESP8266 ได้ คลิกที่นี่เพื่อดาวน์โหลดไลบรารี ของเซ็นเซอร์ DHT https://github.com/adafruit/DHT-sensor-library เปิดโปรแกรม Arduino IDE  ไปที่ Skecth -> Include Library -> Add .ZIP Library... ไปที่ ไลบรารี DHT-sensor-library ที่เรา ดาวน์โหลด มา ตรวจสอบที่ Skecth -> Include Library  จะพบ ไลบรารี DHT sensor library เพิ่มเข้ามาใน Arduino IDE ของเรา ไปที่ Skecth -> Include Library -> Manage Libraries... ไปที่ช่องค้นหา พิมพ์ DHT -> Enter (เพื่อค้นหา DHT sensor library ) เมื่อพบ DHT sensor library แล้ว ให้คลิก More info คลิกที่ Select Vers.. ในตัวอย่าง เลือก Version 1.2.3 คลิก Install คลิก Close เพิ่ม #include <DHT.h> ไปที่ส่วนบนสุดของโค้ด #include <DHT.h> void setup() {   // put your setup code here, to run once: }...

ESP32 #2: การติดตั้ง Arduino core for ESP32 WiFi chip

ในบทความนี้จะเป็นการแนะนำการติดตั้งโปรแกรม Arduino IDE ตั้งแต่ต้น ไปจนถึงการติดตั้งชุดพัฒนา Arduino core for ESP32 WiFi chip และ การตรวจสอบว่าติดตั้งสำเร็จหรือไม่ “Arduino” แต่เดิมเป็นแพลตฟอร์มที่ใช้ในการพัฒนาเฟิร์มแวร์ให้กับบอร์ด Arudino เท่านั้น แต่ภายหลังกลุ่มผู้พัฒนาโปรแกรม Arduino IDE ได้เริ่มรองรับการติดตั้งชุดพัฒนาเฟิร์มแวร์ให้กับบอร์ดอื่น ๆ ด้วย ทำให้บอร์ดอื่น ๆ ที่รองรับการเขียนโปรแกรมด้วยภาษา C/C++ สามารถเข้ามาใช้โปรแกรม Arduino IDE ในการพัฒนาได้ นอกจากข้อดีของโปรแกรม Arduino IDE แล้ว ชุดไลบารี่ต่าง ๆ ที่ทำมารองรับกับแพลตฟอร์ม Arduino ก็จะสามารถนำมาใช้งานกับบอร์ดอื่น ๆ ได้ด้วย การจะใช้ Arduino core for ESP32 กับ Arduino IDE ได้นั้น มีขั้นตอนดังนี้ คือ 1. ติดตั้งโปรแกรม Arduino (IDE) ลิงค์ดาวโหลด Arduino (IDE)  https://www.arduino.cc/en/Main/Software 2. ติดตั้ง แพลตฟอร์ม ESP32 ในการเริ่มต้นเราจะต้องอัปเดตผู้จัดการบอร์ดด้วย URL ที่กำหนดเอง เปิด Arduino IDE และไปที่ File > Preferences คัดลอก URL ด้านล่างลงใน Additional Board Manager URLs: แ...