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

การใช้งาน Arduino IDE เเละ ESP 32

“Arduino” แต่เดิมเป็นแพลตฟอร์มที่ใช้ในการพัฒนาเฟิร์มแวร์ให้กับบอร์ด Arudino เท่านั้น แต่ภายหลังกลุ่มผู้พัฒนาโปรแกรม Arduino IDE ได้เริ่มรองรับการติดตั้งชุดพัฒนาเฟิร์มแวร์ให้กับบอร์ดอื่น ๆ ด้วย ทำให้บอร์ดอื่น ๆ ที่รองรับการเขียนโปรแกรมด้วยภาษา C/C++ สามารถเข้ามาใช้โปรแกรม Arduino IDE ในการพัฒนาได้ นอกจากข้อดีของโปรแกรม Arduino IDE แล้ว ชุดไลบารี่ต่าง ๆ ที่ทำมารองรับกับแพลตฟอร์ม Arduino ก็จะสามารถนำมาใช้งานกับบอร์ดอื่น ๆ ได้ด้วย นอกจากนี้แพลตฟอร์ม Arduino ยังมีชุมชนขนาดใหญ่ ทั้งในประเทศไทยเอง และในต่างประเทศ ทำให้สามารถค้นหาข้อมูลได้ง่าย
ในบทนี้จะเป็นการแนะนำการติดตั้งโปรแกรม Arduino IDE ตั้งแต่ต้น ไปจนถึงการติดตั้งชุดพัฒนา Arduino core for ESP32 และปิดท้ายด้วยการทดสอบอัพโปรแกรมไฟกระพริบลงบอร์ด NodeMCU-32S

การติดตั้งโปรแกรม Arduino IDE

เข้าไปที่เว็บไซต์ https://www.arduino.cc/ เลือกเมนู SOFTWARE

เลื่อนไปที่หัวข้อ Download the Arduino IDE จากนั้นเลือกดาวน์โหลดตาม OS ที่ต้องการ


จากนั้นจะมีหน้าให้เลือกบริจาค หากไม่ต้องการบริจาคให้คลิกที่ JAST DOWNLOAD


จากนั้นจะมีไฟล์ขึ้นมาให้ดาวน์โหลด ให้รอดาวน์โหลดซักครู่


เมื่อดาวน์โหลดเสร็จแล้ว ให้เปิดไฟล์ติดตั้งโปรแกรมขึ้นมา จะพบหน้ารายละเอียดข้อตกลงการใช้งานโปรแกรม ให้กดปุ่ม 


หน้านี้จะให้เลือกว่าจะติดตั้งอะไรบ้าง ให้กดที่ปุ่ม 

หน้านี้จะให้เลือกโฟลเดอร์ที่จะเก็บไฟล์โปรแกรม ให้กดปุ่ม 

รอติดตั้งโปรแกรมซักครู่


เมื่อติดตั้งเสร็จแล้ว จะขึ้นคำว่า Completed ดังรูป ให้กดปุ่ม  เพื่อปิดได้เลย


ไอค่อนของโปรแกรม Arduino IDE จะเพิ่มขึ้นมาบนหน้าเดสทอป


การติดตั้ง Arduino core for ESP32
ก่อนอื่น ต้องติดตั้งโปรแกรม Git ก่อน ให้เข้าไปที่หน้าเว็บ https://git-scm.com/download/win จะมีไฟล์ขึ้นมาให้ดาวน์โหลดอัตโนมัติ


จะมีรายละเอียดเงื่อนไขการใช้งานโปรแกรมขึ้นมา ให้กดปุ่ม 

ในหน้านี้ ให้ติ้กเลือกตามรูปให้ครบ จากนั้นกดปุ่ม 

หน้าต่อไปนี้ ให้กดปุ่ม  ไปเรื่อย ๆ





ในหน้าสุดท้ายนี้ ให้คลิกปุ่ม 

รอติดตั้งโปรแกรมซักครู่


เมื่อติดตั้งเสร็จเรียบร้อยแล้ว ให้ติ๊กเลือก Launch Git Bash แล้วกดปุ่ม 


จะมีหน้าต่าง Bash ขึ้นมา ให้พิมพ์ชุดคำสั่งต่อไปนี้ (พิมพ์ติดกัน ไม่เว้นบรรทัด) จากนั้นกดปุ่ม Enter
mkdir ./Documents/Arduino/hardware/espressif -p && cd ./Documents/Arduino/hardware/espressif && git clone https://github.com/espressif/arduino-esp32.git esp32


เมื่อเสร็จแล้ว จะแสดงประมาณดังรูป


เข้าไปที่ Documents\Arduino\hardware\espressif\esp32\tools ดับเบิลคลิกเปิดไฟล์ get.exe ขึ้นมา

โปรแกรมจะดาวน์โหลดซอฟแวร์ต่าง ๆ มาลง รอจนกว่าหน้าต่างนี้จะปิดไป


เปิดโปรแกรม Arduino IDE ขึ้นมา ผ่านไอค่อน  บนหน้าเดสทอป กดไปที่เมนู Tool > Board หากมีบอร์ด NodeMCU-32S ขึ้นมาให้เลือก ถือว่าติดตั้งสำเร็จแล้ว






ทดสอบอัพโหลดโปรแกรมไฟกระพริบ
เมื่อมาถึงขั้นตอนนี้ ให้นำบอร์ด NodeMCU-32S เสียบเข้ากับคอมพิวเตอร์ หากมีการสแกนหาไดร์เวอร์ ให้รอจนติดตั้งไดร์เวอร์เสร็จก่อน
ที่โปรแกรม Arduino กดไปที่เมนู File > 01.Basics เลือก Blink โค้ดโปรแกรมไฟกระพริบจะเปิดขึ้นมา


จากนั้นกดไปที่ Tools > Board เลือก NodeMCU-32S


กดไปที่ Tool > Port แล้วเลือกพอร์ตที่ปรากฏ (กรณีใช้เครื่องคอมพิวเตอร์ที่มี COM Port ให้เลือกตัวอื่นที่ไม่ใช่ COM1)

กดปุ่ม  เพื่ออัพโหลด แล้วรอซักครู่

หากสามารถอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จ จะแสดงคำว่า Done uploading. ที่แถบด้านล่าง


แล้วหลอด LED สีฟ้าที่อยู่บนบอร์ด NodeMCU-32S จะกระพริบทุก ๆ วินาที เป็นอันเสร็จสิ้นการทดสอบอัพโหลดโปรแกรม

การใช้งานโปรแกรม Arduino IDE เบื้องต้น
โปรแกรม Arduino เป็นโปรแกรมที่ใช้เขียนโปรแกรมในแพลตฟอร์ม Arduino มีส่วนประกอบสำคัญคือส่วนสำหรับพิมพ์ / แก้ไขโค้ดโปรแกรม การใช้งานโปรแกรม Arduino เบื้องต้นแบ่งได้ดังนี้
การสร้างงานใหม่
การสร้างงานใหม่สามารถทำได้หลายวิธีดังนี้
สร้างงานใหม่โดยกดไปที่ File > New – หรือกดปุ่มคีย์ลัด Ctrl + N


สร้างงานใหม่โดยเปิดตัวอย่าง – กดไปที่ File > Examples > 01.Basics > BareMinimum จากนั้นโครงสร้างการเขียนโปรแกรมจะแสดงขึ้นมา สามารถบันทึกเป็นไฟล์งานใหม่แยกได้เลย


การบันทึก / เรียกดูไฟล์งาน
ไฟล์งานของโปรแกรม Arduino จะเป็นไฟล์ที่มานามสกุลเป็น ino เมื่อเลือกโฟลเดอร์ที่ทำการบันทึกแล้ว โปรแกรมจะสร้างโฟลเดอร์งานขึ้นมาให้อัตโนมัติ แล้วจึงบันทึกงานลงในโฟลเดอร์นั้น และโดยปกติแล้วมักนิยมเก็บไฟล์งานไว้ในโฟลเดอร์ที่มีการสร้างไว้แล้วใน Documents\Arduino
การบันทึกงานสามารถทำได้โดยกดไปที่คีย์ File > Save หรือคีย์ลัด Ctrl + S


แต่หากมีการบันทึกงานไว้แล้ว ต้องการบันทึกในชื่อใหม่ ให้กดไปที File > Save As… แล้วเลือกโฟลเดอร์ที่เก็บงานได้เลย หรือกดคีย์ลัด Ctrl + Shift + S


การเปิดไฟล์งานสามารถทำได้หลายวิธี โดยวิธีแรกคือกดไปที่ File > Open หรือคีย์ลัด Ctrl + O จากนั้นไปเลือกไฟล์นามสกุล ino เพื่อเปิด


หรือหากต้องการเปิดไฟล์งานที่เคยเปิดเมื่อไม่นานมานี้ สามารถเลื่อนไปที่ File > Open Recent แล้วเลือกชื่องานได้เลย

กรณีต้องการเปิดไฟล์งานที่ไม่ได้เปิดมานานแล้ว และอยู่ในโฟลเดอร์ Documents\Arduino สามารถเลื่อนไปเลือกเปิดงานที่ต้องการได้ในเมนู File > Sketchbook


การเปิดตัวอย่างโค้ดโปรแกรม
ในโปรแกรม Arduino IDE จะมีตัวอย่างโค้ดโปรแกรมต่าง ๆ เพื่อใช้เรียนรู้การใช้งานแพลตฟอร์ม Arduino สามารถกดไปดูตัวอย่างได้ที่เมนู File > examples โค้ดตัวอย่างจะแบ่งออกเป็นหมวดหมู่ต่าง ๆ ให้เลือกเปิดขึ้นมาทดลองอัพโหลด


การตั้งค่าโปรแกรม
ในโปรแกรม Arduino จะมีส่วนของการตั้งค่าที่เลือกให้เปิด-ปิดความสามารถบางอย่างได้ โดยกดไปที่เมนู File > Preferences


จะมีตัวเลือกต่าง ๆ ให้สามารถตั้งค่าได้ สามารถดูได้ดังรูปนี้ เมื่อตั้งค่าต่าง ๆ ตามพอใจแล้ว ให้กดปุ่ม OK เพื่อบันทึก แล้วการตั้งค่าต่าง ๆ จะมีผลทันที


การจัดรูปแบบโค้ดโปรแกรมอัตโนมัติ
ในการเขียนโค้ดโปรแกรมจะต้องมีการจัดโค้ดโปรแกรมตลอดเวลาเพื่อให้สามารถเข้าใจได้ง่าย หากเป็นการคัดลอกโค้ดมาจากที่อื่นแล้วต้องการจัดรูปแบบ สามารถกดไปที่ Tool > Auto Format หรือคีย์ลัด Ctrl + T

การเรียกดูฟังก์ชั่นทั้งหมดที่มีให้ใช้ในโปรแกรม Arduino
ในโปรแกรม Arduino IDE จะมีฟังก์ชั่นส่วนหนึ่งที่มีมาในโปรแกรมอยู่แล้ว ไม่ต้องติดตั้งไลบารี่เพิ่ม ซึ่งเราสามารถเรียกดูรายละเอียดของฟังก์ชั่นเหล่านั้น รวมไปถึงรายละเอียดการใช้งานและตัวอย่างได้ โดยกดไปที่ Help > Reference


จากนั้นหน้าเว็บไซต์จะเปิดขึ้นมา แสดงรายชื่อฟังก์ชั่นทั้งหมดพร้อมแบ่งเป็นหมวดหมู่


การใช้ Serial Monitor / Serial Plotter
Serial ถือเป็นช่องทางการสื่อสารหลักที่ใช้ดีบัคโค้ดโปรแกรมในแพลตฟอร์ม Arduino การใช้งาน Serial จะแบ่งออกเป็น แบบ คือแสดงผลแบบข้อความ ใช้ Serial Monitor และแสดงผลแบบกราฟ ใช้ Serial Plotter
การเรียก Serial Monitor ขึ้นมาใช้งาน ให้กดไปที่เมนู Tool > Serial Monitor หรือคีย์ลัด Ctrl + Shift + M

เมื่อเปิดขึ้นมาแล้วจะต้องเลือกความเร็วก่อนเสมอ โดยสามารถเลือกได้ที่ด้านล่างของหน้าต่าง


การเรียก Serial Plotter ขึ้นมาใช้งาน สามารถทำได้โดยคลิกไปที่ Tool > Serial Plotter หรือกดคีย์ลัด Ctrl + Shift + L


เมื่อเปิดขึ้นมาแล้ว ให้เลือกความเร็วที่ใช้ แล้วกราฟจะปรากฏออกมา การใช้ Serial Plotter จะใช้ได้เฉพาะมีการส่งข้อมูลมาเป็นตัวเลขเท่านั้น


การใช้ปุ่มลัด
ปุ่มลัดเป็นปุ่มที่อยู่ระหว่างแถมเมนูและช่อง Editor กลุ่มปุ่มลัดจะใช้ไอค่อยต่าง ๆ แสดงผลการทำงานของปุ่ม ซึ่งสามารถดูคำอธิบายแต่ละปุ่มได้ดังรูป


การติดตั้งไลบารี่
ไลบารี่ คือชุดโค้ดโปรแกรมที่มีผู้อื่นเขียนไว้เพื่ออำนวยความสะดวกในการเขียนโค้ด และลดความยุ่งยากในการพัฒนางาน การใช้งานอุปกรณ์ต่อร่วมต่าง ๆ มักต้องมีการติดตั้งไลบารี่เพิ่มเติม ซึ่งการติดตั้งไลบารี่สามารถทำได้หลายวิธีดังนี้
ใช้ Libary Manager – เป็นส่วนที่มีมาในโปรแกรม Arduino IDE เพื่ออำนวยความสะดวกในการติดตั้งไลบารี่ โดยในส่วนนี้สามารถติดตั้งไลบารี่ที่ดัง ๆ หรือมีการใช้งานจำนวนมากได้ การเปิด Libary Manager ขึ้นมาใช้งานให้กดไปที่ Sketch > Include Library > Manage Libraties…


หลังจากนั้นโปรแกรมจะไปดาวน์โหลดรายชื่อไลบารี่ทั้งหมดมาให้ หลังจากโหลดเสร็จแล้วสามารถพิมพ์ชื่อไลบารี่ที่ต้องการติดตั้ง เลือกเวอร์ชั่นที่ต้องการติดตั้ง แล้วกดปุ่ม Install เพื่อติดตั้งได้เลย


เมื่อติดตั้งไลบารี่แล้ว จะปรากฏคำว่า INSTALLED ดังรูป


การติดตั้งไลบารี่ด้วยไฟล์ .zip – ไฟล์ไลบารี่ที่มีนามสกุลเป็น zip สามารถติดตั้งได้โดยกดไปที่ Sketch > Include Library > Add .ZIP Library…


จากนั้นเลือกไฟล์นามสกุล zip เพื่อติดตั้งได้เลย
การติดตั้งไลบารี่ด้วยการคัดลอกลงโฟลเดอร์ – กรณีไฟล์ไลบารี่ที่ได้มาไม่เป็นนามสกุล zip โดยอาจะเป็นนามสกุล rar หรือ 7z ก็ตามแต่ สามารถติดตั้งได้โดยคลายไฟล์แล้วนำไปวางไว้ในโฟลเดอร์ Documents\Arduino\libraries ได้เลย แต่มีข้อจำกัดว่าชื่อโฟลเดอร์ของไลบารี่ต้องมีเว้นวรรค


เซ็นเซอร์วัดความชื้นในดิน Soil Moisture Sensor 

ใช้วัดความชื้นในดิน หรือใช้เป็นเซ็นเซอร์น้ำ สามารถต่อใช้งานกับไมโครคอนโทรลเลอร์โดยใช้อนาล็อกอินพุตอ่านค่าความชื้น หรือเลือกใช้สัญญาณดิจิตอลที่ส่งมาจากโมดูล สามารถปรับความไวได้ด้วยการปรับ Trimpot
ประกอบไปด้วย
  • แผ่น PCB สำหรับเสียบลงดินเพื่อวัดค่าความชิ้น
  • โมดูลวัด และประมวลผล
  • สายจั้มตัวเมีย - เมีย จำนวน เส้น
หลักการทำงาน
การใช้งาน จะต้องเสียบแผ่น PCB สำหรัลวัดลงดิน เพื่อให้วงจรแบ่งแรงดันทำงานได้ครบวงจร จากนั้นจึงใช้วงจรเปรียบเทียบแรงดันโดยใช้ไอซีออปแอมปเบอร์ LM393 เพื่อวัดแรงดันเปรียบเทียบกันระหว่างแรงดันดันที่วัดได้จากความชิ้นในดิน กับแรวดันที่วัดได้จากวงจรแบ่งแรงดันปรับค่าโดยใช้ Trimpot หากแรงดันที่วัดได้จากความชิ้นของดิน มีมากกว่า ก็จะทำให้วงจรปล่อยลอจิก ไปที่ขา D0 แต่หากความชิ้นในดินมีน้อย ลอจิก จะถูกปล่อยไปที่ขา D0
ขา A0 เป็นขาที่ต้อโดยตรงกับวงจรที่ใช้วงความชื้นในดิน ซึ่งให้ค่าแรงดันออกมาตั้งแต่ 0 - 5V (ในทางอุดมคติ) โดยหากความชิ้นในดินมีมาก แรงดันที่ปล่อยออกไปก็จะน้อยตามไปด้วย ในลักษณะของการแปรผันกลับ


การนำไปใช้งาน
หากนำไปใช้งานด้านการวัดความชื้นแบบละเอียด แนะนำให้ใช้งานขา A0 ต่อเข้ากับไมโครคอนโทรลเลอร์เพื่อวัดค่าแรงดันที่ได้ ซึ่งจะได้ออกมาใช้เปรียบเทียบค่าความชื้นได้ หากมีความชื้นน้อย แรงดันจะใกล้ 5V มาก หากความชิ้นมาก แรงดันก็จะลดต่ำลง
หากต้องการนำไปใช้ในโปรเจคที่ไม่ต้องใช้วัดละเอียด เช่น โปรเจครดน้ำต้นไม้ ใช้ควบคุมปั้มน้ำให้รดน้ำต้นไม้อัตโนมัติ สามารถนำขา D0 ต่อเข้ากับทรานซิสเตอร์กำลังเพื่อสั่งให้ปั้มน้ำ หรือโซลินอยให้ทำงานเพื่อให้มีน้ำไหลมารดต้นไม้ได้เลย เมื่อความชิ้นในดินมีมากพอ จะปล่อยลอจิก แล้วทรานซิสเตอร์จะหยุดนำกระแส ทำให้ปั้มน้ำหยุดปล่อยน้ำ






การทดสอบเซนเซอร์วัดความชื้นสัมพัทธ์ในดินกับLED



 ทำการทดสอบตามโค้ตดังรูป


เมื่ออัพโหลดโค้ดลงกับบอร์ด ESP32 ทดสอบเชื่อมต่อบอร์ด ESP32 กับ เซ็นเซอร์วัดความชื้นในดิน Soil Moisture Sensor และ LED แล้วทำการเปิด Monitor ในโปรแกรม Arduino IDE จะเป็นค่าความชื้นขณะอยู่กลางอากาศ




ทดลองนำ เซ็นเซอร์วัดความชื้นในดิน Soil Moisture Sensor ลงดิน



ทำการเปิด Monitor ในโปรแกรม Arduino IDE ขณะเซ็นเซอร์วัดความชื้นในดิน Soil Moisture Sensor อยู่ในดินที่แห้ง ซึ่งในโปรแกรมกำหนดไว้ที่ ค่ามากกว่า700 ถือว่าแห้ง (ระดับความแห้งสามารถกำหนดได้)ทำให้LEDติด




ทำการเปิด Monitor ในโปรแกรม Arduino IDE ขณะเซ็นเซอร์วัดความชื้นในดิน Soil Moisture Sensor อยู่ในดินที่เปียก ซึ่งในโปรแกรมกำหนดไว้ที่ ค่าต่ำกว่า700 ถือว่าเปียก(ระดับความแห้งสามารถกำหนดได้)ทำให้ LED ดับ



ความคิดเห็น