- Bedarf:
- Herunterladen und Installieren von Software:
- Arduino Hardware Teil und Schaltplan:
- Arduino Software Teil:
- Android Mobile-Anwendung für Ultraschallradar:
- Arbeitserklärung:
Dies ist ein interessantes Projekt, in dem wir die Leistungsfähigkeit eines Arduino und Android untersuchen, um ein Überwachungsgerät zu erstellen , das Arduino und Ultra Sonic Sensor verwendet, um die Informationen über Bluetooth an eine mobile Anwendung (Android) zu senden.
Sicherheit ist seit jeher unser Hauptanliegen. Wenn Sie eine Überwachungskamera mit Nachtmodus mit Neigungs- und Schwenkoption installieren, brennt ein großes Loch in unseren Taschen. Lassen Sie uns daher ein wirtschaftliches Gerät entwickeln, das fast dasselbe tut, jedoch keine Videofunktionen aufweist.
Dieses Gerät erkennt Objekte mit Hilfe des Ultraschallsensors und kann daher auch nachts arbeiten. Außerdem montieren wir den US-Sensor (Ultra Sonic) über einem Servomotor. Dieser Servomotor kann entweder so eingestellt werden, dass er sich automatisch dreht, um den Bereich abzutasten, oder er kann manuell mit unserer mobilen App gedreht werden, damit wir den Ultraschallsensor fokussieren können unsere geforderte Richtung und spüren die dort vorhandenen Objekte. Alle vom US-Sensor erfassten Informationen werden über das Bluetooth-Modul (HC-05) an unser Smartphone übertragen. Es funktioniert also wie ein Sonar oder ein Radar.
Interessant, oder?…. Lassen Sie uns sehen, was wir für dieses Projekt benötigen würden.
Bedarf:
Hardware:
- A + 5V Stromversorgung (Ich verwende meine Arduino (eine andere) Karte für die Stromversorgung)
- Arduino Mega (Sie können alles von Pro Mini bis Yun verwenden)
- Servomotor (jede Bewertung)
- Bluetooth-Modul (HC-05)
- Ultraschallsensor (HC-SR04)
- Steckbrett (nicht obligatorisch)
- Kabel anschließen
- Android-Handy
- Computer zum Programmieren
Software:
- Arduino Software
- Android SDK
- Android verarbeiten (Mobile Anwendung erstellen)
Sobald wir mit unseren Materialien fertig sind, können wir mit dem Bau der Hardware beginnen. Ich habe dieses Tutorial zum leichteren Verständnis in Arduino Part und Processing Part aufgeteilt. Personen, die neu in der Verarbeitung sind, müssen sich nicht viel fürchten, da der vollständige Code am Ende des Tutorials angegeben wird, der als solcher verwendet werden kann.
Herunterladen und Installieren von Software:
Die Arduino IDE kann von hier aus installiert werden. Laden Sie die Software entsprechend Ihrem Betriebssystem herunter und installieren Sie sie. Für die Arduino IDE ist ein Treiber erforderlich, um mit Ihrer Arduino Hardware zu kommunizieren. Dieser Treiber sollte automatisch installiert werden, sobald Sie Ihr Board mit Ihrem Computer verbinden. Versuchen Sie, ein Blinkprogramm aus Beispielen hochzuladen, um sicherzustellen, dass Arduino aktiv ist.
Die Verarbeitungs-IDE kann von hier aus installiert werden. Die Verarbeitung ist eine hervorragende Open-Source-Anwendung, die für viele Zwecke verwendet werden kann. Sie verfügt über verschiedene Modi. Im "Java-Modus" können wir Windows-Computeranwendungen (.EXE-Dateien) erstellen und im "Android-Modus" können wir mobile Android-Anwendungen (.APK-Dateien) erstellen. Es gibt auch andere Modi wie den "Python-Modus", in dem Sie Python-Programme schreiben können. In diesem Tutorial werden die Grundlagen der Verarbeitung nicht behandelt. Wenn Sie also Java-Programmierung oder -Verarbeitung lernen möchten, besuchen Sie diesen großartigen YouTube-Kanal hier.
Arduino Hardware Teil und Schaltplan:
Dieses Projekt umfasst viele Komponenten wie den Servomotor, das Bluetooth-Modul, den Ultraschallsensor usw. Wenn Sie also ein absoluter Anfänger sind, wird empfohlen, mit einem grundlegenden Tutorial zu beginnen, das diese Komponenten umfasst, und dann hierher zurückzukehren. Schauen Sie sich hier unsere verschiedenen Projekte zu Servomotor, Bluetooth-Modul und Ultraschallsensor an.
Alle Komponenten werden nicht vom Arduino selbst mit Strom versorgt, da der Servomotor, das Bluetooth-Modul und der US-Sensor insgesamt viel Strom verbrauchen, den der Arduino nicht beziehen kann. Daher ist es unbedingt ratsam, eine externe + 5V-Versorgung zu verwenden. Wenn Sie keine externe + 5V-Versorgung zur Verfügung haben, können Sie die Komponenten wie bisher auf zwei Arduino-Boards verteilen. Ich habe die Servos-Stromschienen mit einer anderen Arduino-Karte (rote Farbe) verbunden und das Bluetooth-Modul HC-05 und den Ultraschallsensor HC-SR04 mit dem Arduino-Mega verbunden. VORSICHT: Wenn Sie alle diese Module mit einer Arduino-Karte einschalten, wird der Arduino-Spannungsregler durchgebrannt.
Das Verbindungsdiagramm für dieses Arduino-basierte Sonarprojekt ist unten angegeben:
Sobald die Verbindungen hergestellt sind, montieren Sie den US-Sensor wie unten gezeigt an Ihrem Servomotor:
Ich habe ein kleines Plastikstück in meinem Müll und ein doppelseitiges Klebeband verwendet, um den Sensor zu montieren. Sie können sich eine eigene Idee einfallen lassen, um dasselbe zu tun. Auf dem Markt sind auch Servohalter erhältlich, die für den gleichen Zweck verwendet werden können.
Sobald der Servo montiert ist und die Verbindungen hergestellt sind, sollte er ungefähr so aussehen.
Befolgen Sie die obigen Schaltpläne, wenn Verbindungen falsch sind. Beginnen wir nun mit der Programmierung des Arduino Mega mit der Arduino IDE.
Arduino Software Teil:
Wir müssen unseren Code schreiben, damit wir die Entfernung zwischen einem Objekt und dem Ultra Sonic-Sensor berechnen und an unsere mobile Anwendung senden können. Wir müssen auch Code schreiben, damit unser Servomotor wischt und von den vom Bluetooth-Modul empfangenen Daten gesteuert wird. Aber keine Sorge, das Programm ist dank Arduino und seinen Bibliotheken viel einfacher als Sie es sich vorstellen können. Der vollständige Code ist unten im Codeabschnitt angegeben.
Mit der folgenden Funktion wird der Servomotor automatisch von links nach rechts (170 bis 10) und erneut von rechts nach links (10 bis 170) gewobbelt. Die beiden for- Schleifen werden verwendet, um dasselbe zu erreichen. Die Funktion us () wird in beiden Funktionen aufgerufen, um die Entfernung zwischen Sensor und Objekt zu berechnen und an Bluetooth zu senden. Eine Verzögerung von 50 ms wird angegeben, damit sich das Servo langsam dreht. Je langsamer sich der Motor dreht, desto genauer werden Ihre Messwerte.
// ** Funktion für Servo zum Sweep ** // void servofun () {Serial.println ("Sweeping"); // zum Debuggen für (posc = 10; posc <= 170; posc ++) // Die Verwendung von 10 bis 170 Grad ist sicherer als 0 bis 180, da einige Servos bei extremen Engeln möglicherweise nicht betriebsbereit sind {servo.write (posc); // Position der Servomotorverzögerung einstellen (50); uns(); // Messen Sie die Entfernung von Objekten, die den US-Sensor singen} für (posc = 170; posc> = 10; posc--) {servo.write (posc); Verzögerung (50); uns(); // Messung der Entfernung von Objekten auf dem US-Sensor} Serial.println ("Scan Complete"); // zum Debuggen flag = 0; } // ** Ende der Servo-Sweeping-Funktion ** //
Wie bereits erwähnt, kann der Servomotor auch manuell vom Smartphone aus gesteuert werden. Sie wischen einfach nach rechts, um den Motor nach rechts zu bewegen, und nach links, um den Motor nach links zu bewegen. Die obige Funktion wird verwendet, um dasselbe zu erreichen. Der Engel des Servomotors wird direkt vom Bluetooth-Modul empfangen und in der Variablen BluetoothData gespeichert. Anschließend wird das Servo mithilfe der Zeile servo.write (BluetoothData) in diesem bestimmten Engel positioniert.
// ** Funktion zur manuellen Steuerung des Servos ** // void manualservo () {us (); // Wert vom Benutzer abrufen und Servo steuern if (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Written"); if (BluetoothData == 'p') {flag = 0; }}} // __ Ende der manuellen Steuerfunktion __ //
Die vor dem Objekt vorhandene Entfernung wird durch die folgende Funktion berechnet. Es funktioniert mit einfachen Formeln, die Geschwindigkeit = Entfernung / Zeit. Da wir die Geschwindigkeit der US-Welle und die benötigte Zeit kennen, kann die Entfernung unter Verwendung der obigen Formeln berechnet werden.
// ** Funktion zum Messen der Entfernung ** // void us () {int duration, distance; digitalWrite (trigPin, HIGH); delayMicroseconds (1000); digitalWrite (trigPin, LOW); Dauer = PulsIn (echoPin, HIGH); Entfernung = (Dauer / 2) / 29,1; // Berechnet die Entfernung vom Sensor, wenn (Entfernung <200 && Entfernung> 0) Blueboy.write (Entfernung); } // __ Funktion zum Messen der Entfernungsende __ //
Wenn Sie irgendwelche Zweifel im Programm haben, können Sie den Kommentarbereich für Ihre Anfragen verwenden. Sobald wir mit unserem Code fertig sind, können wir den Code sofort in unsere Hardware kopieren. Das Überwachungsgerät funktioniert jedoch erst, wenn es mit der Android-Anwendung verbunden ist. Überprüfen Sie auch das Video am Ende auf vollständige Arbeit.
Android Mobile-Anwendung für Ultraschallradar:
Wenn Sie keine eigene Anwendung erstellen und stattdessen nur dieselbe Anwendung installieren möchten, die in diesem Lernprogramm verwendet wird, können Sie die folgenden Schritte ausführen.
1. Sie können die APK-Datei direkt über den folgenden Link herunterladen. Diese APK-Datei wurde für Android Version 4.4.2 und höher (Kitkat an oben) erstellt. Extrahieren Sie die APK-Datei aus der Zip-Datei.
Android-Anwendung für Ultraschallradar
2. Übertragen Sie die.Apk-Datei von Ihrem Computer auf Ihr Mobiltelefon.
3. Aktivieren Sie die Installation von Anwendungen aus unbekannten Quellen in Ihren Android-Einstellungen.
4. Installieren Sie die Anwendung.
Bei erfolgreicher Installation wird die Anwendung "Zelobt" wie unten gezeigt auf Ihrem Telefon installiert:
Wenn Sie diese APK installiert haben, können Sie den folgenden Teil überspringen und zum nächsten Abschnitt springen.
Programmieren Ihrer eigenen Anwendung mit Processing:
Entweder können Sie die oben angegebene.APK-Datei verwenden oder mithilfe der hier beschriebenen Verarbeitung Ihre eigene App erstellen. Mit wenig Programmierkenntnissen ist es auch sehr einfach, eigenen Code für Ihre Android-Anwendung zu schreiben. Wenn Sie jedoch gerade erst anfangen, ist es nicht ratsam, mit diesem Code zu beginnen, da er etwas höher als das Anfängerlevel ist.
Dieses Programm verwendet zwei Bibliotheken, nämlich die "Ketai-Bibliothek" und die "ControlP5-Bibliothek" . Die Ketai-Bibliothek wird verwendet, um die gesamte in unserem Mobiltelefon vorhandene Hardware zu steuern. Auf Dinge wie den Akkuladestand Ihres Telefons, Näherungssensorwerte, Beschleunigungssensorwerte, Bluetooth-Steuerungsoptionen usw. kann über diese Bibliothek problemlos zugegriffen werden. In diesem Programm verwenden wir diese Bibliothek, um eine Kommunikation zwischen dem Bluetooth des Telefons und dem Arduino Bluetooth (HC-05) herzustellen. Die „ControlP5-Bibliothek“ wird verwendet, um Diagramme für unser Radarsystem zu zeichnen.
Das komplette Android-Programm ist beigefügt, Sie können es hier herunterladen.
VORSICHT: Vergessen Sie nicht, die oben genannten Bibliotheken zu installieren, und kopieren Sie den Codeteil nicht allein, da der Code Bilder aus dem Datenordner importiert, der im obigen Anhang angegeben ist. Laden Sie daher nur das herunter und verwenden Sie es.
Sobald Sie mit dem Codierungsteil fertig sind und ihn erfolgreich kompiliert haben, können Sie Ihr Mobiltelefon über ein Datenkabel direkt mit Ihrem Computer verbinden und auf die Wiedergabetaste klicken, um die Anwendung auf Ihr Mobiltelefon zu übertragen. Überprüfen Sie auch unsere anderen Verarbeitungsprojekte: Ping-Pong-Spiel mit Arduino und Smartphone-gesteuertes FM-Radio mit Verarbeitung.
Arbeitserklärung:
Jetzt sind wir mit unserer Hardware und dem Softwareteil fertig. Schalten Sie Ihre Hardware ein und koppeln Sie Ihr Handy mit dem Bluetooth-Modul. Öffnen Sie nach dem Pairing Ihre soeben installierte „Zelobt“ -Anwendung und warten Sie eine Sekunde. Sie sollten dann feststellen, dass Ihr Bluetooth-Modul (HC-05) automatisch mit Ihrem Smartphone verbunden wird. Sobald die Verbindung hergestellt ist, wird der folgende Bildschirm angezeigt:
Sie können feststellen, dass oben auf dem Bildschirm Folgendes angezeigt wird: Gerätename (Hardwareadresse). Es zeigt auch den aktuellen Winkel des Servomotors und den Abstand zwischen dem US-Sensor an. Basierend auf der gemessenen Entfernung wird auch ein blaues Diagramm auf dem roten Hintergrund dargestellt. Je näher das Objekt kommt, desto größer wird der blaue Bereich. Das Diagramm, das gemessen wird, wenn einige Objekte in der Nähe platziert werden, ist auch in der zweiten Abbildung oben dargestellt.
Wie bereits erwähnt, können Sie Ihren Servomotor auch über Ihre mobile App steuern. Klicken Sie dazu einfach auf die Schaltfläche Stopp. Dies verhindert, dass Ihr Servo automatisch fegt. Sie finden auch ein kreisförmiges Rad am unteren Rand des Bildschirms, das sich beim Wischen im Uhrzeigersinn oder gegen den Uhrzeigersinn dreht. Durch Wischen dieses Rades können Sie Ihren Servomotor auch in diese bestimmte Richtung drehen lassen. Das Rad und die Grafik, die beim Wischen aktualisiert wurden, sind in der folgenden Abbildung dargestellt.
Arduino Code ist unten angegeben und die APK-Datei für Android-Anwendung ist hier. Die Arbeitsweise des gesamten Projekts ist im folgenden Video dargestellt. Ich hoffe, Sie haben das Projekt verstanden. Wenn Sie Fragen haben, verwenden Sie bitte den Kommentarbereich unten.