This is an old revision of the document!
Proiectul consta intr-un stabilizator de camera selfie, care va putea fi controlat in doua moduri (manual sau automat), cu scopul de a centra camera pe fata utilizatorului. Poate fi utilizat in timpul unei conferinte online sau chiar pentru crearea mai facila a filmuletelor de vlogging.
Pentru controlul unghiului stabilizatorului, voi atasa camera de un servomotor. In modul manual, acesta va fi controlat cu ajutorul a doua butoane (left si right). In modul automat, va fi controlat in functie de pozitia fetei, detectate prin OpenCV. Detectia se va face in PC, iar comenzile pentru servomotor vor fi transmise catre Arduino prin seriala. Interschimbarea dintre cele doua moduri de utilizare se va face actionand un buton si va fi semnalata prin aprinderea unui led si pornirea unui buzzer.
In ceea ce priveste procurarea sau achizitionarea pieselor, am comandat un set complet pentru Arduino. Din acest set, am folosit doar piesele necesare acestui proiect. Set-ul poate fi gasit aici.
Lista componente:
Camera Web
Camera web, SriHome™ SH039 Pro, Extra FullHD 3MP, unghi 110 grade, 30FPS, anulare zgomot de fond, rotire, plug & play, negru.
Modelul poate fi gasit aici.
Schema bloc:
Schema Tinkercad:
Schema electrica:
Continutul arhivei:
Componenta software corespunzatoare placii Arduino e reprezentata de projectPM.ino. Pentru a putea lucra cu functiile necesare controlului servomotorului, am inclus biblioteca Servo.h. Algoritmul incepe cu initializarile paramatrilor de stare si cei ai servomotorului, apoi continua cu cele doua functii: setup si loop. In functia setup, setez rolul pinilor de intrare si de iesire, starea initiala a celor doua LED-uri (verde aprins, rosu stins), atasez servomotorul pinului 9 de tip PWM si pornesc protocolul de comunicare prin seriala.
In functia loop, incep prin a face toggle pe butonul de switch: compar starea butonului cu cea anterioara si, daca aceasta difera, atunci se interschimba modurile de functionare ale stabilizatorului, respectiv se interschimba starile LED-urilor. Tot la apasarea butonului de switch, se porneste buzzer-ul, pentru a anunta auditiv utilizatorul ca s-a schimbat modul. Salvez apoi starea curenta a butonului de switch pentru a fi folosita la urmatoarea iteratie.
In cele ce urmeaza, algoritmul e impartit in doua cazuri:
Aici puteti viziona un demo video.