- Konsept:
- Nødvendige materialer:
- Skjemaer og maskinvare:
- Program for Arduino:
- Program for behandling:
- Jobber:
Dette er et veldig interessant prosjekt der vi skal lære å implementere virtual reality ved hjelp av Arduino og Processing. For de fleste av oss har filmen Iron man av Jon Favreau alltid vært en inspirasjon til å bygge nye ting som vil gjøre livet vårt enkelt og morsommere. Jeg har personlig beundret teknologiene som vises i filmen og har alltid ønsket å bygge noe lignende. Så i dette prosjektet har jeg prøvd å etterligne de virtuelle virkelighets tingene som skjer i filmen, som om vi bare kan bøye hånden foran datamaskinen og flytte pekeren til ønsket sted og utføre noen oppgaver.
Her vil jeg vise deg hvordan du rett og slett kan vifte med hånden foran webkameraet og tegne noe på datamaskinen din. Jeg vil også vise deg hvordan du kan bytte lys ved å nesten bevege hånden og klikke med fingrene i været.
Konsept:
For å få dette til, må vi utnytte kraften til Arduino og Processing til sammen. De fleste av ville være kjent med Arduino, men behandling kan være nytt for deg. Behandling er et program akkurat som Arduino, og det er også åpen kildekode og gratis å laste ned. Ved å bruke Processing kan du lage enkle systemapplikasjoner, Android-applikasjoner og mye mer. Det har også muligheten til å gjøre bildebehandling og stemmegjenkjenning. Det er akkurat som Arduino og er mye lett å lære, men ikke bekymre deg hvis du er helt ny i behandlingen fordi jeg har skrevet denne opplæringen ganske enkel, slik at alle med interesse kan få dette til å fungere på kort tid.
I denne opplæringen bruker vi Processing for å lage et enkelt systemapplikasjon som gir oss et brukergrensesnitt og sporer håndens posisjon ved hjelp av bildebehandling. Nå må vi lage venstreklikk og høyreklikk med fingrene. For å få det til har jeg brukt to hallsensorer (den ene på pekefingeren og den andre på langfingeren) som vil bli lest av Arduino Nano. Arduino overfører også klikkstatusen til datamaskinen trådløst via Bluetooth.
Det høres kanskje komplisert ut, men, stol på meg; det er ikke så vanskelig som det høres ut. Så la oss ta en titt på materialene som trengs for at dette prosjektet skal være i gang.
Nødvendige materialer:
- Arduino Nano
- Hall-sensor (A3144) - 2Nr
- Et lite stykke magnet
- Bluetooth-modul (HC-05 / HC-06)
- 9V batteri
- Koble ledninger prikkbrett.
- Et par hansker
- Arduino IDE (programvare)
- Behandler IDE (programvare)
- En datamaskin med webkamera og Bluetooth (du kan også bruke ekstern Bluetooth eller webkamera til datamaskinen din)
Skjemaer og maskinvare:
Maskinvaredelen av dette prosjektet er veldig enkel og enkel å bygge. Det komplette skjemaet er vist nedenfor.
Arduino, motstander og bergpinnene er loddet på et prikkbrett som vist nedenfor.
Hall-sensoren og Bluetooth-modulen er loddet til en ledning som vist nedenfor.
Når disse to seksjonene er klare, kan den monteres på hanskene slik at den er enkel å bruke. Jeg har brukt engangshansker av plast som kan kjøpes fra hvilken som helst medisinsk butikk i nærheten av deg. Du bør sørge for at magneten kommer på tommelfingeren, og hallsensoren 1 og hallsensoren 2 skal være tilstede før henholdsvis pekefingeren og langfingeren. Jeg har brukt andebånd for å feste komponentene på plass. Når komponentene er samlet, skal det se ut som dette.
La oss nå åpne Arduino IDE og begynne å programmere.
Program for Arduino:
Hensikten med denne Arduino-koden er å lese status for hallsensoren og kringkaste dem ved hjelp av Bluetooth-modulen. Den skal også motta data fra Bluetooth og slå den innebygde LED-en basert på den innkommende verdien. Det komplette programmet er gitt på slutten av denne opplæringen; Jeg har også forklart noen linjer nedenfor.
if (Phs1! = HallState_1 - Phs2! = HallState_2) // Sjekk om det 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ØY) Aisha.write (3); hvis (HallState_1 == HIGH && HallState_2 == HIGH) Aisha.write (4); }
Som vist i linjene ovenfor, vil Bluetooth skrive en bestemt verdi basert på hallsensorens status. For eksempel hvis hallsensor 1 er høy og hallsensor 2 er lav, så sender vi vale “2” via Bluetooth-modulen. Forsikre deg om at du skriver verdiene til BT-modulen og ikke skriver dem ut. Fordi det vil være lett å lese det eneste på behandlingssiden bare hvis de er skrevet. Verdien sendes også hvis den ikke er den samme som den forrige verdien.
hvis (BluetoothData == 'y') digitalWrite (ledpin, HIGH); hvis (BluetoothData == 'n') digitalWrite (ledpin, LOW);
Disse linjene brukes til å veksle den innebygde LED-en som er koblet til Pin 13, basert på verdien som mottas av BT-modulen. For eksempel hvis modulen mottar en 'y' så lyser LED-lampen og hvis den mottar en 'n' så er den slått av.
Program for behandling:
Formålet med behandlingsprogrammet er å lage et systemapplikasjon som kan fungere som et brukergrensesnitt (User interface) og også utføre bildebehandling for å spore et bestemt objekt. I dette tilfellet sporer vi den blå gjenstanden som vi stakk til hanskene ovenfor. Programmet har i utgangspunktet fire skjermer.
- Kalibreringsskjerm
- Hovedskjermen
- Malingsskjerm
- LED veksleskjerm
Vi kan navigere fra en skjerm til en annen ved å bare vri hendene og dra skjermene på luften. Vi kan også klikke på ønsket sted for å bytte LED eller til og med tegne noe på skjermen.
Du kan kopiere og lime inn hele behandlingsprogrammet (gitt på slutten) og endre det basert på din kreativitet eller enkelt laste ned EXE-filene herfra, og følg trinnene nedenfor for å starte applikasjonen.
- Installer JAVA på datamaskinen din hvis du ikke har installert den før
- Installer You Cam perfekt på datamaskinen din
- Slå på Arduino og par datamaskinen med Bluetooth-modulen
- Start applikasjonsfilen
Hvis alt går bra, bør du kunne legge merke til at LED-lampen på Bluetooth-modulen blir stabil og at webkameraets lys tennes. Hvis du har noen problemer, kan du nå meg gjennom kommentarseksjonen, så hjelper jeg deg.
Se videoen på slutten for å vite hvordan du kalibrerer applikasjonen og bruker den.
Hvis du vil endre koden og bygge flere funksjoner inn i dette, kan du bruke følgende innsikt i programmet
Behandlings-IDE kan lastes ned herfra. Hvis du vil lære mer om behandling og lage mer interessante prosjekter, kan du gå til veiledningene her.
Behandlingen har muligheten til å lese serielle data, i dette programmet kommer serielle data fra Bluetooth COM-porten. Du må velge hvilken COM-port Bluetooth er koblet til ved å bruke denne linjen nedenfor
port = ny Serial (denne, Serial.list (), 9600);
Her har jeg valgt min 1 st COM-port som er COM5 i mitt tilfelle (se bildet nedenfor), og jeg har nevnt at etter Bluetooth-modul kjører på 9600 baudrate.
Som nevnt tidligere har behandlingen også muligheten til å utføre bildebehandling, i denne opplæringen sendes bildene inne i skissen ved hjelp av et webkamera. I hvert bilde sporer vi etter et bestemt objekt. For å vite mer om dette kan du gå til denne veiledningen.
Jeg har prøvd mitt beste for å forklare programmet (gitt til slutt) gjennom kommentarlinjene. Du kan laste ned filene her.
Hvis du vil vite mer om skissen, kan du nå meg gjennom kommentarseksjonen, så hjelper jeg deg.
Jobber:
Når maskinvaren og programvaren er klar, bruk hanskene og gjør deg klar for handling. Nå er det bare å drive Arduino og deretter starte applikasjonen. Ledningen på Bluetooth-modulen skal være stabil. Nå betyr det at systemapplikasjonen din har opprettet en Bluetooth-kobling med Arduino.
Du får følgende skjermbilde der du må velge objektet som skal spores. Denne sporing kan enkelt gjøres ved å klikke på objektet. I dette tilfellet er objektet den blå platen. Nå kan du flytte objektet ditt og legge merke til at pekeren følger objektet. Bruk et unikt fargeobjekt og et lyst rom for best resultat.
Nå berører du tommelfingeren med pekefingeren, og du skal se meldingen “Tast 1 trykket”, og når du trykker tommelen med langfingeren, skal du se “Tast 2 trykket” dette indikerer at alt fungerer bra og kalibreringen er over. Klikk nå på Ferdig-knappen.
Når du har trykket på Ferdig-knappen, vil du bli dirigert til hovedskjermen der du kan male på luft eller slå LED på Arduino-kortet som vist i videoen nedenfor.