- Koncept:
- Nødvendige materialer:
- Skemaer og hardware:
- Program til Arduino:
- Program til behandling:
- Arbejder:
Dette er et meget interessant projekt, hvor vi skal lære at implementere virtual reality ved hjælp af Arduino og Processing. For de fleste af os har filmen Iron man af Jon Favreau altid været en inspiration til at bygge nye ting, der vil gøre vores liv let og sjovere. Jeg har personligt beundret de teknologier, der vises i filmen, og har altid ønsket at bygge noget lignende. Så i dette projekt har jeg forsøgt at efterligne de virtual reality-ting, der sker i filmen, som om vi simpelthen kan vippe vores hånd foran computeren og flytte markøren til det ønskede sted og udføre nogle opgaver.
Her vil jeg vise dig, hvordan du simpelthen kan vippe din hånd foran webcam og tegne noget på din computer. Jeg vil også vise dig, hvordan du kan skifte lys ved næsten at bevæge din hånd og klikke med fingrene i luften.
Koncept:
For at få dette til at ske, er vi nødt til at udnytte kraften i Arduino og Processing kombineret. De fleste af ville være bekendt med Arduino, men behandling kan være nyt for dig. Behandling er et program ligesom Arduino, og det er også Open source og gratis at downloade. Ved hjælp af Processing kan du oprette enkle systemapplikationer, Android-applikationer og meget mere. Det har også evnen til at udføre billedbehandling og stemmegenkendelse. Det er ligesom Arduino og er meget let at lære, men rolig, hvis du er helt ny til behandling, fordi jeg har skrevet denne tutorial ret simpelt, så alle med interesse kan få dette til at fungere på ingen tid.
I denne vejledning bruger vi Processing til at oprette en simpel systemapplikation, der giver os et brugergrænseflade og sporer håndens position ved hjælp af billedbehandling. Nu skal vi lave venstreklik og højreklik ved hjælp af vores fingre. For at få det til at ske har jeg brugt to hallsensorer (den ene på min pegefinger og den anden på langfingeren), som læses af Arduino Nano. Arduino overfører også klikstatus til computeren trådløst via Bluetooth.
Det lyder måske kompliceret, men tro mig; det er ikke så hårdt som det lyder. Så lad os se på de materialer, der er nødvendige for, at dette projekt kan køre.
Nødvendige materialer:
- Arduino Nano
- Hall-sensor (A3144) - 2Nr
- Et lille stykke magnet
- Bluetooth-modul (HC-05 / HC-06)
- 9V batteri
- Tilslutning af ledninger Prikplade.
- Et par handsker
- Arduino IDE (software)
- Behandling af IDE (software)
- En computer med webkamera og Bluetooth (du kan også bruge ekstern Bluetooth eller webkamera til din computer)
Skemaer og hardware:
Hardwaredelen af dette projekt er meget enkel og nem at bygge. Det komplette skema er vist nedenfor.
Arduino, modstande og bergpindestifter loddes på et prikbræt som vist nedenfor.
Hall-sensoren og Bluetooth-modulet er loddet til en ledning som vist nedenfor.
Når disse to sektioner er klar, kan den samles på handsker, så den er nem at bruge. Jeg har brugt engangshandsker af plast, som kan købes i enhver medicinsk butik i nærheden af dig. Du skal sørge for, at magneten kommer på din tommelfinger, og hall-sensoren 1 og hall-sensoren 2 skal være til stede før henholdsvis din pegefinger og langfinger. Jeg har brugt andebånd til at fastgøre komponenterne på plads. Når komponenterne er samlet, skal det se sådan ud.
Lad os nu åbne Arduino IDE og starte programmeringen.
Program til Arduino:
Formålet med denne Arduino-kode er at læse status for hallsensoren og udsende dem ved hjælp af Bluetooth-modulet. Det skal også modtage data fra Bluetooth og skifte den indbyggede LED baseret på den indgående værdi. Det komplette program gives i slutningen af denne vejledning; Jeg har også forklaret nogle få linjer nedenfor.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Kontroller, om der trykkes på nye taster {if (HallState_1 == LOW && HallState_2 == LOW) Aisha.write (1); hvis (HallState_1 == HIGH && HallState_2 == LAV) Aisha.write (2); hvis (HallState_1 == LAV && HallState_2 == HØJ) Aisha.write (3); hvis (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Som vist i ovenstående linjer vil Bluetooth skrive en bestemt værdi baseret på hallsensorens status. For eksempel, hvis hallsensor 1 er høj og hallsensor 2 er lav, så sender vi vale “2” via Bluetooth-modulet. Sørg for at skrive værdierne til BT-modulet og ikke udskrive dem. Fordi det kun er let at læse det eneste på behandlingssiden, hvis de er skrevet. Værdien sendes også kun, hvis den ikke er den samme som den foregående værdi.
hvis (BluetoothData == 'y') digitalWrite (ledpin, HIGH); hvis (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Disse linjer bruges til at skifte den indbyggede LED, der er tilsluttet pin 13, baseret på den værdi, der modtages af BT-modulet. For eksempel, hvis modulet modtager et 'y', tændes lysdioden, og hvis det modtager et 'n', slukkes det.
Program til behandling:
Formålet med behandlingsprogrammet er at oprette en systemapplikation, der kan fungere som et brugergrænseflade (brugergrænseflade) og også udføre billedbehandling for at spore et bestemt objekt. I dette tilfælde sporer vi den blå genstand, som vi stak til vores handsker ovenfor. Programmet har dybest set fire skærme.
- Kalibreringsskærm
- Hovedskærm
- Mal skærm
- LED skifte skærm
Vi kan navigere fra en skærm til en anden ved blot at vippe med hænderne og trække skærme på luften. Vi kan også klikke på ønskede steder for at skifte LED eller endda tegne noget på skærmen.
Du kan kopiere og indsætte det komplette behandlingsprogram (givet i slutningen) og ændre det baseret på din kreativitet eller simpelthen downloade EXE-filerne herfra og følge følgende trin for at starte applikationen.
- Installer JAVA på din computer, hvis du ikke har installeret det før
- Installer You Cam perfekt på din computer
- Tænd din Arduino, og par din computer med Bluetooth-modulet
- Start applikationsfilen
Hvis alt går fint, skal du være i stand til at lægge mærke til, at LED'en på dit Bluetooth-modul bliver stabil, og dit webcam-lys tændes. Hvis du har problemer, når du mig gennem kommentarsektionen, og jeg hjælper dig.
Se videoen i slutningen for at vide, hvordan du kalibrerer din applikation og bruger den.
Hvis du vil ændre koden og bygge flere funktioner ind i dette, kan du bruge følgende indsigt i programmet
Behandlings-IDE kan downloades herfra. Hvis du vil lære mere om behandling og oprette mere interessante projekter, kan du besøge vejledningerne her.
Behandling har evnen til at læse serielle data, i dette program kommer de serielle data fra Bluetooth COM-porten. Du skal vælge hvilken COM-port din Bluetooth er tilsluttet ved at bruge denne linje nedenfor
port = ny Serial (denne, Serial.list (), 9600);
Her har jeg valgt min 1 st COM-port, som er COM5 i mit tilfælde (se billedet nedenfor), og jeg har nævnt, at ved Bluetooth-modul kører på 9600 baudrate.
Som tidligere nævnt har behandling også evnen til at udføre billedbehandling, i denne tutorial sendes billederne inde i skitsen ved hjælp af et webcam. I hvert billede sporer vi efter et bestemt objekt. For at vide mere om dette kan du besøge denne vejledning.
Jeg har forsøgt mit bedste for at forklare programmet (givet i slutningen) gennem kommentarlinjerne. Du kan downloade filerne her.
Hvis du vil vide mere om skitsen, kan du nå mig gennem kommentarsektionen, så hjælper jeg dig.
Arbejder:
Når hardware og software er klar, skal du bære handskerne og gøre dig klar til handling. Nu skal du blot tænde for Arduino og derefter starte applikationen. Ledningen på Bluetooth-modulet skal være stabil. Nu betyder det, at din systemapplikation har oprettet et Bluetooth-link til din Arduino.
Du får følgende skærmbillede, hvor du skal vælge det objekt, der skal spores. Denne sporing kan simpelthen gøres ved at klikke på objektet. I dette tilfælde er objektet den blå skive. Nu kan du flytte dit objekt og bemærke, at markøren følger dit objekt. Brug et unikt farveobjekt og et lyst rum for de bedste resultater.
Rør nu din tommelfinger med pegefingeren, og du skal se meddelelsen "Tast 1 trykket", og når du trykker på tommelfingeren med langfingeren, skal du se "Tast 2 trykket", dette indikerer, at alt fungerer fint, og kalibreringen er slut. Klik nu på knappen Udført.
Når der er trykket på knappen Udført, vil du blive dirigeret til hovedskærmen, hvor du kan male på luft eller skifte lysdioden på Arduino-kortet som vist i videoen nedenfor.