Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Sie da, Hier ist ein Tutorial zum Zeichnen eines Echtzeit-Graphen von Werten von einem Mikrocontroller wie einem Arduino zur App. Es verwendet ein Bluetooth-Modul wie das HC-05, um als Messaging-Gerät zu fungieren, um die Daten zwischen dem Arduino und Android zu übertragen und zu empfangen.
Die App ist einfach zu bedienen und kann für andere Zwecke verwendet werden, z. B. als Controller zur Steuerung eines Roboterautos, als serieller Monitor, ähnlich dem von der Arduino IDE angebotenen, um serielle Nachrichten zu empfangen und serielle Daten zu senden.
GENUG CHIT-CHAT LASST UNS STARTEN
Lieferungen
- Arduino Nano oder Mega
- Bluetooth-App serialisieren (https://play.google.com/store/apps/details?id=com.athenaDEVKE.bluetoothserialcommunication)
- HC-05
- Männliche Überbrückungsdrähte
- 10K- und 20K-Widerstände, um einen Spannungsteiler zu bilden. Wenn nicht zwei ähnliche Widerstände mit mäßig hohem Wert in Reihe verwendet werden, funktionieren sie immer noch.
Schritt 1: Schaltplan und Anschluss
- Schließen Sie die Geräte wie oben gezeigt an und schalten Sie das Modul ein
- Laden Sie den folgenden Testcode hoch:
#include // Verbinden Sie das Bluetooth-Modul HC-05 oder HC-06 mit Arduino und geben Sie die verwendeten Pins an, wenn Sie die Softwareserie verwenden möchten
// Wird verwendet, um grafische Werte zu identifizieren
String graphTag = "Grafik:";
// Wird verwendet, um die Trennung von Werten innerhalb des Streams zu identifizieren
char valueSeparatorCharacter = '&';
// Wird verwendet, um das Ende des Streams zu identifizieren. Dies gilt sowohl für den seriellen Monitor als auch für den Graphen
Zeichenbeendigung
- Stellen Sie sicher, dass Sie den Serialize Bluetooth-Plotter, Terminal & Controller herunterladen (https://play.google.com/store/apps/details?id=com….).
- Stellen Sie zunächst sicher, dass Sie das hc-05-Modul mit Ihrem Telefon gekoppelt haben, und starten Sie dann die App
- Wählen Sie die Registerkarte Konfigurieren. Klicken Sie auf die Aktualisierung, um das Kombinationsfeld zu füllen. Wählen Sie das Modul aus dem Kombinationsfeld aus. Klicken Sie dann auf die Schaltfläche Verbinden und warten Sie auf die Popup-Meldung, dass das Gerät verbunden ist.
- Klicken Sie auf das Diagramm konfigurieren und legen Sie ein Diagramm-Tag fest, wählen Sie einen Diagrammtyp aus, legen Sie ein Zeichen zum Trennen der Werte und ein Abschlusszeichen fest.
;
Leere Einrichtung () {
// Deklarieren Sie die Baudrate. Die App unterstützt nur 9600
mySerial.begin(9600);
}
Leere Schleife () {
// Eine Beispielschleife zum Zeichnen einer Sinuswelle
für (Schwimmer x = -2 * PI; x <= 2 * PI; x = x + PI / 50) {
mySerial.print (graphTag);
mySerial.print (240 * sin(x));
mySerial.print(valueSeparatorCharacter);
mySerial.print (240 * sin (x + (2 * PI / 3)));
mySerial.print(valueSeparatorCharacter);
mySerial.print (240 * sin(x + (4 * PI / 3)));
mySerial.print(terminationSeparatorCharacter);
}
}
- Stellen Sie sicher, dass Sie den Serialize Bluetooth-Plotter, Terminal & Controller herunterladen (https://play.google.com/store/apps/details?id=com….).
- Stellen Sie zunächst sicher, dass Sie das hc-05-Modul mit Ihrem Telefon gekoppelt haben, und starten Sie dann die App
- Wählen Sie die Registerkarte Konfigurieren. Klicken Sie auf die Aktualisierung, um das Kombinationsfeld zu füllen. Wählen Sie das Modul aus dem Kombinationsfeld aus. Klicken Sie dann auf die Schaltfläche Verbinden und warten Sie auf die Popup-Meldung, dass das Gerät verbunden ist.
- Klicken Sie auf das Diagramm konfigurieren und legen Sie ein Diagramm-Tag fest, wählen Sie einen Diagrammtyp aus, legen Sie ein Zeichen zum Trennen der Werte und ein Abschlusszeichen fest.
Schritt 2: Eingaben von der App lesen
- Mit dem gleichen Setup wie oben:
- Laden Sie den folgenden Code hoch:
#include SoftwareSerial mySerial(12, 11); // Wie üblich die tx- und rx-Pins einstellen
Leere Einrichtung () {
// Die Baudrate des Bluetooth-Moduls muss auf 9600 eingestellt sein, um mit der App zu kommunizieren
mySerial.begin(9600);
// Kann auf jede gewünschte Baudrate eingestellt werden
Serial.begin (9600);
}
Leere Schleife () {
if(mySerial.verfügbar()>0){
// Beim Empfangen von Daten den String bis zur neuen Zeile lesen
String inputString = mySerial.readStringUntil('\n'); // Eingabe bis zur neuen Zeile lesen
// Zeichenkette drucken
Serial.println (inputString);
}
}
Testen Sie den Controller und überwachen Sie die Ausgabe auf dem seriellen Monitor und voilà Sie lesen Daten aus der App
Schritt 3: Videoüberprüfung/Rekapitulation
Wenn Sie Schwierigkeiten haben, folgen Sie bitte dem obigen Video-Tutorial