- Krav:
- Laste ned og installere programvare:
- Arduino maskinvare del og kretsdiagram:
- Arduino programvare del:
- Android-mobilapplikasjon for ultralydradar:
- Arbeidsforklaring:
Dette er et interessant prosjekt der vi utforsker kraften til en Arduino og Android for å lage en overvåkingsenhet som bruker Arduino og Ultra Sonic Sensor for å kringkaste informasjonen til en mobilapplikasjon (Android) ved hjelp av Bluetooth.
Sikkerhet og sikkerhet har vært vår viktigste bekymring siden aldre. Å installere et sikkerhetskamera som har nattmodus med tilt- og panoramealternativ vil brenne et stort hull på lommene våre. La oss derfor lage en økonomisk enhet som gjør nesten det samme, men uten videofunksjoner.
Denne enheten registrerer gjenstander ved hjelp av Ultralydssensor og kan derfor fungere selv om natten. Vi monterer også den amerikanske sensoren (Ultra Sonic) over en servomotor. Denne servomotoren kan enten stilles inn for å rotere automatisk for å skanne området eller kan roteres manuelt ved hjelp av mobilappen vår, slik at vi kan fokusere ultralydsensoren i vår nødvendige retning og ane gjenstandene som er der borte. All informasjonen som den amerikanske sensoren registrerer, vil bli kringkastet smarttelefonen vår ved hjelp av Bluetooth-modul (HC-05). Så det vil fungere som en ekkolodd eller en radar.
Interessant ikke sant ??…. La oss se hva vi trenger for å gjøre dette prosjektet.
Krav:
Maskinvare:
- A + 5V strømforsyning (jeg bruker Arduino (en annen) kort for strømforsyning)
- Arduino Mega (Du kan bruke alt fra pro mini til Yun)
- Servomotor (hvilken som helst vurdering)
- Bluetooth-modul (HC-05)
- Ultra Sonic-sensor (HC-SR04)
- Brettbrett (ikke obligatorisk)
- Koble ledninger
- Android mobil
- Datamaskin for programmering
Programvare:
- Arduino programvare
- Android SDK
- Behandler Android (For å lage mobilapplikasjon)
Når vi er klare med materialene våre, la oss begynne å bygge maskinvaren. Jeg har delt denne opplæringen i Arduino Part og Processing Part for enkel forståelse. Mennesker som er nye i behandlingen trenger ikke frykte mye fordi den komplette koden er gitt på slutten av opplæringen, som kan brukes som sådan.
Laste ned og installere programvare:
Den Arduino IDE kan installeres herfra. Last ned programvaren i henhold til operativsystemet og installer det. Arduino IDE vil kreve at en driver kommuniserer med Arduino-maskinvaren. Denne driveren skal installeres automatisk når du kobler kortet til datamaskinen. Prøv å laste opp et blinkprogram fra eksempler for å forsikre deg om at Arduino er i gang.
Den Processing IDE kan installeres herfra. Behandling er et utmerket open source-program som kan brukes til mange ting, det har forskjellige moduser. I "Java Mode" kan vi lage Windows-applikasjoner (.EXE-filer) og i "Android-modus" kan vi opprette Android-mobilapplikasjoner (.APK-filer), den har også andre moduser som "Python-modus" hvor du kan skrive til pythonprogrammer.. Denne opplæringen vil ikke dekke det grunnleggende om prosessering, og hvis du vil lære Java-programmering eller prosessering videre til denne flotte YouTube-kanalen her.
Arduino maskinvare del og kretsdiagram:
Dette prosjektet involverer mange komponenter som servomotor, Bluetooth-modul, ultralydsensor osv. Derfor, hvis du er en absolutt nybegynner, vil det anbefales å starte med noen grunnleggende opplæringsprogrammer som involverer disse komponentene og deretter komme tilbake hit. Sjekk ut våre forskjellige prosjekter på Servomotor, Bluetooth-modul og ultralydssensor her.
Alle komponentene drives ikke av Arduino selv, fordi servomotoren, Bluetooth-modulen og den amerikanske sensoren helt trekker mye strøm som Arduino ikke vil være i stand til å kilde. Derfor anbefales det å bruke ekstern + 5V-forsyning. Hvis du ikke har en ekstern + 5V forsyning innen rekkevidde, kan du dele komponentene mellom to Arduino-kort som jeg har gjort. Jeg har koblet Servos strømskinner til et annet Arduino-kort (rød farge) og koblet Bluetooth-modulen HC-05 og ultralydsensoren HC-SR04 til Arduino mega. FORSIKTIG: Når du slår på alle disse modulene ved hjelp av ett Arduino-kort, stekes Arduino-spenningsregulatoren.
Koblingsskjema for dette Arduino-baserte ekkoloddprosjektet er gitt nedenfor:
Når tilkoblingene er gjort, monterer du den amerikanske sensoren på servomotoren din som vist nedenfor:
Jeg har brukt et lite plaststykke som var i søppelet mitt og et dobbelt sidetape for å montere sensoren. Du kan komme på din egen ide om å gjøre det samme. Det er også servoholdere tilgjengelig i markedet som kan brukes til samme formål.
Når servoen er montert og tilkoblingene er gitt, bør den se ut slik.
Følg skjemaene på toppen hvis du får feil tilkoblinger. La oss nå begynne å programmere Arduino Mega ved hjelp av Arduino IDE.
Arduino programvare del:
Vi må skrive koden vår slik at vi kan beregne avstanden mellom et objekt og Ultra Sonic-sensor og sende den til mobilappen vår. Vi må også skrive kode for at servomotoren skal feie og også bli kontrollert fra dataene som mottas av Bluetooth-modulen. Men ikke bekymre deg, programmet er mye enklere enn du kan forestille deg, takket være Arduino og dets biblioteker. Den komplette koden er gitt nedenfor i kodeseksjonen.
Funksjonen nedenfor brukes til å få servomotoren til å feie automatisk fra venstre til høyre (170 til 10) og igjen fra høyre til venstre (10 til 170). De to for løkker brukes til å oppnå det samme. Funksjonen us () kalles i begge funksjonene for å beregne avstanden mellom sensoren og objektet og kringkaste den til Bluetooth. En forsinkelse på 50 ms er gitt for å få servoen til å rotere sakte. Jo langsommere motoren roterer jo nøyaktig avlesningene dine blir.
// ** Funksjon for servo å feie ** // ugyldig servofun () {Serial.println ("Feiing"); // for feilsøking for (posc = 10; posc <= 170; posc ++) // Å bruke 10 til 170 grader er trygt enn 0 til 180 fordi noen servo kanskje ikke fungerer i ekstreme engler {servo.write (posc); // still posisjonen til servomotorforsinkelsen (50); oss(); // måle avstanden til objekter som synger den amerikanske sensoren} for (posc = 170; posc> = 10; posc--) {servo.write (posc); forsinkelse (50); oss(); // måle avstanden til objekter som synger den amerikanske sensoren} Serial.println ("Scan Complete"); // for feilsøkingsflagg = 0; } // ** Slutt på servo feiingsfunksjon ** //
Som sagt tidligere kan også servomotoren styres manuelt fra smarttelefonen. Du sveiper rett til høyre for å få motoren til å bevege seg mot høyre og sveipe til venstre for å få motoren til å bevege seg mot venstre. Ovennevnte funksjon brukes til å oppnå det samme. Servomotorens engel vil bli mottatt direkte av Bluetooth-modulen og lagret i variabelen BluetoothData , så er servoen posisjon i den aktuelle engelen ved å bruke linjen servo.write (BluetoothData).
// ** Funksjon for å kontrollere Servo manuelt ** // ugyldig manualservo () {us (); // Få verdi fra brukeren og kontroller servoen hvis (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Skrevet"); hvis (BluetoothData == 'p') {flag = 0; }}} // __ Slutt på manuell kontrollfunksjon __ //
Den avstand til stede før gjenstanden vil bli beregnet ved nedenfor funksjon. Det fungerer med enkle formler som Speed = Distance / time. Siden vi vet hastigheten på den amerikanske bølgen og tiden det tar, kan avstanden beregnes ved hjelp av formlene ovenfor.
// ** Funksjon for å måle avstanden ** // ugyldiggjøre oss () {int varighet, avstand; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); varighet = pulseIn (echoPin, HIGH); avstand = (varighet / 2) / 29,1; // Beregner avstanden fra sensoren hvis (avstand <200 && avstand> 0) Blueboy.write (avstand); } // __ Avstandsmålingsfunksjonens slutt __ //
Hvis du er i tvil i programmet, kan du gjerne bruke kommentarseksjonen til dine spørsmål. Så når vi er klare med koden vår, kan vi straks dumpe koden i maskinvaren vår. Men overvåkingsenheten begynner ikke å fungere før den er koblet til Android-applikasjonen. Sjekk også videoen på slutten for fullstendig arbeid.
Android-mobilapplikasjon for ultralydradar:
Hvis du ikke vil lage din egen applikasjon og i stedet bare vil installere den samme applikasjonen som brukes i denne opplæringen, kan du følge trinnene nedenfor.
1. Du kan laste ned APK-filen direkte fra lenken nedenfor. Denne APK-filen er laget for Android versjon 4.4.2 og nyere (Kitkat og over). Pakk ut APK-filen fra zip-filen.
Android-applikasjon for ultralydradar
2. Overfør.Apk-filen fra datamaskinen din til mobiltelefonen.
3. Aktiver installering av applikasjon fra ukjente kilder i Android-innstillingene.
4. Installer applikasjonen.
Hvis den er vellykket installert, finner du applikasjonen "Zelobt" installert på telefonen din som vist nedenfor:
Hvis du har installert denne APK-en, kan du hoppe over delen nedenfor og hoppe til neste seksjon.
Programmering av din egen applikasjon ved hjelp av prosessering:
Enten kan du bruke.APK-filen som er gitt ovenfor, eller du kan bygge din egen app ved å bruke Processing som forklart her. Med liten kunnskap om programmering er det også veldig enkelt å skrive din egen kode for din Android-applikasjon. Men hvis du bare begynner, er det ikke tilrådelig å starte med denne koden siden den er litt høy enn nybegynnernivået.
Dette programmet bruker to biblioteker, nemlig "Ketai-biblioteket" og "ControlP5-biblioteket" . Ketai-biblioteket brukes til å kontrollere all maskinvaren som finnes i mobiltelefonen vår. Ting som deg telefoner batterinivå, nærhetssensorverdier, akselerometer sensorverdier, Bluetooth-kontrollalternativer osv. Er lett tilgjengelig i dette biblioteket. I dette programmet bruker vi dette biblioteket for å etablere en kommunikasjon mellom telefonene Bluetooth og Arduino Bluetooth (HC-05). Den “ControlP5 bibliotek” blir brukt til å plotte grafer for vår radar system.
Det komplette android-programmet er vedlagt, du kan laste det ned herfra.
FORSIKTIG: Ikke glem å installere de ovennevnte bibliotekene, og ikke kopier og lim inn kodedelen alene, fordi koden importerer bilder fra datamappen som totalt er gitt i vedlegget ovenfor. Derfor laster du ned og bruker bare det.
Når du er ferdig med kodingsdelen og har fullført den, kan du koble mobiltelefonen direkte til datamaskinen din via datakabelen og klikke på avspillingsknappen for å dumme applikasjonen til mobiltelefonen. Sjekk også de andre prosesseringsprosjektene våre: Ping Pong Game ved hjelp av Arduino og Smart Phone Controlled FM Radio ved hjelp av Processing.
Arbeidsforklaring:
Nå er vi klare med maskinvaren og programvaredelen. Slå på maskinvaren din og par mobilen din til Bluetooth-modulen. Når du er paret, åpner du "Zelobt" -applikasjonen som vi nettopp installerte, og vent nå et sekund, og du bør legge merke til at Bluetooth-modulen (HC-05) automatisk blir koblet til smarttelefonen din. Når forbindelsen er opprettet, får du følgende skjerm:
Du kan merke at det står koblet til: Enhetsnavn (maskinvareadresse) øverst på skjermen. Den viser også servomotorens nåværende engel og avstanden mellom den amerikanske sensoren. En blå graf er også tegnet på den røde bakgrunnen basert på den målte avstanden. Jo nærmere objektet blir, jo høyere blir det blå området. Grafen målt når noen objekter plasseres i nærheten er også vist i den andre figuren ovenfor.
Som sagt tidligere kan du også kontrollere servomotoren din fra mobilappen din. For å gjøre dette, klikker du bare på stoppknappen. Dette forhindrer at servoen feier automatisk. Du kan også finne et sirkulært hjul nederst på skjermen som når du sveiper vil rotere i klokke eller mot klokken. Ved å sveipe dette hjulet kan du også få servomotoren til å dreie i den bestemte retningen. Hjulet og grafen som er oppdatert når du sveiper, vises på bildet nedenfor.
Arduino-koden er gitt nedenfor, og APK-filen for Android-applikasjonen er her. Arbeidet med hele prosjektet er vist i videoen nedenfor. Håper du forsto prosjektet. Hvis du har spørsmål, vennligst bruk kommentarseksjonen nedenfor.