วันเสาร์ที่ 11 พฤศจิกายน พ.ศ. 2560

ESP32 #3: โปรแกรมแรก Hello World กับ DevKitC ESP32




Hello World เป็นโปรแกรมไหว้ครู เป็นการฝึกการเขียนโปรแกรมครั้งแรกกับบอร์ด DevKitC ESP32 


บอร์ด DevKitC ESP32 ที่เรากำลังใช้อยู่นั้นสามารถติดต่อสื่อสารกับอุปกรณ์ภายนอกได้ และการทดลองติดต่อสื่อสารที่ทำได้ง่ายและเห็นภาพที่สุดคือการสั่งงานให้ DevKitC ESP32 สื่อสารกับคอมพิวเตอร์ของเรา ผ่านทางพอร์ทอนุกรม (Serial Port) โดยการให้มันส่งข้อความอะไรบางอย่างมาที่คอมของเรา สำหรับในส่วนนี้ยังไม่มีการต่อวงจรเพิ่มเติม มีเพียงแค่มีสาย MicroUSB กับบอร์ด DevKitC ESP32 ก็เริ่มทดลองกันได้เลย


อุปกรณ์ที่ใช้



1. DevKitC V2 ESP32 Development Board WiFi + Bluetooth

2. Micro USB Cable Wire 1m for NodeMCU

3.
 Breadboard 8.5CM x 5.5CM 400 holes (โฟโต้บอร์ด)


หมายเหตุ : ก่อนทำการทดลองนี้ ต้องผ่านการติดตั้ง Arduino core for ESP32 WiFi chip มาก่อน

ถ้ายังไม่ได้ติดตั้ง ให้ติดตั้งตามขั้นตอนลิงค์ด้านล่าง ก่อน


https://esp32robot.blogspot.com/2017/11/esp32-2-arduino-core-for-esp32-wifi-chip.html



โปรแกรมแรก Hello World กับ DevKitC ESP32



ประกอบ DevKitC ESP32 เข้ากับ Breadboard


เชื่อมต่อสาย Micro USB ระหว่าง คอมพิวเตอร์ กับ ESP32






ตรวจสอบการติดตั้งไดร์เวอร์ ของ DevKitC ESP32


ที่หน้าจอคอมพิวเตอร์ คลิกขวาที่ Computet -> Properties

  




คลิกที่ Device Manager




ที่ Ports (COM & LPT) จะพบ 
ไดร์เวอร์ ของ ESP32

ในตัวอย่างเป็น  
Silicon Labs CP210x USB to UART Bridge (COM12)




เปิด โปรแกรม Arduino IDE ขึ้นมา




โครงสร้างการทำงานของ Arduino IDE


โปรแกรม หรือ  Sketch ของ Arduino IDE จะมี ฟังก์ชัน อย่างน้อย 2 ฟังก์ชัน คือ "void setup" กับ "void loop"

อธิบายการทํางานหลักๆได้ดังนี้


void setup() 
//ฟังก์ชันส่วนนี้จะทำงานครั้งแรก เพียงครั้งเดียวเท่านั้น
//เริ่มการทำงานของฟังก์ชัน setup


  //ส่วนของคำสั่ง

//สิ้นสุดการทำงานของฟังก์ชัน setup

void loop() //ฟังก์ชันส่วนนี้จะทำงานซ้ำ วนลูป ไปเรื่อยๆ
//เริ่มการทำงานของฟังก์ชัน loop

//ส่วนของคำสั่ง

//สิ้นสุดการทำงานของฟังก์ชัน loop แต่ให้กลับไปทำงานใหม่




คำสั่งแรก ของ
ฟังก์ชัน setup ที่ต้องใช้ในการเริ่มต้นสื่อสารคือ การกำหนดความเร็วในการสื่อสาร ด้วยคำสั่ง

Serial.begin(115200);


โดยตัวเลขที่อยู่ในวงเล็บคือค่าความเร็วในการรับ-ส่งข้อมูล ค่ามาตรฐานสำหรับ ESP32 คือ 115200 



และคำสั่ง ของ 
ฟังก์ชัน loop สำหรับสั่งให้ บอร์ดส่งข้อความมาที่คอมพิวเตอร์ของเรา คือ

Serial.println("Hello World");



เริ่มเขียนโปรแกรม หรือ  Sketch  ตามโค้ดด้านล่างนี้



void setup() 

{
   Serial.begin(115200);
}

void loop() 
{
   Serial.println("Hello World");
}





ไปที่ Tools -> Board เลือก "ESP32 Dev Module"





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

ในตัวอย่างเลือกเป็น "COM12"




ไปที่ Tools -> Upload Speed : เลือกเป็น "115200"


กดปุ่ม 
 เพื่ออัพโหลด



ตั้งชื่อไฟล์ เป็น Hello_World_DevKitC -> Save



โปรแกรม จะทำการ อัพโหลด



ถ้ามีปัญหา อัพโหลด ไม่เข้า



ให้กดปุ่ม  BOOT บนบอร์ด ของ DevKitC ESP32 ค้างไว้สักครู่ ในขณะที่ทำการอัพโหลดโปรแกรม แล้วปล่อยเมื่อโปรแกรมเริ่มอัพโหลด



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




ไปที่เมนู Tools -> Serial Monitor




เลือก Both NL & CR และ เลือก 115200 baud


ถ้าได้ข้อความดังรูป แสดงว่า DevKitC ESP32 ของเรา นั้นพร้อมใช้งานกับ Arduino IDE แล้ว

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

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