Inhoudsopgave:

Realtime grafiek plotten op Android vanaf Arduino via HC-05: 3 stappen
Realtime grafiek plotten op Android vanaf Arduino via HC-05: 3 stappen

Video: Realtime grafiek plotten op Android vanaf Arduino via HC-05: 3 stappen

Video: Realtime grafiek plotten op Android vanaf Arduino via HC-05: 3 stappen
Video: ELF/EMBARC Bronchiectasis conference 2023 with subtitles 2024, Juni-
Anonim
Realtime grafiek plotten op Android vanaf Arduino via HC-05
Realtime grafiek plotten op Android vanaf Arduino via HC-05

Hoi, hier is een tutorial over het plotten van een realtime grafiek van waarden van een microcontroller zoals een Arduino naar de app. Het gebruikt een Bluetooth-module zoals de HC-05 om te fungeren als een berichtenapparaat om de gegevens tussen de Arduino en Android te verzenden en te ontvangen.

De app is eenvoudig te gebruiken en kan voor andere doeleinden worden gebruikt, zoals een controller om een robotauto te besturen, een seriële monitor, vergelijkbaar met die van de Arduino IDE, om seriële berichten te ontvangen en seriële gegevens te verzenden.

GENOEG CHIT-CHAT LATEN WE BEGINNEN

Benodigdheden

  1. Arduino nano of mega
  2. Serialiseer de Bluetooth-app (https://play.google.com/store/apps/details?id=com.athenaDEVKE.bluetoothserialcommunication)
  3. HC-05
  4. Mannelijke jumperdraden
  5. 10K en 20K weerstanden om een spanningsdeler te vormen. Als u niet twee vergelijkbare weerstanden van matig hoge waarde in serie gebruikt, zullen ze nog steeds werken.

Stap 1: Schema en verbinding

Schema en verbinding
Schema en verbinding
Schema en verbinding
Schema en verbinding
Schema en verbinding
Schema en verbinding
Schema en verbinding
Schema en verbinding
  • Sluit de apparaten aan zoals hierboven weergegeven en schakel de module in
  • Upload de volgende testcode:

#include // Verbind bluetooth-module HC-05 of HC-06 met Arduino en verklaar de gebruikte pinnen als u van plan bent de softwareserie te gebruiken

// Gebruikt om grafische waarden te identificeren

String graphTag = "Grafiek:";

// Gebruikt om de scheiding van waarden binnen de stream te identificeren

char valueSeparatorCharacter = '&';

// Wordt gebruikt om het einde van de stream te identificeren. Dit geldt voor zowel de seriële monitor als de grafiek

char terminatie

  • Zorg ervoor dat u de Serialize Bluetooth-plotter, terminal &controller downloadt (https://play.google.com/store/apps/details?id=com….).
  • Zorg er eerst voor dat je de hc-05-module met je telefoon hebt gekoppeld en start vervolgens de app
  • Selecteer het tabblad Configureren. Klik op vernieuwen om de keuzelijst met invoervak te vullen. Selecteer de module in de keuzelijst. Klik vervolgens op de verbindingsknop en wacht op een pop-upbericht waarin staat dat het apparaat is verbonden.
  • Klik op de grafiek configureren en stel een grafiektag in, selecteer een grafiektype, stel een teken in dat wordt gebruikt om de waarden te scheiden en een afsluitend teken.

;

ongeldige setup() {

// Declareer de baudrate. De app ondersteunt alleen 9600

mijnSerial.begin(9600);

}

lege lus() {

// Een voorbeeldlus voor het plotten van een sinusgolf

voor (float x = -2 * PI; x <= 2 * PI; x = x + PI / 50) {

mijnSerial.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);

}

}

  • Zorg ervoor dat u de Serialize Bluetooth-plotter, terminal &controller downloadt (https://play.google.com/store/apps/details?id=com….).
  • Zorg er eerst voor dat je de hc-05-module met je telefoon hebt gekoppeld en start vervolgens de app
  • Selecteer het tabblad Configureren. Klik op vernieuwen om de keuzelijst met invoervak te vullen. Selecteer de module in de keuzelijst. Klik vervolgens op de verbindingsknop en wacht op een pop-upbericht waarin staat dat het apparaat is verbonden.
  • Klik op de grafiek configureren en stel een grafiektag in, selecteer een grafiektype, stel een teken in dat wordt gebruikt om de waarden te scheiden en een afsluitend teken.

Stap 2: Invoer van de app lezen

Invoer van app lezen
Invoer van app lezen
  • Met dezelfde setup als hierboven:
  • Upload onderstaande code:

#include SoftwareSerial mySerial (12, 11); // Stel zoals gewoonlijk de tx- en rx-pinnen in

ongeldige setup() {

// Baudrate van de bluetooth-module moet worden ingesteld op 9600 om met de app te communiceren

mijnSerial.begin(9600);

// Kan worden ingesteld op elke gewenste baudrate

Serieel.begin(9600);

}

lege lus() {

if(mySerial.available()>0){

// Bij ontvangst van gegevens lees string tot nieuwe regel

String inputString = mySerial.readStringUntil('\n'); // Lees invoer tot nieuwe regel

// Tekenreeks afdrukken

Serial.println(invoerString);

}

}

Test de controller en controleer de output op de seriële monitor en voilà je leest gegevens uit de app

Stap 3: Videobeoordeling/samenvatting

Als je problemen ondervindt, volg dan de bovenstaande video-tutorial

Aanbevolen: