Het weer is niet altijd even best om buiten dingen te testen.
Om toch verder te kunnen testen met de GPS widget heb ik een GPS simulator/sensor gemaakt met de basis van een eerder project.
Ooit heb ik voor android een GPS Simulator app ontwikkeld, deze app kan GPS NMEA strings genereren zoals een echte GPS dat ook doet.
Via een HC-06 Bluetooth module is het mogelijk verbinding te maken met de app.
De Bluetooth module stuurt via de UART dan dezelfde NMEA berichten uit.
Zoals positie, snelheid, hoogte, bearing en satelliet fix.
Wat heb je nodig:
Arduino Nano of elk andere Arduino gebasseerd op een AtMega328
Beide op basis van een AtMega328, Voorkeur gaat uit naar de Nano omdat deze direct een USB programmeer aansluiting heeft.
1x HC-06 Bluetooth module.
USB-TTL converter printje
Deze is nodig om de bluetooth module te programmeren en/of de Arduino Pro Mini, dit kan elke soort van USB naar TTL adapter wezen.
Servo kabeltje voor Smartport verbinding naar de ontvanger.
Programmeren van de Bluetooth module:
Belangrijk is om de bluetooth module te programmeren zodat hij werkt op 9600bd.
Dit kan via een terminal programma.
Gelukkig staan de HC-06 modules al als default ingesteld op 9600bd, dan hoef je hier niet veel te doen.
Wil je nog wel de naam van de module veranderen, dan zal je hem via het USB-TTL Printje nog moeten programmeren.
Een goed terminal programma om te programmeren is:
Terminal van Br@y: https://sites.google.com/site/terminalbpp/
Download: https://sites.google.com/site/terminalbpp/t/Terminal20130116.zip?attredirects=0&d=1
Sluit de HC-06 module aan de USB-TTL adapter zoals boven in het plaatje.
HC-06 | USB-TTL |
VCC | VCC |
GND | GND |
RX | TX |
TX | RX |
Start nu het programma Terminal op de PC.
Selecteer de juiste toegewezen serieele poort (COM PORT) van de USB-TTL adapter (in dit geval COM6).
Zet de baudrate op 9600bd.
Klik vervolgens op “Connect/(Disconnect)”
Typ vervolgens onder in het scherm in het witte veld het te versturen commando “AT” in.
Klik vervolgens op de “Send” knop.
Als de baudrate goed is ingesteld zal er in het “Receive” venster het antwoord “OK” terug moeten komen.
Mocht bovenstaande niet meteen werken, dan zal de HC-06 module in een andere baudrate staan.
Om dit uit zoeken zal men stap voor stap een andere baudrate moeten selecteren, en bovenstaande “AT” commando moeten uitvoeren.
Net zo lang tot het antwoord “OK” verschijnt.
Eenmaal het antwoord is ontvangen is het nu mogelijk de benodigde baudrate in te stellen.
Voer in het onderste witte veld het commando “AT+BAUD4” in, en druk vervolgens op “Send“.
Als antwoord moet in het “Receive” venster “OK9600” retour komen.
Dit betekend dat de module nu actief is op 9600 baud.
Er is ook nog een mogelijkheid om de naam te veranderen van de HC-06 module.
Dit is de naam die wordt weergeven op een client apparaat als er naar bluetooth apparaten gezocht wordt.
Dit kan door het commando “AT+NAME” in te geven, direct gevolgd door een nieuwe naam.
In dit geval gebruiken we de naam “GPSEMU“.
Voer in het onderste witte veld het commando “AT+NAMEGPSEMU” in en klik vervolgens op “Send”
Als antwoord in het “Receive” venster moet het volgende retour komen “OKsetname“
Programmeren van de Arduino.
In dit voorbeeld gebruik ik een Arduino Nano.
Download Arduino: Arduino IDE
Gebruik de volgende Sketch file: FrskyGps.zip
Installeer Arduino, en pak vervolgens FrskyGps.zip uit.
Start Arduino en open het project genaamd: FrskyGps.ino
Het eerste wat we nu moeten doen is een library installeren voor het project.
Klik boven in het menu op “Sketch -> Include Library -> Add .ZIP Library…“
Zoek vervolgens de project map, en open de map “libs”
Selecteer de volgende zip file: “FrSkySportTelemetry_20190824.zip” en klik op “Open”
Arduino zal nu de library installeren.
Sluit vervolgens de Arduino via USB aan de PC.
In dit geval een Arduino Nano.
Klik nu in boven in het menu op: “Tools”
Stel het volgende correct in
Board: “Arduino Nano”
Processor: “ATmega328P”
Hier kan het zijn dat je moet kiezen tussen “ATmega328P” en “ATmega328P (Old Bootloader)”.
Je zal even moeten proberen welke van de 2 je nodig hebt.
In mijn geval moet ik “ATmega328P (Old Bootloader)” gebruiken.
Port: “COM14” (in mijn geval)
Als alles goed is ingesteld kunnen we de sketch in de arduino flashen:
Klik op het “Upload” icoontje om de sketch te flashen.
Als het flashen klaar is, staat er onderin “Done uploading“
Hardware samenstellen:
Als de Arduino en de HC-06 module geprogrammeerd zijn is het tijd om alle hardware samen te stellen.
Bereid als eerste de arduino voor door de servo kabel aan te sluiten.
1. Rode draad van de servo kabel gaat naar VCC op de Arduino.
2. Zwarte draad van de servo kabel gaat naar 1 van de GND punten op de Arduino.
3. Oranje/witte draad van de servo kabel gaat naar Pin D3 op de Arduino.
Aansluiten van de HC-06 module.
1. Soldeer een draadje tussen de VCC van de HC-06 module naar de VCC van de Arduino.
2. Soldeer een draadje tussen de GND van de HC-06 module naar de 1 van de GND punten op de Arduino.
3. Soldeer een draadje tussen RX van de HC-06 module naar de TX1 pin van de Arduino.
Arduino | HC-06 |
VCC | VCC |
GND | GND |
TX1 | RX |
Het soldeer werk is nu klaar.
Sluit nu de Arduino via het servo kabeltje aan op een ontvanger die geschikt is voor SmartPort.
Om de simulator te gebruiken hebben we een app nodig voor android.
Download: GPS NMEA Simulator
Installeer vervolgens de app op je android toestel.
Het eerste wat we nu moeten doen is de HC-06 module pairen op het android toestel.
Ga in je toestel naar de instellingen voor bluetooth en scan voor bluetooth devices.
Zoek vervolgens het device met “GPSEMU” en verbind.
Het standaard wachtwoord van de HC-06 module is “1234“
Start vervolgens de app “GPS Nmea Simulator“
Klik op de connect button en selecteer bluetooth device “GPSEMU”
Eenmaal geconnect zal onder in het venster “Connected succesfully!” staan.
Stel nu wat parameters in om mee te beginnen.
Ga nu terug naar het start scherm en klik op “START“, het symbool in het midden van het scherm zal nu blauw knipperen, streaming van NMEA berichten is nu gestart.
Ga nu in je zender naar het Telemetry menu.
En klik op “Discover new sensors“
Diverse sensoren zullen nu gevonden worden.
Tmp1, Tmp2, GPS, GAlt, GSpd, Hdg