- Concept:
- Materiale necesare:
- Scheme și hardware:
- Program pentru Arduino:
- Program de procesare:
- Lucru:
Acesta este un proiect foarte interesant în care vom învăța cum să implementăm realitatea virtuală folosind Arduino și Processing. Pentru majoritatea dintre noi, filmul Iron man de Jon Favreau a fost întotdeauna o inspirație pentru a construi lucruri noi care să ne facă viața mai ușoară și mai distractivă. Am admirat personal tehnicile care sunt prezentate în film și am dorit întotdeauna să construiesc ceva similar cu acela. Așadar, în acest proiect am încercat să imit lucrurile de realitate virtuală care se întâmplă în film, ca și cum am putea pur și simplu să fluturăm mâna în fața computerului și să mutăm indicatorul în locația dorită și să îndeplinim unele sarcini.
Aici vă voi arăta cum puteți pur și simplu să fluturați mâna în fața camerei web și să desenați ceva pe computer. De asemenea, vă voi arăta cum puteți comuta luminile mișcând practic mâna și făcând clicuri cu degetele în aer.
Concept:
Pentru ca acest lucru să se întâmple, trebuie să folosim puterea Arduino și a procesării combinate. Majoritatea ar fi familiarizați cu Arduino, dar Procesarea ar putea fi nouă pentru dvs. Procesarea este o aplicație la fel ca Arduino și este, de asemenea, open source și poate fi descărcată gratuit. Folosind Procesare puteți crea aplicații de sistem simple, aplicații Android și multe altele. De asemenea, are capacitatea de a face procesare de imagini și recunoaștere vocală. Este la fel ca Arduino și este mult mai ușor de învățat, dar nu vă faceți griji dacă sunteți complet nou în procesare, deoarece am scris acest tutorial destul de simplu, astfel încât oricine cu interes să poată face acest lucru să funcționeze în cel mai scurt timp.
În acest tutorial folosim Procesare pentru a crea o aplicație simplă de sistem care ne oferă o interfață de utilizare și urmărirea poziției mâinii noastre folosind procesarea imaginilor. Acum, trebuie să facem clic stânga și clic dreapta folosind degetele noastre. Pentru ca acest lucru să se întâmple, am folosit doi senzori de sală (unul pe degetul arătător și celălalt pe degetul mijlociu) care vor fi citiți de Arduino Nano. Arduino transmite, de asemenea, starea de clic către computer fără fir prin Bluetooth.
S-ar putea să pară complicat, dar, Crede-mă; nu este atât de greu pe cât pare. Așadar, haideți să aruncăm o privire asupra materialelor necesare pentru ca acest proiect să fie pus în funcțiune.
Materiale necesare:
- Arduino Nano
- Senzor Hall (A3144) - 2No
- O mică bucată de magnet
- Modul Bluetooth (HC-05 / HC-06)
- Baterie de 9V
- Conectarea firelor Dot board.
- O pereche de mănuși
- Arduino IDE (software)
- Procesare IDE (software)
- Un computer cu Webcam și Bluetooth (puteți utiliza și Bluetooth extern sau Webcam pentru computer)
Scheme și hardware:
Partea hardware a acestui proiect este foarte simplă și ușor de construit. Schema completă este prezentată mai jos.
Arduino, rezistențele și știfturile berg sunt lipite pe o placă de puncte, așa cum se arată mai jos.
Senzorul de hol și modulul Bluetooth sunt lipite pe un fir de conector așa cum se arată mai jos.
Odată ce aceste două secțiuni sunt gata, pot fi asamblate pe mănuși, astfel încât să fie ușor de utilizat. Am folosit mănuși de plastic de unică folosință care pot fi achiziționate de la orice magazin medical din apropierea dvs. Ar trebui să vă asigurați că magnetul vine pe degetul mare și că senzorul de hol 1 și senzorul de hol 2 ar trebui să fie prezenți înaintea degetului arătător și respectiv al degetului mijlociu. Am folosit benzi de rață pentru a fixa componentele la locul lor. Odată ce componentele sunt asamblate, ar trebui să arate cam așa.
Acum permiteți-ne să deschidem ID-ul Arduino și să începem programarea.
Program pentru Arduino:
Scopul acestui cod Arduino este acela de a citi starea senzorului de hol și de a le difuza folosind modulul Bluetooth. De asemenea, ar trebui să primească date de la Bluetooth și să comute LED-ul integrat pe baza valorii primite. Programul complet este dat la sfârșitul acestui tutorial; De asemenea, am explicat câteva rânduri mai jos.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Verificați dacă sunt apăsate taste noi {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); if (HallState_1 == HIGH && HallState_2 == LOW) Aisha.write (2); if (HallState_1 == LOW && HallState_2 == HIGH) Aisha.write (3); if (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
După cum se arată în liniile de mai sus, pe baza stării senzorului de cameră, Bluetooth va scrie o anumită valoare. De exemplu, dacă senzorul de sală 1 este înalt și senzorul de sală 2 este scăzut, atunci vom transmite valea „2” prin modulul Bluetooth. Asigurați-vă că scrieți valorile în modulul BT și nu le imprimați. Deoarece va fi ușor să citiți numai partea de procesare numai dacă acestea sunt scrise. De asemenea, valoarea va fi trimisă numai dacă nu este la fel ca valoarea anterioară.
if (BluetoothData == 'y') digitalWrite (ledpin, HIGH); if (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Aceste linii sunt utilizate pentru a comuta LED-ul de la bord care este conectat la Pinul 13, pe baza valorii primite de modulul BT. De exemplu, dacă modulul primește un „y”, atunci LED-ul este aprins și dacă primește un „n”, atunci este oprit.
Program de procesare:
Scopul programului de procesare este de a crea o aplicație de sistem care poate acționa ca o interfață de utilizare (interfață utilizator) și, de asemenea, poate efectua procesarea imaginilor pentru a urmări un anumit obiect. În acest caz, urmărim obiectul albastru pe care l-am lipit de mănușile de deasupra. Programul are practic patru ecrane.
- Ecran de calibrare
- Ecranul principal
- Paint Screen
- Ecran de comutare LED
Putem naviga de la un ecran la altul pur și simplu fluturând mâinile și trăgând ecranele în aer. De asemenea, putem face clicuri pe locurile dorite pentru a comuta LED-ul sau chiar pentru a desena ceva pe ecran.
Puteți copia lipiți programul complet de procesare (dat la final) și îl puteți modifica pe baza creativității dvs. sau puteți descărca simplu fișierele EXE de aici și urmați pașii următori pentru a lansa aplicația.
- Instalați JAVA în computer dacă nu l-ați instalat înainte
- Instalați You Cam perfect pe computer
- Porniți Arduino și asociați computerul cu modulul Bluetooth
- Lansați fișierul aplicației
Dacă totul merge bine, ar trebui să puteți observa LED-ul de pe modulul Bluetooth devenind stabil și lumina camerei web aprinsă. Dacă aveți probleme, contactați-mă prin secțiunea de comentarii și vă voi ajuta.
Urmăriți videoclipul la final pentru a ști cum să vă calibrați aplicația și să o utilizați.
Dacă doriți să modificați codul și să încorporați mai multe funcții, puteți utiliza următoarele informații despre program
IDE-ul de procesare poate fi descărcat de aici. Dacă doriți să aflați mai multe despre procesare și să creați proiecte mai interesante, atunci puteți vizita tutorialele aici.
Procesarea are capacitatea de a citi date seriale, în acest program datele seriale provin de la portul COM Bluetooth. Trebuie să selectați la ce port COM vă conectați Bluetooth utilizând această linie de mai jos
port = Serial nou (acesta, Serial.list (), 9600);
Aici am selectat primul meu port COM, care este COM5 în cazul meu (vezi imaginea de mai jos) și am menționat că prin modulul Bluetooth rulează 9600 baudrate.
După cum sa spus, procesarea anterioară are și capacitatea de a face procesarea imaginilor, în acest tutorial imaginile sunt trimise în interiorul schiței folosind o cameră web. În fiecare imagine urmărim un anumit obiect. Pentru a afla mai multe despre acest lucru, puteți vizita acest tutorial.
Am încercat din răsputeri să explic programul (dat la final) prin liniile de comentarii. Puteți descărca fișierele de aici.
Dacă doriți să aflați mai multe despre schiță, puteți ajunge la mine prin secțiunea de comentarii și vă voi ajuta.
Lucru:
Odată ce hardware-ul și software-ul sunt gata, purtați mănușile și pregătiți-vă pentru acțiuni. Acum, pur și simplu alimentați Arduino și apoi lansați aplicația. Ledul de pe modulul Bluetooth ar trebui să rămână stabil. Acum înseamnă că aplicația dvs. de sistem a stabilit o legătură Bluetooth cu Arduino.
Veți obține următorul ecran în care trebuie să selectați obiectul de urmărit. Această urmărire se poate face simplu făcând clic pe obiect. În acest caz obiectul este discul Albastru. Acum puteți să vă mutați obiectul și să observați că indicatorul vă urmărește obiectul. Folosiți un obiect de culoare unic și o cameră luminoasă pentru cele mai bune rezultate.
Acum atingeți degetul mare cu degetul arătător și ar trebui să vedeți mesajul „Tasta 1 apăsată” și atunci când apăsați degetul mare cu degetul mijlociu ar trebui să vedeți „Tasta 2 apăsată”, aceasta indică faptul că totul funcționează bine și calibrarea s-a terminat. Acum faceți clic pe butonul Terminat.
Odată apăsat butonul Terminat, veți fi direcționat către ecranul principal, unde puteți picta pe aer sau comuta LED-ul de pe placa Arduino, așa cum se arată în videoclipul de mai jos.