Python มีการใช้กันอย่างแพร่หลายในด้านการศึกษาและการเรียนรู้ Machine Learning และความสามารถ หลายๆอย่าง เช่น คุณสามารถใช้ควบคุมบอร์ด Arduino. ใช่แน่นอนคุณสามารถใช้ภาษาการเขียนโปรแกรม Python เพื่อสร้างโปรแกรมของคุณเพื่อควบคุม Arduino ได้โดยไม่มีปัญหาและด้วยวิธีง่ายๆ เราจะมาอธิบายวิธีการทำทีละขั้นตอน
รายการอุปกรณ์
ขั้นตอนการทํางาน
1 : โปรแกรมแรก กับ Arduino Keyestudio PLUS
สวัสดีชาวโลก (Hello World) คือ คำง่าย ๆ สำหรับการเขียนโปรแกรมแรกของโปรแกรมเมอร์ เป็นโปรแกรมคอมพิวเตอร์พื้นฐานที่ทำการแสดงผลคำว่า “Hello world” บนอุปกรณ์แสดงผล ซึ่งเป็นหนึ่งในโปรแกรมที่ง่ายที่สุดเท่าที่จะเป็นไปได้ในการเขียนภาษาโปรแกรมต่างๆ ตามขั้นตอนลิงค์ด้านล่าง
2 : อัพโหลดโค้ด เพื่อรอคำสั่งจาก Python

อัพโหลดโค้ด ด้านล่างไปยังบอร์ด Arduino UNO R3 รุ่น Keyestudio PLUS
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
String readString;
String Q;
while (Serial.available()) {
delay(1);
if (Serial.available() > 0) {
char c = Serial.read();
if (isControl(c)) {
break;
}
readString += c;
}
Q = readString;
if (Q == "LED13-ON") {
digitalWrite(13, HIGH);
}
if (Q == "LED13-OFF") {
digitalWrite(13, LOW);
}
}
}

3: โปรแกรมแรก Python กับ PyCharm บน Windows 10
ติดตั้ง Python เวอร์ชั่น 3.7.6 ลงบน Windows และ ติดตั้งโปรแกรม PyCharm การเพิ่มแพคเก็จ ตามขั้นตอนลิงค์ด้านล่าง
4: เพิ่มแพคเก็จ pySerial เข้าไปที่ โปรแกรม PyCharm
โมดูล pySerial ทำหน้าที่เป็นตัวคอยเชื่อมโยง Python ให้สามารถส่งข้อมูลออกทางพอร์ตอนุกรม (serial port) ของคอมพิวเตอร์ได้ โดยใช้โมดูล PySerial นี้รันเป็นแบล๊กกราวด์ของโปรแกรม
เพิ่มแพคเก็จ pySerial โดยไปที่ File -> Settings… -> Python Interpreter -> คลิกเครื่องหมาย +
ทีช่องค้นหา พิมพ์ pyserial -> คลิกที่ pyserial -> Install Package

แสดงการติดตั้งสำเร็จ แล้วปิดหน้าต่างลงไป

แสดง แพคเก็จ pyserial ที่เพิ่มเข้ามา -> OK

สร้างไฟล์ Python โดยคลิกขวาที่โฟลเดอร์ venv -> New -> Python File ชื่อ test-arduino


เขียนโค้ดดังนี้
import serial
import time
ser = serial.Serial("COM3", 9600)
while True:
input_value = "LED13-ON"
print(input_value)
ser.write(input_value.encode())
time.sleep(2)
input_value = "LED13-OFF"
print(input_value)
ser.write(input_value.encode())
time.sleep(2)
โดยโค้ด “COM3” แก้ไขตามข้อมูล Ports (COM & LPT) ของคอมพิวเตอร์แต่ละเครื่อง

ทดสอบการทำงานโดย คลิกขวา ในพื้นที่การเขียนโค้ด -> Run ‘test-arduino’


ไฟ LED ที่เชื่อมต่อกับขา 13 ของ Arduino กระพริบ ติด-ดับ ทุก 2 วินาที แสดงว่าการทดสอบสำเร็จแล้ว
