กลับไปหน้ารวมไฟล์
controlling-vlc-media-player-with-your-hands-using-arduino-348131.md

ชื่อโปรเจกต์: ควบคุม VLC Media Player ด้วยมือของคุณ - โดยใช้ Arduino

ในโปรเจกต์นี้ ผมจะใช้ Arduino และ Python เพื่อควบคุม VLC Media Player ด้วยมือเปล่า อ่านต่อเพื่อเรียนรู้วิธีการทำโปรเจกต์นี้

ส่วนประกอบฮาร์ดแวร์ที่ใช้ในโปรเจกต์นี้

  • Arduino Nano
  • โมดูลจ่ายไฟ Breadboard - 3.3/ 5V
  • Solderless Breadboard - Half+
  • โมดูลเซ็นเซอร์ IR line tracking (x2)
  • สาย Jumper male-to-male (x2)
  • สาย Jumper female-to-male (x6)

ซอฟต์แวร์ที่ใช้ในโปรเจกต์นี้

  • Arduino IDE - Version 1.8.10
  • Python 3.8

การตั้งค่าฮาร์ดแวร์

การติดตั้งของคุณควรมีลักษณะคล้ายกับภาพด้านบน

การเชื่อมต่อ

โมดูลเซ็นเซอร์ IR line tracking

  • (+) - 5V
  • (-) - Ground (GND)
  • S1 - D3
  • S2 - D4

การเขียนโค้ด

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

ดาวน์โหลดซอฟต์แวร์ได้จาก ที่นี่ ผมขอแนะนำให้คุณดาวน์โหลดเวอร์ชันล่าสุดที่เข้ากันได้กับ OS ของคุณ ในโปรเจกต์นี้ ผมจะใช้ Python 3.8.1 เนื่องจากเป็นเวอร์ชันล่าสุดในปัจจุบัน

ถัดไป คุณจะต้องติดตั้งโมดูล PyAutoGUI และโมดูล pyserial เพื่อให้โปรเจกต์นี้ทำงานได้ ดาวน์โหลดโมดูลเหล่านี้ได้โดยคลิกลิงก์ด้านล่าง:

  • โมดูล PyAutoGUI - ช่วยให้คุณควบคุมเมาส์และคีย์บอร์ดผ่านสคริปต์ Python
  • โมดูล pySerial - ช่วยให้คุณเข้าถึงพอร์ต serial

การติดตั้งโมดูล PyAutoGUI และ pySerial

ติดตั้งซอฟต์แวร์ Python และเปิด Command Prompt เปลี่ยนไดเรกทอรีไปยังโฟลเดอร์ที่คุณติดตั้งซอฟต์แวร์ไว้ PIP เป็นระบบจัดการแพ็กเก็ตที่ช่วยให้คุณสามารถติดตั้งและจัดการแพ็กเกจซอฟต์แวร์ที่เขียนด้วย Python คุณจะต้องอัปเกรด PIP ก่อนที่จะติดตั้งโมดูลเหล่านี้ หากต้องการทำเช่นนี้ คุณจะต้องใช้ฟังก์ชันต่อไปนี้:

python - m pip install - upgrade pip

ติดตั้งโมดูล PyAutoGUI โดยพิมพ์ฟังก์ชันต่อไปนี้ใน Command Prompt หลังจากอัปเกรด PIP แล้ว:

python - m pip install pyautogui

ทำซ้ำขั้นตอนเดียวกันเพื่อติดตั้งโมดูล Pyserial หลังจากติดตั้งโมดูล PyAutoGUI เสร็จสิ้น คุณจะต้องใช้ฟังก์ชันต่อไปนี้:

python - m pip install pyserial

ขั้นตอนต่อไปคือการตรวจสอบว่าโมดูลเหล่านี้ติดตั้งสำเร็จหรือไม่ เปิด Python IDLE และพิมพ์ 'import serial' หากโมดูลติดตั้งสำเร็จ Python shell ของคุณจะมีลักษณะคล้ายกับภาพนี้:

การเขียนโค้ด Arduino

เราได้ติดตั้งซอฟต์แวร์ Python และโมดูลที่จำเป็นเรียบร้อยแล้ว ตอนนี้ ผมจะอธิบายเกี่ยวกับการเขียนโค้ดใน Arduino

  • Play/ Pause - วางมือของคุณไว้หน้าเซ็นเซอร์ IR ทั้งสองตัว
  • Increase Volume - วางมือของคุณไว้หน้าเซ็นเซอร์ IR ทางขวา
  • Decrease Volume - วางมือของคุณไว้หน้าเซ็นเซอร์ IR ทางซ้าย

สร้าง global variables สำหรับเซ็นเซอร์ คุณสามารถตั้งชื่อตัวแปรว่า 'Right' และ 'Left' ภายใน `void setup()` ให้เรียกใช้ `pinMode()` เพื่อกำหนดค่าขาของเซ็นเซอร์ IR ให้เป็น INPUT กำหนดอัตราการส่งข้อมูลเป็น 9600 baud (bits per second) สำหรับการส่งข้อมูลแบบ serial

โมดูลเซ็นเซอร์ IR line tracking จะตรวจจับวัตถุที่อยู่ภายในระยะ 8mm จากเซ็นเซอร์ IR และส่งสัญญาณ LOW ไปยังไมโครคอนโทรลเลอร์ Arduino เมื่อตรวจพบวัตถุ ภายใน `void loop()` ให้ตั้งโปรแกรมไมโครคอนโทรลเลอร์ Arduino Nano ของคุณเพื่อดำเนินการตามฟังก์ชันที่อธิบายไว้ข้างต้น

หากเซ็นเซอร์ทั้งสองตัวส่งสัญญาณ LOW จอมอนิเตอร์ serial จะต้องพิมพ์ 'Play/ Pause' และกำหนดระยะเวลา delay ไว้ 500 milliseconds

หากเซ็นเซอร์ทางขวาส่งสัญญาณ LOW และเซ็นเซอร์ทางซ้ายส่งสัญญาณ HIGH จอมอนิเตอร์ serial จะต้องพิมพ์ 'Increase Volume' และคุณควรเพิ่มระยะเวลา delay ที่นี่ด้วย

หากเซ็นเซอร์ทางขวาส่งสัญญาณ HIGH และเซ็นเซอร์ทางซ้ายส่งสัญญาณ LOW จอมอนิเตอร์ serial จะต้องพิมพ์ 'Decrease Volume' และกำหนดระยะเวลา delay ไว้ 500 milliseconds

กำหนดระยะเวลา delay ไว้ 300 milliseconds ก่อนที่จะเสร็จสิ้นฟังก์ชัน `void loop()`

การเขียนโค้ด Python

ตอนนี้ เรามาดูการเขียนโค้ดใน Python เปิด Python IDLE และเปิดไฟล์ใหม่ นำเข้าโมดูลที่เราติดตั้งในขั้นตอนแรก พร้อมกับโมดูล time คุณจะต้องใช้โมดูล time เพื่อใช้ฟังก์ชัน delay สร้าง `serial port object` และเปิด `serial port` คุณสามารถดูหน้า 11 ของ เอกสารนี้ เพื่อช่วยในกระบวนการนี้ รอ 3 วินาทีในขณะที่การสื่อสารกำลังเชื่อมต่อ

หลังจากที่การสื่อสารเชื่อมต่อแล้ว ให้อ่านข้อมูล serial และพิมพ์ออกมา หากข้อมูล serial ที่ได้รับคือ 'Play/ Pause' จะต้องใช้ฟังก์ชัน `typewrite` เพื่อกด spacebar เป็นเวลา 0.3 วินาที

คุณจะต้องใช้โมดูล PyAutoGUI ดังนั้น เว็บไซต์นี้ สามารถเป็นประโยชน์ในการเรียนรู้ฟังก์ชันของโมดูลนี้

หากข้อมูล serial ที่ได้รับคือ 'Increase Volume' ให้ใช้ฟังก์ชัน `hotkey` อาร์กิวเมนต์สำหรับฟังก์ชันนี้ในกรณีนี้คือ 'ctrl' และ 'left' เปิด VLC media player และกดปุ่ม 'ctrl' และปุ่มลูกศรซ้ายเพื่อดูระดับเสียงที่เพิ่มขึ้น

ทำซ้ำขั้นตอนเดียวกันสำหรับ 'Volume down' แต่อาร์กิวเมนต์ในกรณีนี้จะต้องเป็น 'ctrl' และ 'right'

ตัวอย่างโค้ด:

หากใครมีคำถามเกี่ยวกับการเขียนโค้ด โปรดแสดงความคิดเห็นด้านล่างได้เลย

ภาพรวมสุดท้าย

รายละเอียดทางเทคนิคเพิ่มเติม

การควบคุมแบบ Haptic ที่ช่วยเหลือด้วย Computer-Vision

โปรเจกต์เทคโนโลยีขั้นสูงนี้ช่วยให้คุณสามารถควบคุม VLC Media Player โดยใช้ท่าทางมือทางกายภาพ ซึ่งเชื่อมโยงฮาร์ดแวร์ Arduino เข้ากับ AI ที่ใช้ Python

  • การรวม Python Media-Pipe: PC ที่รัน Python 3.8.0 ใช้เว็บแคมเพื่อระบุท่าทางมือ (เช่น "Open Palm" หรือ "Fist") จากนั้นสคริปต์ Python จะส่ง serial trigger เฉพาะไปยัง Arduino
  • Serial-to-Keylink Bridge: Arduino จะรับคำสั่งและทำหน้าที่เป็นอุปกรณ์ USB HID โดยส่งปุ่มคีย์ลัด VLC ที่เกี่ยวข้อง (เช่น 'f' สำหรับ Fullscreen, 'p' สำหรับ Play)

การโต้ตอบ

  • Dynamic Gesture Thresholding: สคริปต์ Python มีการตรวจสอบ "Confidence"

ข้อมูล Frontmatter ดั้งเดิม

title: "Controlling VLC Media Player with your hands - Using Arduino"
description: "In this project, I am going to be using Arduino and Python to control the VLC Media Player with just my hands."
author: "RucksikaaR"
category: ""
tags:
  - "infrared"
  - "python"
  - "sensor"
  - "automation"
views: 2907
likes: 1
price: 1120
difficulty: "Intermediate"
components:
  - "1x Solderless Breadboard Half Size"
  - "1x Arduino Nano R3"
  - "2x IR tracking sensor module"
  - "2x Male/Male Jumper Wires"
  - "1x SparkFun Breadboard Power Supply 5V/3.3V"
  - "6x Male/Female Jumper Wires"
tools: []
apps:
  - "1x Python 3.8.0"
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "04dcb90290bf43650912fe31615a94ea37bfe2b3bde5c854260de08981334201"
encryptedPayload: "U2FsdGVkX18G+lmcLRsGlp350hZy48r69UEKQUVqW90hCYurlb5S3Ira6b8wjGNZbBNKOvM2F22rYuKCzcHPGuOrex7CcTzuo39f/4x+lPF4sJFrcG7zm/nCNpVxd4GO"
seoDescription: "Learn to control VLC Media Player using hand gestures with Arduino and Python in this DIY project."
videoLinks:
  - "https://www.youtube.com/embed/e_QhtUlE-0A"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/controlling-vlc-media-player-with-your-hands-using-arduino-348131_cover.jpg"
lang: "th"