Hoe GPS-data te loggen op een microSD-kaart met Visuino op Arduino Nano
Onderdelen en benodigdheden
| Arduino Nano R3 | 1 |
| GPS-ontvanger (generiek) | 1 |
| MicroSD-module (Generiek) | 1 |
| MicroSD-kaart (Generiek) | 1 |
| Breadboard (standaard) | 1 |
| Draadbruggen (standaard) | 1 |
Apps en online diensten
- Visuino - Grafische Ontwikkelomgeving voor Arduino
- Arduino IDE
Over dit project
MicroSD-kaarten zijn een goedkope en eenvoudige datastopslagmedium, en ze zijn zeer handig voor het opslaan van Arduino-sensordata. Er zijn ook een aantal goedkope, gemakkelijk beschikbare MicroSD-kaartmodules voor Arduino, en ik maakte al een tutorial over het loggen van ultrasoon-afstandsdata naar een MicroSD-kaart. Ik maakte ook een tutorial over het weergeven van locatie-informatie van een GPS-module op een LCD. Bijna onmiddellijk vroeg iemand om een tutorial over het loggen van GPS-informatie naar een MicroSD-kaart.
Data loggen naar de MicroSD is eenvoudig, maar bestandsbeheer neemt geheugen in beslag en kan kleine controllers zoals Arduino Uno of Nano makkelijk overbelasten. Na toevoeging van MicroSD-ondersteuning hebben de Nano en Uno bijna geen geheugen meer over voor andere taken. We kunnen een controller met meer geheugen gebruiken zoals de Mega of Teensy, maar als we alleen de seriële data van de GPS-module naar de MicroSD-kaart schrijven, hebben we voldoende geheugen op de Arduino Nano, en kunnen we de data later op een andere computer verwerken.
Stap 1: Onderdelen
- Eén Arduino-compatibel bord (ik gebruik Arduino Nano, omdat ik er een heb, maar elk ander bord werkt prima)
- Eén GPS-module
- Eén MicroSD-kaartmodule
- Eén MicroSD-kaart
- Eén klein breadboard (elk breadboard kan gebruikt worden, of een andere manier om 3 draden te verbinden)
- 7 Female-Female draadbruggen
- 3 Female-Male (Rood) draadbruggen
Stap 2: Visuino starten en het Arduino-bordtype selecteren
Aangezien de Arduino Nano slechts één seriële poort heeft, en die nodig is om de Arduino te programmeren, moet je de Arduino Nano programmeren voordat de GPS wordt aangesloten.
Om te beginnen met programmeren heb je de Arduino IDE nodig, geïnstalleerd vanaf: https://www.arduino.cc/ .
Visuino: https://www.visuino.com moet ook geïnstalleerd zijn.
- Start Visuino zoals getoond in de eerste afbeelding.
- Klik op de knop "Tools" op het Arduino-component (Afbeelding 1) in Visuino.
- Wanneer het dialoogvenster verschijnt, selecteer "Arduino Nano" zoals getoond in Afbeelding 2.
Stap 3: In Visuino: Micro SD-kaartmodule-component toevoegen en verbinden
Eerst moeten we de MicroSD-component in Visuino toevoegen en verbinden om de MicroSD-module te besturen:
- Typ "sd" in het filtervak van de Component Toolbox, selecteer vervolgens de "Micro SD Card Module"-component (Afbeelding 1), en sleep deze in het ontwerpgebied.
- Verbinden de "Out"-pin van het SDCard1-component met de "In"-pin van het "SPI"-kanaal van het Arduino-component (Afbeelding 2).
- Verbinden de "ChipSelect"-uitgangspin van het SDCard1-component met de "Digital"-ingangspin van het "Digital[ 10 ]"-kanaal van het Arduino-component (Afbeelding 3).
Stap 4: In Visuino: Bestands-element toevoegen en configureren aan de MicroSD-kaartcomponent
Om de data op te slaan moeten we een Bestands-element toevoegen aan de MicroSD-component en de bestandsnaam specificeren:
- Klik op de "Tools"-knop van het SDCard1-component (Afbeelding 1).
- In de "Elements"-editor selecteer het "File"-element in het rechter venster, en klik op de "+"-knop aan de linkerkant (Afbeelding 2) om een Bestands-element toe te voegen.
- In de Object Inspector stel de waarde van de "Path Name"-eigenschap van het File1-element in op "GPSLog.txt" (Afbeelding 3).
Stap 5: In Visuino: De seriële poort verbinden met het Bestands-element
- Verbinden de "Out"-pin van het "Serial[ 0 ]"-kanaal van het Arduino-component (Afbeelding 1) met de "In"-ingangspin van het "Elements.File1" van het SDCard1-component (Afbeelding 2).
Stap 6: Arduino-code genereren, compileren en uploaden
- In Visuino, druk op F9 of klik op de knop getoond in Afbeelding 1 om de Arduino-code te genereren en de Arduino IDE te openen.
- In de Arduino IDE, klik op de "Upload"-knop om de code te compileren en te uploaden (Afbeelding 2).
Stap 7: De MicroSD-module met de Arduino verbinden
- Verbinden Female-Female CS (Grijze draad), SCK (Oranje draad), MOSI (Blauwe draad), MISO (Paarse draad), en Ground (Zwarte draad) met de MicroSD-module.
- Verbinden het female-einde van een Female-Male Voeding (Rode draad) met de VCC/Voeding-pin van de MicroSD-module (Afbeelding 1), en laat het mannelijke einde onverbonden.
- Verbinden een andere Female-Male Voedingsdraad (Rode draad) met de 5V-voedingspin van het Arduino-bord (Afbeelding 2), en laat het mannelijke einde onverbonden.
- Verbinden het andere einde van de Ground-draad (Zwarte draad) met de Ground-pin van het Arduino-bord (Afbeelding 2).
- Verbinden het andere einde van de SCK (Oranje draad) met Digitale pin 13 van het Arduino-bord (Afbeelding 3).
- Verbinden het andere einde van de MISO (Paarse draad) met Digitale pin 12 van het Arduino-bord (Afbeelding 4).
- Verbinden het andere einde van de MOSI (Blauwe draad) met Digitale pin 11 van het Arduino-bord (Afbeelding 4).
- Verbinden het andere einde van de CS (Grijze draad) met Digitale pin 10 van het Arduino-bord (Afbeelding 4).
- Afbeelding 5 toont in het rood waar de Ground, 5V Voeding, Digitale 10, Digitale 11, Digitale 12, en Digitale 13 pinnen van de Arduino Nano zitten.
Stap 8: De GPS-module met de Arduino verbinden
- Verbinden het female-einde van een Female-Male Voeding (Rode draad) met de GPS-module en laat het mannelijke einde onverbonden.
- Verbinden Female-Female Ground (Zwarte draad), en TX (Gele draad) met de GPS-module.
- Verbinden het andere einde van de Ground-draad (Zwarte draad) met de Ground-pin van het Arduino-bord (Afbeelding 2).
- Verbinden het andere einde van de TX (Gele draad) met de RX-pin van het Arduino-bord (Afbeelding 2).
- Afbeelding 3 toont in het rood waar de Ground- en RX-pinnen van de Arduino Nano zitten (in het blauw zijn de verbindingen getoond die in de vorige stap gemaakt zijn).
Stap 9: De voedingsdraden met elkaar verbinden en de MicroSD-kaart in de module plaatsen
- Verbinden de mannelijke uiteinden van de 3 voedingsdraden (rode draden) – van de MicroSD-module, de GPS-module en de Arduino – met elkaar, bijvoorbeeld met behulp van een breadboard (Afbeelding 2) – in mijn geval gebruikte ik een klein breadboard.
- Plaats de MicroSD-kaart in de MicroSD-kaartmodule (Afbeelding 2).
Stap 10: En spelen...
Gefeliciteerd! Je hebt het project voltooid.
Afbeelding 1 en de video tonen het aangesloten en gevoede project. De LED op Digitale Pin 13 van de Arduino gaat van tijd tot tijd knipperen wanneer nieuwe data van de GPS wordt vastgelegd op de MicroSD-kaart.
Op Afbeelding 2 zie je een voorbeeld van de data die op de MicroSD-kaart is vastgelegd.
Op Afbeelding 3 zie je het complete Visuino-diagram. Ook is het Visuino-project dat ik voor deze tutorial heb gemaakt bijgevoegd. Je kunt het downloaden en openen in Visuino: https://www.visuino.com.
Code
Visuino-projectbestand: FBY57XIIO8U2WS4.zip
Productieproces
- LED helderheid regelen met PWM via drukknop op Arduino Mega
- Bouw een real-time gyroscoop-spel met Arduino Nano & MPU-6050 sensor
- DHT11 Temperatuur- & Vochtigheidsensor Project met LED-indicatoren en Piezo-luidspreker
- Unopad: Naadloze Arduino MIDI-controller voor Ableton Live
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- Arduino Mega koppelen aan een NEO‑6M GPS-module: stapsgewijze handleiding
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
- u-blox LEA‑6H GPS Module: Arduino & Python Integratie Handleiding
- Bouw een 4x4x4 LED-kubus met Arduino Uno & 1Sheeld – Interactief LED-project