- Krav:
- Download og installation af software:
- Arduino hardware-del og kredsløbsdiagram:
- Arduino softwaredel:
- Android-mobilapplikation til ultralydsradar:
- Arbejdsforklaring:
Dette er et interessant projekt, hvor vi udforsker styrken fra en Arduino og Android til at oprette en overvågningsenhed, der bruger Arduino og Ultra Sonic Sensor til at udsende oplysningerne til en mobilapplikation (Android) ved hjælp af Bluetooth.
Sikkerhed og sikkerhed har været vores primære bekymring siden aldre. Installation af et sikkerhedskamera, der har nattilstand med tilt og panorering, brænder et stort hul på vores lommer. Lad os derfor lave en økonomisk enhed, der gør næsten det samme, men uden nogen videofunktioner.
Denne enhed registrerer genstande ved hjælp af Ultralydssensor og kan derfor fungere selv om natten. Vi monterer også den amerikanske (Ultra Sonic) sensor over en servomotor, denne servomotor kan enten indstilles til at rotere automatisk for at scanne området eller kan drejes manuelt ved hjælp af vores mobilapp, så vi kan fokusere ultralydssensoren i vores krævede retning og fornemme objekterne derovre. Alle de oplysninger, der registreres af den amerikanske sensor, sendes til vores smartphone ved hjælp af Bluetooth-modul (HC-05). Så det fungerer som en ekkolod eller en radar.
Interessant rigtigt ??…. Lad os se, hvad vi ville kræve for at udføre dette projekt.
Krav:
Hardware:
- A + 5V strømforsyning (jeg bruger mit Arduino (et andet) kort til strømforsyning)
- Arduino Mega (Du kan bruge alt fra pro mini til Yun)
- Servomotor (enhver vurdering)
- Bluetooth-modul (HC-05)
- Ultra Sonic-sensor (HC-SR04)
- Brødbræt (ikke obligatorisk)
- Tilslutning af ledninger
- Android mobil
- Computer til programmering
Software:
- Arduino-software
- Android SDK
- Behandler Android (opretter mobilapplikation)
Når vi er klar med vores materialer, så lad os begynde at bygge hardwaren. Jeg har delt denne tutorial i Arduino Part og Processing Part for nem forståelse. Mennesker, der er nye inden for behandling, behøver ikke være bange for meget, fordi den komplette kode gives i slutningen af vejledningen, som kan bruges som sådan.
Download og installation af software:
Den Arduino IDE kan installeres herfra. Download softwaren i henhold til dit operativsystem og installer den. Arduino IDE kræver, at en driver kommunikerer med din Arduino-hardware. Denne driver skal installeres automatisk, når du tilslutter dit kort til din computer. Prøv at uploade et blinkprogram fra eksempler for at sikre dig, at Arduino er i gang.
Den Processing IDE kan installeres herfra. Processing er en fremragende open source-applikation, som kan bruges til mange ting, den har forskellige tilstande. I "Java-tilstand" kan vi oprette Windows-computerapplikationer (.EXE-filer) og i "Android-tilstand" kan vi oprette Android-mobilapplikationer (.APK-filer), den har også andre tilstande som "Python-tilstand", hvor du kan skrive til dig pythonprogrammer. Denne vejledning dækker ikke det grundlæggende i Processing, og derfor, hvis du vil lære java-programmering eller behandling videre til denne fantastiske YouTube-kanal her.
Arduino hardware-del og kredsløbsdiagram:
Dette projekt involverer mange komponenter som Servomotor, Bluetooth-modul, Ultralydssensor osv. Derfor, hvis du er en absolut nybegynder, ville det anbefales at starte med nogle grundlæggende tutorial, der involverer disse komponenter og derefter komme tilbage her. Se vores forskellige projekter om servomotor, Bluetooth-modul og ultralydssensor her.
Alle komponenter er ikke drevet af Arduino selv, fordi servomotoren, Bluetooth-modulet og den amerikanske sensor helt trækker meget strøm, som Arduino ikke vil være i stand til at skaffe. Derfor anbefales det strengt at bruge enhver ekstern + 5V forsyning. Hvis du ikke har en ekstern + 5V-forsyning inden for rækkevidde, kan du dele komponenterne mellem to Arduino-kort, som jeg har gjort. Jeg har tilsluttet Servos strømskinner til et andet Arduino-kort (rød farve) og tilsluttet Bluetooth-modulet HC-05 og ultralydssensoren HC-SR04 til Arduino mega. FORSIGTIG: Når alle disse moduler tændes ved hjælp af et Arduino-kort, fryses Arduino-spændingsregulatoren op.
Forbindelsesdiagram til dette Arduino-baserede ekkolodsprojekt er angivet nedenfor:
Når forbindelserne er foretaget, monteres den amerikanske sensor på din servomotor som vist nedenfor:
Jeg har brugt et lille plaststykke, der var i mit skrammel, og et dobbelt sidetape til montering af sensoren. Du kan komme med din egen idé om at gøre det samme. Der er også servoholdere tilgængelige på markedet, som kan bruges til det samme formål.
Når servoen er monteret, og forbindelserne er givet, skal den se sådan ud.
Følg skemaerne øverst, hvis der er fejl i forbindelserne. Lad os nu begynde at programmere Arduino Mega ved hjælp af Arduino IDE.
Arduino softwaredel:
Vi er nødt til at skrive vores kode, så vi kan beregne afstanden mellem et objekt og Ultra Sonic-sensor og sende den til vores mobilapplikation. Vi er også nødt til at skrive kode for, at vores servomotor kan feje og også blive styret af de data, der modtages af Bluetooth-modulet. Men rolig, programmet er meget enklere end du kan forestille dig takket være Arduino og dets biblioteker. Den komplette kode er angivet nedenfor i kodesektionen.
Nedenstående funktion bruges til at få servomotoren til automatisk at feje fra venstre til højre (170 til 10) og igen fra højre til venstre (10 til 170). De to til sløjfer bruges til at opnå det samme. Funktionen us () kaldes inde i begge funktioner for at beregne afstanden mellem sensoren og objektet og udsende den til Bluetooth. En forsinkelse på 50 ms gives for at få servoen til at rotere langsomt. Jo langsommere motoren roterer, jo nøjagtige dine aflæsninger bliver.
// ** Funktion for servo at feje ** // ugyldig servofun () {Serial.println ("Fejning"); // til debugging for (posc = 10; posc <= 170; posc ++) // Brug af 10 til 170 grader er sikkert end 0 til 180, fordi nogle servo muligvis ikke fungerer i ekstreme vinkler {servo.write (posc); // indstil positionen for servomotorforsinkelse (50); os(); // måle afstanden på objekter, der synger den amerikanske sensor} for (posc = 170; posc> = 10; posc--) {servo.write (posc); forsinkelse (50); os(); // måle afstanden på objekter, der synger den amerikanske sensor} Serial.println ("Scan Complete"); // til debugging flag = 0; } // ** Afslutning af servofejningsfunktion ** //
Som tidligere sagt kan servomotoren også styres manuelt fra smarttelefonen. Du stryger simpelthen til højre for at få motoren til at bevæge sig til højre og stryge til venstre for at få motoren til at bevæge sig til venstre. Ovenstående funktion bruges til at opnå det samme. Servomotorens engel modtages direkte af Bluetooth-modulet og gemmes i den variable BluetoothData , hvorefter servoen er positioneret i den pågældende engel ved hjælp af linjen servo.write (BluetoothData).
// ** Funktion til styring af Servo manuelt ** // ugyldig manualservo () {us (); // Få værdi fra brugeren og styr servoen, hvis (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Skrevet"); hvis (BluetoothData == 'p') {flag = 0; }}} // __ Slut på manuel kontrolfunktion __ //
Den afstand stede før objektet vil blive beregnet af nedenstående funktion. Det fungerer med enkle formler, der viser hastighed = afstand / tid. Da vi kender hastigheden på den amerikanske bølge og den tid, det tager, kan afstanden beregnes ved hjælp af ovenstående formler.
// ** Funktion til at måle afstanden ** // annullere os () {int varighed, afstand; digitalWrite (trigPin, HIGH); forsinkelseMikrosekunder (1000); digitalWrite (trigPin, LOW); varighed = pulseIn (echoPin, HIGH); afstand = (varighed / 2) / 29,1; // Beregner afstanden fra sensoren hvis (distance <200 && distance> 0) Blueboy.write (distance); } // __ Afslutning af afstandsmålefunktion __ //
Hvis du er i tvivl om programmet, er du velkommen til at bruge kommentarsektionen til dine spørgsmål. Så når vi er klar med vores kode, kan vi straks dumpe koden i vores hardware. Men overvågningsenheden begynder ikke at arbejde, før den er forbundet til Android-applikationen. Tjek også videoen i slutningen for fuldstændig arbejde.
Android-mobilapplikation til ultralydsradar:
Hvis du ikke vil oprette din egen applikation og i stedet bare vil installere den samme applikation, der bruges i denne vejledning, kan du følge nedenstående trin.
1. Du kan downloade APK-filen direkte fra nedenstående link. Denne APK-fil er lavet til Android version 4.4.2 og nyere (Kitkat og ovenfor). Uddrag APK-filen fra zip-filen.
Android-applikation til ultralydsradar
2. Overfør.Apk-filen fra din computer til din mobiltelefon.
3. Aktivér installation af applikation fra ukendte kilder i dine Android-indstillinger.
4. Installer applikationen.
Hvis den er installeret, finder du applikationen "Zelobt" installeret på din telefon som vist nedenfor:
Hvis du har installeret denne APK, kan du springe nedenstående del over og springe til næste afsnit.
Programmering af din egen applikation ved hjælp af Processing:
Enten kan du bruge.APK-filen ovenfor, eller du kan oprette din egen app ved hjælp af Processing som forklaret her. Med lidt viden om programmering er det også meget nemt at skrive din egen kode til din Android-applikation. Men hvis du lige er begyndt, er det ikke tilrådeligt at starte med denne kode, da den er lidt højere end begynderniveauet.
Dette program bruger to biblioteker, nemlig "Ketai-biblioteket" og "ControlP5-biblioteket" . Ketai-biblioteket bruges til at kontrollere al den hardware, der findes i vores mobiltelefon. Ting som dig telefoner batteriniveau, værdier for nærhedsføler, værdier for accelerometerføler, Bluetooth-kontrolindstillinger osv. Kan let åbnes i dette bibliotek. I dette program bruger vi dette bibliotek til at etablere en kommunikation mellem telefonens Bluetooth og Arduino Bluetooth (HC-05). Den ”ControlP5 bibliotek” bruges til at plotte grafer for vores radarsystem.
Det komplette Android-program er vedhæftet, du kan downloade det herfra.
FORSIGTIG: Glem ikke at installere de ovennævnte biblioteker og kopier ikke kodedelen alene, fordi koden importerer billeder fra datamappen, som i alt er angivet i ovenstående vedhæftede fil. Derfor download og brug kun det.
Når du er færdig med kodningsdelen og har samlet det, kan du direkte forbinde din mobiltelefon til din computer via datakablet og klikke på play-knappen for at dumme applikationen til din mobiltelefon. Tjek også vores andre behandlingsprojekter: Ping Pong-spil ved hjælp af Arduino og Smart Phone-styret FM-radio ved hjælp af Processing.
Arbejdsforklaring:
Nu er vi klar med vores hardware og softwaredelen. Tænd din hardware, og par din mobiltelefon til Bluetooth-modulet. Når du er parret, skal du åbne din "Zelobt" -applikation, som vi lige har installeret, og vent nu et øjeblik, og du skal bemærke, at dit Bluetooth-modul (HC-05) automatisk bliver forbundet med din smartphone. Når forbindelsen er oprettet, får du følgende skærmbillede:
Du kan bemærke, at der står forbundet til: Enhedsnavn (hardware-adresse) øverst på skærmen. Det viser også servomotorens aktuelle engel og afstanden mellem den amerikanske sensor. En blå graf afbildes også på den røde baggrund baseret på den målte afstand. Jo tættere objektet bliver, jo højere er det blå område. Grafen målt når nogle genstande placeres i nærheden vises også i den anden figur ovenfor.
Som sagt tidligere kan du også styre din servomotor fra din mobilapp. For at gøre dette skal du blot klikke på stop-knappen. Dette forhindrer din servo i at feje automatisk. Du kan også finde et cirkulært hjul i bunden af skærmen, som, når det stryges, vil dreje i uret eller mod uret. Ved at skubbe dette hjul kan du også få din servomotor til at dreje i den bestemte retning. Hjulet og grafen opdateret, når de er skubbet, vises på billedet nedenfor.
Arduino-koden er angivet nedenfor, og APK-filen til Android-applikationen er her. Arbejdet med det komplette projekt vises i videoen nedenfor. Håber du forstod projektet. Hvis du har spørgsmål, bedes du bruge kommentarsektionen nedenfor.