Touchless Computer Control

Introducere

Foarte des ne intalnim cu problema ca stam comod in scaun si ne uitam la ceva, dar apare o problema de control ca de exemplu sa pui pauza, dar tu ai mainile murdare asa cum mancai chips-uri, ca sa nu fii nevoit sa te ridici, speli, etc. e destul doar sa ii spui unui senzor :)

Proiectul presupune un device mic care va ajuta utilizatorul sa controleze PC/Leptop cu OS Windows. Utilizatorul va fi in stare sa mareasca/micsoreze volumul, in media sa faca next/prev/pauza/play

Descriere generală

In acest proiect senzorul de gesturi interactioneaza cu un Arduino care la randul lui prin serial discuta cu un program Python care indeplineste comenzile la nivel de OS. Tot Arduino afiseaza la LCD ce comanda a inregistrat si ce urmeaza sa faca, dupa cateva secunde LCD nu va mai afisa nimic ca sa nu duca in eroare utilizatorul.

`

Hardware Design

Piese folosite:

  • Gesture & Touch Sensor SEN0285
  • Arduino UNO
  • LCD cu I2C
  • Fire

Software Design

Intentionez sa folosesc Serialul pentru a trimite comenzi la un program python, unde cu ajutoul bibliotecii pywin32 https://pypi.org/project/pywin32/ unde utilizatorul va putea executa comenzile descrise mai sus. Ma voi folosi de VSCode si Arduino IDE Voi avea nevoie de bibliotecile pentru Sensor si LCD

Biblioteci ARDUINO utilizate:

  • DFRobot_Gesture_Touch.h → Pentru Sensorul de Gesturi
  • SoftwareSerial.h → Pentru Sensorul de Gesturi
  • LiquidCrystal_I2C.h → Pentur LCD cu I2C

Biblioteci PYTHON utilizate:

  • PyQt5 → Designe
  • win32api → Controlul calculatorului
  • serial → Conectarea la ARDUINO
  • threading → Rularea intr-un thread aparte a comenzilor
  • json → Citirea fisierului de configurare
  • serial.tools.list_ports → Pentru a gasi ARDUINO automat

Am folosit ce am invatat in lab pentru a folosi Seriala in Arduino si timerul

Rezultate Obţinute

Am reusit sa fac acest dispozitiv pentru a controla calculatorul. Dispozitivul stie sa ridice sau sa scada volumul calculatorului, sa faca next/prev media, play/pause si sa deschida aplicatii. Aplicatia ajuta utilizatorul sa interactioneze cu dispozitivul si daca doreste ca un utilizator sa fie dispozitivul setat default intr-un fel anume, poate sa scrie in fisierul data.json.

https://youtube.com/shorts/dbxAcbFqc8w?feature=share

Pentru o functionare corecta, utilizatorul trebuie sa porneasca aplicatia :)

Concluzii

A fost o experienta foarte interesanta.

Download

Cod sursa: andrei_touchlesscontrol.zip

Executabil fara cod arduino: andrei_touchless_control_exe.zip

Pentru a instala acest script, incarcati in arduino fisierul simpleGesture.ino si instalati pachetele necesare in python

Jurnal

→ Au venit pisele :))

→ Am inceput sa le unesc, senzorul de gesturi are schema gresita in documentatie

→ Prin incercari si greseli, am gasit cum trebuie unite piesele

→ Scriu cod pentru dispozitiv

→ Asamblez tot intr-o cutie

→ Proiectul este functional :))

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/amocanu/computer_control.txt · Last modified: 2023/05/27 18:33 by andrei.girnet
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0