วิธีตั้งโปรแกรม Arduino ด้วย Python: คู่มือปฏิบัติฉบับสมบูรณ์

  • การบูรณาการ Arduino และ Python ช่วยให้โครงการมีความอเนกประสงค์และมีประสิทธิภาพ
  • PySerial เป็นกุญแจสำคัญในการสร้างการสื่อสารระหว่างทั้งสองผ่านทางพอร์ตอนุกรม
  • คุณสามารถบรรลุทั้งงานขั้นพื้นฐานและขั้นสูง รวมถึงเซ็นเซอร์และวิชันซิสเต็ม
  • การระบุพอร์ตอนุกรมและการกำหนดค่าสภาพแวดล้อมทั้งสองเป็นขั้นตอนสำคัญ

หลาม Arduino

การเขียนโปรแกรม Arduino ด้วย Python เปิดโลกแห่งความเป็นไปได้สำหรับผู้ที่หลงใหลเกี่ยวกับอิเล็กทรอนิกส์และการพัฒนาซอฟต์แวร์ การรวมเครื่องมือทั้งสองนี้เข้าด้วยกันทำให้คุณสามารถรวมความสามารถรอบด้านของ Arduino ในฐานะไมโครคอนโทรลเลอร์เข้ากับพลังและความเรียบง่ายของ Python เพื่อสร้างโปรเจ็กต์เชิงนวัตกรรม ในบทความนี้ คุณจะได้เรียนรู้วิธีเชื่อมโยงโลกทั้งสองและเจาะลึกขั้นตอนสำคัญเพื่อเริ่มพัฒนาแอปพลิเคชันของคุณเองโดยใช้เทคโนโลยีเหล่านี้

แพลตฟอร์มฮาร์ดแวร์ซึ่งเป็นแพลตฟอร์มของ hardware libreเป็นที่รู้จักในด้านความสะดวกในการใช้งานและการปรับตัวในขณะเดียวกัน หลามซึ่งเป็นภาษาการเขียนโปรแกรมระดับสูง โดดเด่นด้วยความเรียบง่ายและมีประสิทธิภาพ แม้ว่าโดยปกติ Arduino จะถูกตั้งโปรแกรมในภาษาของตัวเองโดยใช้ C++ แต่ก็สามารถสื่อสารกับ Arduino ได้โดยใช้ Python ต้องขอบคุณไลบรารีเช่น พีซีเรียลซึ่งทำให้สามารถสื่อสารผ่านพอร์ตอนุกรมได้ ที่นี่เราจะสำรวจวิธีการบูรณาการนี้อย่างละเอียดตั้งแต่หลักการพื้นฐานไปจนถึงตัวอย่างเชิงปฏิบัติขั้นสูง

ข้อกำหนดในการเริ่มต้น

ก่อนที่จะเริ่มเขียนโปรแกรม Arduino ด้วย Python สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่าคุณมีเครื่องมือและการกำหนดค่าที่จำเป็น:

  • บอร์ด Arduino: แบบอย่าง Arduino UNO,นาโนหรือเมก้าเหมาะมากสำหรับโครงการประเภทนี้
  • เคเบิล USB: จำเป็นในการเชื่อมต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์
  • ติดตั้งหลามแล้ว: คุณสามารถดาวน์โหลด Python เวอร์ชันล่าสุดได้จากเว็บไซต์อย่างเป็นทางการ
  • ติดตั้งไลบรารี PySerial: ไลบรารีนี้มีความสำคัญอย่างยิ่งต่อการสร้างการสื่อสารระหว่าง Arduino และ Python ติดตั้งโดยการรันคำสั่ง pip install pyserial.

การกำหนดค่าพื้นฐานบน Arduino

ขั้นตอนแรกในการเชื่อมต่อ Arduino กับ Python คือการกำหนดค่า ร่าง จากอาดูโน่ รหัสนี้ซึ่งเขียนใน Arduino IDE จะช่วยให้บอร์ดสามารถรับและประมวลผลข้อมูลที่ Python ส่งไปได้ ตัวอย่างเช่น โปรแกรมต่อไปนี้อนุญาตให้คุณเปิดและปิด LED บนพิน 13 ขึ้นอยู่กับข้อมูลที่ได้รับ:

การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); pinMode(13, เอาท์พุต); } void loop() { ถ้า (Serial.available() > 0) { ข้อมูลถ่าน = Serial.read(); ถ้า (ข้อมูล == '1') { digitalWrite (13, สูง); } อื่น ๆ ถ้า (ข้อมูล == '0') { digitalWrite (13, LOW); -

รหัสนี้สร้างการสื่อสารผ่านพอร์ตอนุกรมที่ความเร็ว 9600 บอด และรอรับอักขระ '1' o '0' เพื่อเปิดหรือปิด LED ในตัว

การเชื่อมต่อกับหลาม

เมื่อกำหนดค่า Arduino แล้ว ก็ถึงเวลาเขียนโปรแกรม Python ที่สร้างการเชื่อมต่อกับบอร์ดและส่งคำสั่ง ด้านล่างนี้เป็นตัวอย่างง่ายๆในการใช้ไลบรารี พีซีเรียล:

เวลานำเข้าอนุกรม # การกำหนดค่าพอร์ตอนุกรม Arduino = serial.Serial('COM3', 9600) time.sleep(2) # รอเพื่อรักษาเสถียรภาพการเชื่อมต่อ # ส่งคำสั่ง arduino.write(b'1') พิมพ์("LED on " ) time.sleep(2) arduino.write(b'0') พิมพ์("ปิดไฟ LED") arduino.close()

สคริปต์นี้เปิดพอร์ตอนุกรมส่งคำสั่ง '1' เพื่อเปิด LED ให้รอสองวินาทีแล้วส่ง '0' เพื่อปิดมัน อย่าลืมปรับพอร์ต COM ตามระบบปฏิบัติการและการเชื่อมต่อของบอร์ดของคุณ

การระบุพอร์ตอนุกรม

เพื่อให้ Arduino และ Python สื่อสารได้อย่างถูกต้อง การระบุพอร์ตอนุกรมที่ Arduino เชื่อมต่ออยู่ถือเป็นสิ่งสำคัญ ใน Windowsคุณสามารถตรวจสอบได้จาก Device Manager ในระบบ ลินุกซ์ o MacOSใช้คำสั่ง ls /dev/ ในเทอร์มินัลเพื่อค้นหาสิ่งที่คล้ายกัน /dev/ttyUSB0.

ตัวอย่างขั้นสูง: การอ่านเซ็นเซอร์

การใช้งานการสื่อสารระหว่าง Arduino และ Python ในทางปฏิบัติอีกอย่างหนึ่งก็คือการอ่านข้อมูลจากเซ็นเซอร์ที่เชื่อมต่อกับ Arduino และแสดงผลแบบเรียลไทม์ใน Python ตัวอย่างเช่น สำหรับก เซ็นเซอร์อุณหภูมิ:

รหัสอาร์ดูโน่:

อินท์เซนเซอร์พิน = A0; การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); } void loop () { int sensorValue = analogRead (sensorPin); Serial.println(ค่าเซ็นเซอร์); ล่าช้า (1000); -

รหัสหลาม:

นำเข้าเวลานำเข้าแบบอนุกรม arduino = serial.Serial('COM3', 9600) time.sleep(2) ในขณะที่ True: sensor_data = arduino.readline().decode('utf-8').strip() print(f"Value เซ็นเซอร์: {sensor_data}")

ตัวอย่างนี้รับค่าเซ็นเซอร์บน Arduino และพิมพ์ไปยังคอนโซล Python ทำให้สามารถตรวจสอบข้อมูลแบบเรียลไทม์

ขยายความเป็นไปได้ด้วยการมองเห็นแบบประดิษฐ์

หากคุณต้องการยกระดับโปรเจ็กต์ของคุณไปอีกระดับ คุณสามารถรวม Python และ Arduino สำหรับงานการพัฒนาได้ วิสัยทัศน์เทียม โดยใช้ OpenCV ตัวอย่างเช่น ระบบที่ตรวจจับได้ว่ามีคนสวมหน้ากากหรือไม่ และเปิดไฟ LED สีตามผลลัพธ์:

  • Un ไฟ LED สีฟ้า แสดงว่าบุคคลนั้นสวมหน้ากาก
  • Un ไฟ LED สีแดง มันจะเปิดขึ้นหากตรวจไม่พบหน้ากาก

เมื่อใช้ Mediapipe และ OpenCV คุณสามารถฝึกโมเดลสำหรับการตรวจจับใบหน้าและส่งผลไปยัง Arduino เพื่อขับเคลื่อน LED ตามนั้น

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


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา