- Krav:
- Ladda ner och installera programvaror:
- Arduino hårdvarudel och kretsschema:
- Arduino-programvarudel:
- Android-mobilapplikation för ultraljudradar:
- Arbetsförklaring:
Detta är ett intressant projekt där vi utforskar kraften hos en Arduino och Android för att skapa en övervakningsenhet som använder Arduino och Ultra Sonic Sensor för att sända informationen till en mobilapplikation (Android) med Bluetooth.
Säkerhet och säkerhet har varit vårt främsta bekymmer sedan åldrar. Att installera en säkerhetskamera som har nattläge med lutnings- och panoreringsalternativ bränner ett stort hål i våra fickor. Låt oss därför göra en ekonomisk enhet som gör nästan detsamma men utan några videofunktioner.
Den här enheten känner av föremål med hjälp av ultraljudssensor och kan därför fungera även på natten. Vi monterar också den amerikanska (Ultra Sonic) sensorn över en servomotor, den här servomotorn kan antingen ställas in för att rotera automatiskt för att skanna området eller kan roteras manuellt med vår mobilapp, så att vi kan fokusera ultraljudssensorn i vår önskade riktning och känna av de föremål som finns där borta. All information som känns av den amerikanska sensorn kommer att sändas till vår smarttelefon med hjälp av Bluetooth-modulen (HC-05). Så det fungerar som en ekolod eller en radar.
Intressant rätt ??…. Låt oss se vad vi skulle behöva för att göra detta projekt.
Krav:
Hårdvara:
- A + 5V strömförsörjning (jag använder mitt Arduino (ett annat) kort för strömförsörjning)
- Arduino Mega (Du kan använda allt från pro mini till Yun)
- Servomotor (valfritt betyg)
- Bluetooth-modul (HC-05)
- Ultra Sonic-sensor (HC-SR04)
- Brödbräda (ej obligatoriskt)
- Anslutande ledningar
- Android mobil
- Dator för programmering
Programvara:
- Arduino-programvara
- Android SDK
- Bearbetar Android (för att skapa mobilapplikation)
När vi är klara med våra material, låt oss börja bygga hårdvaran. Jag har delat denna handledning i Arduino Part och Processing Part för enkel förståelse. Människor som är nya för bearbetning behöver inte vara rädda för mycket eftersom den fullständiga koden ges i slutet av handledningen som kan användas som sådan.
Ladda ner och installera programvaror:
Den Arduino IDE kan installeras härifrån. Ladda ner programvaran enligt ditt operativsystem och installera den. Arduino IDE kräver en drivrutin för att kommunicera med din Arduino-maskinvara. Den här drivrutinen ska installeras automatiskt när du ansluter ditt kort till din dator. Försök ladda upp ett blinkprogram från exempel för att se till att Arduino är igång.
Den Processing IDE kan installeras härifrån. Bearbetning är en utmärkt applikation med öppen källkod som kan användas för många saker, den har olika lägen. I "Java Mode" kan vi skapa Windows-datorprogram (.EXE-filer) och i "Android-läge" kan vi skapa Android-mobilapplikationer (.APK-filer). Det har också andra lägen som "Python-läge" där du kan skriva till dig pythonprogram. Denna handledning kommer inte att täcka grunderna för bearbetning, följaktligen om du vill lära dig Java-programmering eller bearbetning på denna fantastiska YouTube-kanal här.
Arduino hårdvarudel och kretsschema:
Detta projekt involverar många komponenter som servomotor, Bluetooth-modul, ultraljudssensor etc. Om du är en absolut nybörjare skulle det därför rekommenderas att börja med en grundläggande handledning som involverar dessa komponenter och sedan komma tillbaka hit. Kolla in våra olika projekt om servomotor, Bluetooth-modul och ultraljudssensor här.
Alla komponenter drivs inte av Arduino själv eftersom servomotorn, Bluetooth-modulen och den amerikanska sensorn helt och hållet drar mycket ström som Arduino inte kommer att kunna källa. Därför är det absolut tillrådligt att använda extern + 5V-strömförsörjning. Om du inte har en extern + 5V-försörjning inom räckhåll kan du dela komponenterna mellan två Arduino-kort som jag har gjort. Jag har anslutit Servos strömskenor till ett annat Arduino-kort (röd färg) och anslutit Bluetooth-modulen HC-05 och ultraljudssensorn HC-SR04 till Arduino mega. FÖRSIKTIGHET: Att starta upp alla dessa moduler med ett Arduino-kort kommer att steka upp Arduino-spänningsregulatorn.
Anslutningsdiagram för detta Arduino-baserade ekolodsprojekt ges nedan:
När anslutningarna har gjorts monterar du den amerikanska sensorn på din servomotor enligt nedan:
Jag har använt ett litet plaststycke i mitt skräp och ett dubbelt tejp för att montera sensorn. Du kan komma på din egen idé att göra detsamma. Det finns också servohållare tillgängliga på marknaden som kan användas för samma ändamål.
När servon är monterad och anslutningarna ges, bör den se ut så här.
Följ schemat överst om du får fel anslutningar. Låt oss nu börja programmera Arduino Mega med Arduino IDE.
Arduino-programvarudel:
Vi måste skriva vår kod så att vi kan beräkna avståndet mellan ett objekt och Ultra Sonic-sensor och skicka den till vår mobilapplikation. Vi måste också skriva kod för att servomotorn ska svepa och även få kontroll från de data som mottas av Bluetooth-modulen. Men oroa dig inte, programmet är mycket enklare än du kan föreställa dig tack vare Arduino och dess bibliotek. Den fullständiga koden ges nedan i kodavsnittet.
Nedanstående funktion används för att få servomotorn att automatiskt svepa från vänster till höger (170 till 10) och igen från höger till vänster (10 till 170). De två för öglorna används för att uppnå samma. Funktionen us () kallas inuti båda funktionerna för att beräkna avståndet mellan sensorn och objektet och sända det till Bluetooth. En fördröjning på 50 ms ges för att få servon att rotera långsamt. Ju långsammare motorn roterar ju exaktare dina avläsningar blir.
// ** Funktion för servo att svepa ** // ogiltig servofun () {Serial.println ("Sweeping"); // för felsökning för (posc = 10; posc <= 170; posc ++) // Att använda 10 till 170 grader är säkert än 0 till 180 eftersom vissa servo kanske inte fungerar i extrema änglar {servo.write (posc); // ställ in läget för servomotorfördröjning (50); oss (); // mäta avståndet mellan objekt som sjunger USA-sensorn} för (posc = 170; posc> = 10; posc--) {servo.write (posc); fördröjning (50); oss (); // mäta avståndet mellan objekt som sjunger den amerikanska sensorn} Serial.println ("Scan Complete"); // för felsökningsflagga = 0; } // ** Slut på servo-svepfunktion ** //
Som sagt tidigare kan servomotorn också styras manuellt från smarttelefonen. Du sveper helt enkelt åt höger för att få motorn att flytta åt höger och svepa åt vänster för att få motorn att flytta åt vänster. Ovanstående funktion används för att uppnå detsamma. Servomotorns ängel kommer att tas emot direkt av Bluetooth-modulen och lagras i variabeln BluetoothData , då placeras servon i den aktuella ängeln genom att använda linjen servo.write (BluetoothData).
// ** Funktion för att styra Servo manuellt ** // ogiltig manualservo () {us (); // Få värde från användaren och kontrollera servon om (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Written"); om (BluetoothData == 'p') {flagga = 0; }}} // __ Slut på manuell kontrollfunktion __ //
Den Avståndet närvarande innan objektet kommer att beräknas genom nedanstående funktion. Det fungerar med enkla formler som Speed = Distance / time. Eftersom vi känner till den amerikanska vågens hastighet och den tid det tar kan avståndet beräknas med formlerna ovan.
// ** Funktion för att mäta avståndet ** // ogiltigförklara oss () {int varaktighet, avstånd; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); varaktighet = pulseIn (echoPin, HIGH); avstånd = (varaktighet / 2) / 29,1; // Beräknar avståndet från sensorn om (avstånd <200 && avstånd> 0) Blueboy.write (avstånd); } // __ Avståndsmätningsfunktionens slut __ //
Om du är osäker på programmet kan du gärna använda kommentarsektionen för dina frågor. Så när vi är redo med vår kod kan vi genast dumpa koden i vår hårdvara. Men övervakningsenheten börjar inte fungera förrän den är ansluten till Android-applikationen. Kolla också in videon i slutet för fullständigt arbete.
Android-mobilapplikation för ultraljudradar:
Om du inte vill skapa din egen applikation och istället bara vill installera samma applikation som används i denna handledning kan du följa stegen nedan.
1. Du kan ladda ner APK-filen direkt från länken nedan. Denna APK-fil är gjord för Android version 4.4.2 och senare (Kitkat och ovan). Extrahera APK-filen från zip-filen.
Android-applikation för ultraljudradar
2. Överför. Apk-filen från din dator till din mobiltelefon.
3. Aktivera installation av applikation från okända källor i dina Android-inställningar.
4. Installera programmet.
Om du har installerat det, hittar du applikationen "Zelobt" installerad på din telefon enligt nedan:
Om du har installerat den här APK-filen kan du hoppa över nedanstående del och hoppa till nästa avsnitt.
Programmera din egen applikation med Processing:
Antingen kan du använda.APK-filen som ges ovan eller så kan du skapa din egen app med bearbetning som förklaras här. Med lite kunskap om programmering är det också mycket enkelt att skriva din egen kod för din Android-applikation. Men om du bara börjar är det inte tillrådligt att börja med den här koden eftersom den är lite högre än nybörjarnivån.
Detta program använder två bibliotek, nämligen "Ketai-biblioteket" och "ControlP5-biblioteket" . Ketai-biblioteket används för att styra all hårdvara som finns i vår mobiltelefon. Saker som du telefoner batterinivå, närhetssensorvärden, accelerometersensorvärden, Bluetooth-kontrollalternativ etc. kan lätt nås av detta bibliotek. I det här programmet använder vi detta bibliotek för att upprätta en kommunikation mellan telefonerna Bluetooth och Arduino Bluetooth (HC-05). Den ”ControlP5 bibliotek” används för att rita diagram för vårt radarsystem.
Det kompletta Android-programmet är bifogat, du kan ladda ner det härifrån.
VARNING: Glöm inte att installera ovan nämnda bibliotek och kopiera inte klistra in koddelen ensam, eftersom koden importerar bilder från datamappen som helt och hållet anges i bifogad fil ovan. Därför ladda ner och använd endast det.
När du är klar med kodningsdelen och framgångsrikt har sammanställt den kan du ansluta din mobiltelefon direkt till din dator via datakabel och klicka på play-knappen för att döma applikationen till din mobiltelefon. Kontrollera också våra andra bearbetningsprojekt: Ping Pong-spel med Arduino och Smart Phone-kontrollerad FM-radio med bearbetning.
Arbetsförklaring:
Nu är vi redo med vår hårdvara och programvarudelen. Starta din hårdvara och para ihop din mobil med Bluetooth-modulen. När du väl har parat ihop öppnar du din “Zelobt” -applikation som vi just installerade och väntar nu en sekund och du bör märka att din Bluetooth-modul (HC-05) automatiskt ansluter till din smartphone. När anslutningen har upprättats får du följande skärm:
Du kan märka att det står anslutet till: Enhetsnamn (maskinvaruadress) högst upp på skärmen. Den visar också servomotorns nuvarande ängel och avståndet mellan den amerikanska sensorn. En blå graf ritas också på den röda bakgrunden baserat på det uppmätta avståndet. Ju närmare objektet blir desto högre blir det blå området. Grafen som mäts när vissa objekt placeras nära visas också i den andra figuren ovan.
Som sagt tidigare kan du också styra din servomotor från din mobilapp. Klicka på stoppknappen för att göra dessa. Detta hindrar din servo från att svepa automatiskt. Du kan också hitta ett cirkulärt hjul längst ner på skärmen som när du sveper kommer att rotera i klockan eller moturs. Genom att svepa det här hjulet kan du också låta din servomotor svänga i just den riktningen. Hjulet och grafen som uppdateras när du sveper visas på bilden nedan.
Arduino-koden ges nedan och APK-filen för Android-applikationen finns här. Arbetet med hela projektet visas i videon nedan. Hoppas att du förstod projektet. Om du har några frågor, vänligen använd kommentarsektionen nedan.