เปลี่ยน esp8266 ให้สามารถใช้ภาษา python เขียนได้สุดล้ำ

 โดยปกติแล้วบอร์ด Arduino จะถูกเขียนด้วยชุดคำสั่งจากภาษา c++ ซึ่งการใช้งานอาจจะดูยากลำบากสำหรับผู้ที่เริ่มต้นศึกษา แต่ในปัจจุบันนี้เราสามารถใช้ภาษา python เขียนสั่งงานบอร์ด arduino ได้แล้วรูปแบบภาษาและการทำความเข้าใจก็ง่ายขึ้นมากเลยครับ แนะนำเลย

ขั้นตอนการทำ

ในบทความนี้ผมจะสาธิตโดยการใช้ NodeMCU ESP8266 ซึ่งข้อดีของบอร์ดนี้คือมันสามารถเชื่อมต่อ อินเทอร์เน็ต เน็ตเวิร์คได้ ทำให้สามารถสื่อสารเชื่อมต่อได้อย่างอิสระ

1. ดาวนฺโหลดโปรแกรม และ ติดตั้งโปรแกรม python ดูได้จากบทความนี้

2. ดาวน์โหลด uPyCraft IDE และติดตั้งให้เรียบร้อย

3. เสียบสาย USB เชื่อมต่อจากบอร์ด ESP8266 เข้ากับคอมพิวเตอร์ของเรา

ไปที่แถบด้านบนเมนู Tools > Serial เลือกพอร์ตให้ถูกต้อง

จากนั้นจะขึ้น หน้าต่างขึ้นมาให้เลือกบอร์ดเป็น esp8266 และติ้ก Users พักไว้ที่ขั้นตอนนี้ก่อน

4. จากนั้นสลับ เข้าไปยังเว็บไซต์ MicroPython เพื่อดาวน์โหลด Firmware ล่าสุดของ Esp8266 มาไว้ก่อน สำหรับใครที่ใช้แบบผมก็ตามนี้ได้เลยครับ https://micropython.org/download/ESP8266_GENERIC/

5. กลับไปที่โปรแกรมที่ทำค้างไว้อยู่ และ เลือกที่อยู่ของไฟล์ที่ดาวน์โหลดมาให้ถูกต้อง กด OK

จะขึ้นหน้าต่างให้เลือก choose เปิดไฟล์ firmware ที่ดาวน์โหลดมาให้เรียบร้อย จากนั้นกด ok โปรแกรมจะทำการ flash และ burn โปรแกรมให้อัตโนมัติ

เมื่อเสร็จแล้วให้รอสักพัก ทางด้านล่างของโปรแกรม จะมีลูกศร >> ขึ้นมาสามารถทดสอบพิมพ์ภาษา python ทดสอบได้เลย
ต่อมาผมจะทดสอบเขียน ให้ไฟที่ตัวของ esp8266 นั้นกระพริบได้ดูครับว่าเป็นยังไงบ้าง

ทดสอบการใช้งาน

แนะนำให้ใช้โปรแกรม Thonny โดยดาวน์โหลดได้ที่ https://thonny.org/ ติดตั้งให้เรียบร้อย

จากนั้นเมื่อเปิดโปรแกรมขึ้นมาแล้วให้ไปที่เมนู Tools > Options > เลือกเป็น MicroPython(ESP8266) และเลือก Com port ให้ถูกต้องจากนั้นกด OK



จากนั้นเขียนโค้ดดังนี้
import machine
import utime as time

LED_PIN = 2

def blink():
    led = machine.Pin(LED_PIN, machine.Pin.OUT)
    while True:
        led.on()
        time.sleep(0.3)
        led.off()
        time.sleep(0.3)
       
blink()

กดรันโค้ดโดยการกดปุ่มลูกศรสีเขียวด้านบนโปรแกรมจะถูกอัพโหลดเข้าไปยังบอร์ดและดูการเปลี่ยนแปลงของหลอดไฟ LED บน ESP8266
จากโค้ดจะเห็นได้ว่าตัวแปร LED_PIN = 2 นั้นหมายถึงการอ้างอิงให้ใช้ขา GPIO2 ซึ่งคือขาเดียวกันกับ LED สีฟ้าบนบอร์ด โดยเพื่อนๆสามารถดูว่าขาไหนคือขาอะไรได้จาก EPS8266 Pinout



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

0 ความคิดเห็น