SparkFun-logo

SparkFun DEV-13712 Deeltjesfoton met gaten om te solderen

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Voor-Soldeerproduct

Specificaties

  • Productnaam: OpenLog Data Logger
  • Model: DEV-13712
  • Stroomingang: 3.3 V-12 V (aanbevolen 3.3 V-5 V)
  • RXI-ingangsvolumetage: 2.0V-3.8V
  • TXO-uitgangsvolumetage: 3.3V
  • Stroomverbruik in rust: ~2mA-5mA (zonder microSD-kaart), ~5mA-6mA (met microSD-kaart)
  • Actieve schrijfstroom: ~20-23 mA (met microSD-kaart)

Instructies voor productgebruik

Benodigde materialen:

  • Arduino Pro Mini 328 – 3.3 V/8 MHz
  • SparkFun FTDI Basis Breakout – 3.3V
  • SparkFun Cerberus USB-kabel – 6 m
  • microSD-kaart met adapter – 16 GB (klasse 10)
  • microSD USB-lezer
  • Vrouwelijke headers
  • Jumper Wires Premium 6 M/M Pak van 10
  • Break Away mannelijke headers – rechte hoek

Aanbevolen literatuur:

Hardware voorbijview:
OpenLog draait met de volgende instellingen:

VCC-ingang RXI-ingang TXO-uitgang Stroomverbruik in rust Actieve schrijfstroomopname
3.3V-12V (aanbevolen 3.3V-5V) 2.0V-3.8V 3.3V ~2mA-5mA (zonder microSD-kaart), ~5mA-6mA (met microSD-kaart) ~20-23mA (met/microSD-kaart)

Invoering

Let op! Deze tutorial is voor de OpenLog voor seriële UART [DEV-13712]. Als u de Qwiic OpenLog voor IC [DEV-15164] gebruikt, raadpleeg dan de Qwiic OpenLog Hookup Guide.

De OpenLog Data Logger is een gebruiksvriendelijke open-sourceoplossing voor het loggen van seriële data van uw projecten. OpenLog biedt een eenvoudige seriële interface om data van een project te loggen naar een microSD-kaart.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(1)

SparkFun OpenLog met headers
DEV-13955

Geen product gevonden

Benodigde materialen
Om deze tutorial volledig te kunnen doorlopen, heb je de volgende onderdelen nodig. Mogelijk heb je echter niet alles nodig, afhankelijk van wat je hebt. Voeg het toe aan je winkelwagen, lees de handleiding door en pas het winkelwagentje indien nodig aan.

OpenLog Aansluitgids

SparkFun verlanglijstje

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(2)SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(3)

Aanbevolen leesvoer
Als u niet bekend bent met de volgende concepten of er niet vertrouwd mee bent, raden wij u aan deze eerst te lezen voordat u verdergaat met de OpenLog Hookup Guide.

  • Hoe te solderen: Through-hole solderen. Deze tutorial behandelt alles wat je moet weten over through-hole solderen.
  • Seriële communicatie Concepten voor asynchrone seriële communicatie: pakketten, signaalsterktes, baudrates, UART's en meer!
  • Seriële perifere interface (SPI) SPI wordt vaak gebruikt om microcontrollers te verbinden met randapparatuur zoals sensoren, schuifregisters en SD-kaarten.
  • Basisprincipes van seriële terminals In deze tutorial laten we zien hoe u met uw seriële apparaten kunt communiceren met behulp van verschillende terminalemulatortoepassingen.

Hardware voorbijview

Stroom
OpenLog draait met de volgende instellingen:

OpenLog-vermogensclassificaties

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(4)

De stroomopname van de OpenLog bedraagt ​​ongeveer 20 mA tot 23 mA bij het schrijven naar een microSD-kaart. Afhankelijk van de grootte van de microSD-kaart en de fabrikant kan de actieve stroomopname variëren wanneer de OpenLog naar de geheugenkaart schrijft. Het verhogen van de baudrate zal ook meer stroom verbruiken.

Microcontrollers
De OpenLog draait op een ingebouwde ATmega328, die dankzij het ingebouwde kristal op 16 MHz draait. De ATmega328 is voorzien van de Optiboot-bootloader, waardoor de OpenLog compatibel is met de
“Arduino Uno”-bordinstellingen in de Arduino IDE.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(5)

Interface

Seriële UART
De primaire interface met de OpenLog is de FTDI-header op de rand van het bord. Deze header is ontworpen om rechtstreeks op een Arduino Pro of Pro Mini te worden aangesloten, waardoor de microcontroller de data via een seriële verbinding naar de OpenLog kan sturen.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(6)

Waarschuwing! Vanwege de pin-volgorde die het compatibel maakt met Arduino's, kan het niet rechtstreeks op een FTDI-breakoutboard worden aangesloten.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(7)

Voor meer informatie kunt u het volgende gedeelte over het aansluiten van hardware raadplegen.

SPI

Er zijn ook vier SPI-testpunten aan de andere kant van het bord. Deze kun je gebruiken om de bootloader op de ATmega328 te herprogrammeren.

  • SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(8)De nieuwste OpenLog (DEV-13712) verdeelt deze pinnen over kleinere, doorlopende gaten. Als je een internetprovider nodig hebt om de OpenLog te herprogrammeren of een nieuwe bootloader te uploaden, kun je pogo-pinnen gebruiken om verbinding te maken met deze testpunten.
  • De laatste interface voor communicatie met OpenLog is de microSD-kaart zelf. Om te communiceren, heeft de microSD-kaart SPI-pinnen nodig. Hier worden de gegevens niet alleen door OpenLog opgeslagen, maar kunt u ook de configuratie van OpenLog bijwerken via config.txt. file op de microSD-kaart.
    micro SD kaart

Alle door OpenLog geregistreerde gegevens worden opgeslagen op de microSD-kaart. OpenLog werkt met microSD-kaarten met de volgende functies:

  • 64MB naar 32GB
  • FAT16 of FAT32

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(9)

Er zijn twee status-LED's op de OpenLog die u helpen bij het oplossen van problemen.

  • STAT1 – Deze blauwe indicator-led is aangesloten op Arduino D5 (ATmega328 PD5) en gaat aan/uit wanneer er een nieuw teken wordt ontvangen. Deze led knippert wanneer de seriële communicatie actief is.
  • STAT2 – Deze groene LED is aangesloten op Arduino D13 (SPI Serial Clock Line/ATmega328 PB5). Deze LED knippert alleen wanneer de SPI-interface actief is. U ziet hem knipperen wanneer de OpenLog 512 bytes op de microSD-kaart registreert.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(10)

Hardware-aansluiting

Er zijn twee hoofdmethoden om je OpenLog op een circuit aan te sluiten. Je hebt headers of draden nodig om verbinding te maken. Zorg ervoor dat je de verbinding op de printplaat soldeert voor een stevige verbinding.

Basis seriële verbinding

Tip:Als u een vrouwelijke header op de OpenLog en een vrouwelijke header op de FTDI hebt, hebt u M/F-jumperdraden nodig om verbinding te maken.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(11)

Deze hardwareverbinding is ontworpen voor communicatie met een OpenLog als u de kaart opnieuw moet programmeren of gegevens moet loggen via een eenvoudige seriële verbinding.

Maak de volgende verbindingen:
OpenLog → 3.3V FTDI Basis Breakout

  • Aardgas → Aardgas
  • Aardgas → Aardgas
  • VCC → 3.3 V
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Houd er rekening mee dat er geen directe verbinding is tussen de FTDI en OpenLog. U moet de TXO- en RXI-pinverbindingen omwisselen.

Uw verbindingen moeten er als volgt uitzien:

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(12)

Zodra je de verbindingen tussen de OpenLog en de FTDI Basic hebt gemaakt, sluit je je FTDI-kaart aan op een USB-kabel en je computer. Open een seriële terminal, sluit deze aan op de COM-poort van je FTDI Basic en ga aan de slag!

Project Hardware-verbinding

Tip: Als u de vrouwelijke headers op de OpenLog hebt gesoldeerd, kunt u mannelijke headers op de Arduino Pro Mini solderen om de borden met elkaar te verbinden zonder dat u kabels nodig hebt.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(13)

Hoewel interfacen met de OpenLog via een seriële verbinding belangrijk is voor herprogrammering of debuggen, blinkt OpenLog uit in een embedded project. Met dit algemene circuit raden we aan om je OpenLog aan te sluiten op een microcontroller (in dit geval een Arduino Pro Mini) die seriële data naar de OpenLog schrijft.

Eerst moet je de code uploaden naar de Pro Mini die je wilt gebruiken. Bekijk de Arduino Sketches voor een aantal voorbeelden.ampde code die u kunt gebruiken.

Opmerking: Weet u niet zeker hoe u uw Pro Mini moet programmeren? Bekijk dan hier onze tutorial.

De Arduino Pro Mini 3.3V gebruiken

  • Deze tutorial is jouw gids voor alles over de Arduino Pro Mini. Hij legt uit wat het is, wat het niet is en hoe je ermee aan de slag kunt.
  • Nadat u uw Pro Mini hebt geprogrammeerd, kunt u de FTDI-kaart verwijderen en vervangen door de OpenLog. Zorg ervoor dat u de pinnen met het label BLK op zowel de Pro Mini als de OpenLog aansluit (de pinnen met het label GRN op beide komen ook overeen als dit correct is gedaan).
  • Als u de OpenLog niet rechtstreeks op de Pro Mini kunt aansluiten (vanwege niet-passende headers of andere borden die in de weg zitten), kunt u jumperdraden gebruiken en de volgende verbindingen maken.

OpenLog → Arduino Pro/Arduino Pro Mini

  • Aardgas → Aardgas
  • Aardgas → Aardgas
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Als je klaar bent, zouden je verbindingen er als volgt uit moeten zien met de Arduino Pro Mini en Arduino Pro. Het Fritzing-diagram toont de OpenLogs met de headers gespiegeld. Als je de microSD-aansluiting omdraait ten opzichte van de bovenkant van de Arduino, view, ze moeten overeenkomen met de programmeerheader zoals een FTDI.

SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(14)

Houd er rekening mee dat de verbinding rechttoe rechtaan is, met de OpenLog ‘op zijn kop’ (met de microSD-kaart naar boven).

Opmerking: Omdat de Vcc en GND tussen de OpenLog en Arduino bezet worden door de headers, moet je de voeding aansluiten op de andere beschikbare pinnen op de Arduino. Anders kun je draden solderen aan de blootliggende voedingspinnen op beide printplaten.

Schakel uw systeem in en u bent klaar om te beginnen met loggen!

Arduino-schetsen

Er zijn zes verschillende exampEr zijn schetsen bijgevoegd die u op de Arduino kunt gebruiken wanneer deze is aangesloten op een OpenLog.

  • OpenLog_Benchmarking — Deze example wordt gebruikt om OpenLog te testen. Dit verstuurt zeer grote hoeveelheden data met 115200 bps over meerdere files.
  • OpenLog_CommandTest — Deze example laat zien hoe je een file via opdrachtregelbesturing via de Arduino.
  • OpenLog_ReadExample — Deze example legt uit hoe je OpenLog via de opdrachtregel kunt besturen.
  • OpenLog_ReadExample_LargeFile - Example van hoe je een grote opslag opent file op OpenLog en rapporteer dit via een lokale Bluetooth-verbinding.
  • OpenLog_Test_Sketch — Wordt gebruikt om OpenLog te testen met veel seriële data.
  • OpenLog_Test_Sketch_Binary — Wordt gebruikt om OpenLog te testen met binaire gegevens en escape-tekens.

Bedrijfsprogramma

OpenLog heeft twee primaire softwareprogramma's aan boord: de bootloader en de firmware.

Arduino Bootloader

Opmerking: Als u een OpenLog gebruikt die vóór maart 2012 is aangeschaft, is de ingebouwde bootloader compatibel met de instelling “Arduino Pro of Pro Mini 5V/16MHz w/ ATmega328” in de Arduino IDE.

  • Zoals eerder vermeld, beschikt de OpenLog over de Optiboot seriële bootloader. Je kunt de OpenLog net als een Arduino Uno gebruiken bij het uploaden van bijvoorbeeldample-code of nieuwe firmware naar het bord.
  • Als je OpenLog uiteindelijk toch niet meer werkt en de bootloader opnieuw moet installeren, kun je het beste Optiboot ook op het board uploaden. Bekijk onze tutorial over het installeren van een Arduino Bootloader voor meer informatie.

Compileren en laden van firmware op de OpenLog

Opmerking: Als dit de eerste keer is dat u Arduino gebruikt, lees dan verderview Onze tutorial over het installeren van de Arduino IDE. Als je nog geen Arduino-bibliotheek hebt geïnstalleerd, bekijk dan onze installatiehandleiding om de bibliotheken handmatig te installeren.

  • Als u om welke reden dan ook de firmware op uw OpenLog moet bijwerken of opnieuw moet installeren, kunt u het volgende proces volgen om uw bord weer aan de praat te krijgen.
  • Download eerst de Arduino IDE v1.6.5. Andere versies van de IDE kunnen de OpenLog-firmware mogelijk wel compileren, maar we hebben geverifieerd dat deze versie betrouwbaar is.
  • Download vervolgens de OpenLog-firmware en het vereiste bibliotheekpakket.

DOWNLOAD OPENLOG FIRMWARE BUNDLE (ZIP)

  • Nadat je de bibliotheken en firmware hebt gedownload, installeer je ze in Arduino. Weet je niet zeker hoe je de bibliotheken handmatig in de IDE installeert? Bekijk dan onze tutorial: Een Arduino-bibliotheek installeren: Handmatig een bibliotheek installeren.

Opmerking:

  • We gebruiken aangepaste versies van de SdFat- en SerialPort-bibliotheken om willekeurig te bepalen hoe groot de TX- en RX-buffers moeten zijn. OpenLog vereist dat de TX-buffer zeer klein (0) is en de RX-buffer zo groot mogelijk.
  • Door deze twee aangepaste bibliotheken samen te gebruiken, worden de prestaties van OpenLog verbeterd.

Op zoek naar de nieuwste versies?
Als je de meest recente versies van de bibliotheken en firmware wilt, kun je deze rechtstreeks downloaden van de onderstaande GitHub-repositories. De SdFatLib- en Serial Port-bibliotheken zijn niet zichtbaar in de Arduino Board Manager, dus je moet de bibliotheek handmatig installeren.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Bill Greiman's Arduino-bibliotheken
    • SdFatLib-bèta
    • Seriële poort
  • Vervolgens, om voordeel te halentage van de gewijzigde bibliotheken, wijzig de SerialPort.hh file gevonden in de directory \Arduino\Libraries\SerialPort. Wijzig BUFFERED_TX naar 0 en ENABLE_RX_ERROR_CHECKING naar 0. Sla de file, en open de Arduino IDE.
  • Als je dat nog niet hebt gedaan, sluit je OpenLog dan aan op de computer via een FTDI-kaart. Controleer de ex.ample circuit als u niet zeker weet hoe u dit op de juiste manier moet doen.
  • Open de OpenLog-schets die u wilt uploaden onder het menu Extra>Bord, selecteer "Arduino/Genuino Uno" en selecteer de juiste COM-poort voor uw FTDI-bord onder Extra>Poort.
  • Upload de code.
  • Dat is alles! Uw OpenLog is nu geprogrammeerd met nieuwe firmware. U kunt nu een seriële monitor openen en met de OpenLog communiceren. Bij het opstarten ziet u 12> of 12<. 1 geeft aan dat de seriële verbinding tot stand is gebracht, 2 geeft aan dat de SD-kaart succesvol is geïnitialiseerd, < geeft aan dat OpenLog klaar is om ontvangen seriële gegevens te loggen, en > geeft aan dat OpenLog klaar is om opdrachten te ontvangen.

OpenLog Firmware Schetsen
Er zijn drie schetsen inbegrepen die u op OpenLog kunt gebruiken, afhankelijk van uw specifieke toepassing.

  • OpenLog – Deze firmware wordt standaard meegeleverd met de OpenLog. Door de opdracht ? te versturen, wordt de firmwareversie weergegeven die op een apparaat is geladen.
  • OpenLog_Light – Deze versie van de sketch verwijdert het menu en de commandomodus, waardoor de ontvangstbuffer vergroot kan worden. Dit is een goede optie voor snelle logging.
  • OpenLog_Minimal – De baudrate moet in de code worden ingesteld en geüpload. Deze schets wordt aanbevolen voor ervaren gebruikers, maar is ook de beste optie voor snelle logging.

Command Set

U kunt via een seriële terminal communiceren met OpenLog. De volgende opdrachten helpen u bij het lezen, schrijven en verwijderen van gegevens. files, en ook de instellingen van OpenLog wijzigen. U moet zich in de opdrachtmodus bevinden om de volgende instellingen te gebruiken.

Terwijl de OpenLog in de commandomodus staat, schakelt STAT1 in/uit voor elk ontvangen teken. De LED blijft branden totdat het volgende teken wordt ontvangen.

  • Nieuw File – Creëert een nieuwe file genoemd File in de huidige map. Standaard 8.3 filenamen worden ondersteund. BijvoorbeeldampBijvoorbeeld, “87654321.123” is acceptabel, terwijl “987654321.123” dat niet is.
    • Example: nieuw file1.txt
  • Toevoegen File – Voeg tekst toe aan het einde van de File. Seriële gegevens worden vervolgens in een stroom van de UART gelezen en aan de file. Het wordt niet via de seriële aansluiting doorgegeven. Als de File bestaat niet wanneer deze functie wordt aangeroepen, de file zal worden gecreëerd.
    • Example: nieuw toevoegenfile.csv
  • Schrijven File OFFSET – Schrijf tekst naar de File vanaf de locatie OFFSET binnen de fileDe tekst wordt regel voor regel van de UART gelezen en teruggeëchood. Om deze status te verlaten, stuurt u een lege regel.
    • Example: schrijf logs.txt 516
  • rm File – Verwijdert de File uit de huidige directory. Jokertekens worden ondersteund.
    • Example: rm README.txt
  • maat File – Uitvoergrootte van File in bytes.
    • Example: grootte Log112.csv
    • Uitvoer: 11
  • Lezen File + START+ LENGTETYPE – Geef de inhoud van File beginnend bij START en gaande naar LENGTH. Als START wordt weggelaten, wordt de gehele file wordt gerapporteerd. Als LENGTH wordt weggelaten, wordt de volledige inhoud vanaf het startpunt gerapporteerd. Als TYPE wordt weggelaten, rapporteert OpenLog standaard in ASCII. Er zijn drie uitvoertypen:
    • ASCII = 1
    • HEX-waarde = 2
    • RAW = 3
  • U kunt enkele afsluitende argumenten weglaten. Controleer het volgende voorbeeld.amples.
  • Basis gelezen + weggelaten vlaggen:
    • Example: lees LOG00004.txt
    • Uitvoer: Accelerometer X=12 Y=215 Z=317
  • Lees vanaf start 0 met een lengte van 5:
    • Example: lees LOG00004.txt 0 5
    • Uitvoer: Accel
  • Lees vanaf positie 1 met een lengte van 5 in HEX:
    • Example: lees LOG00004.txt 1 5 2
    • Uitgang: 63 63 65 6C
  • Lezen vanaf positie 0 met een lengte van 50 in RAW:
    • Example: lees LOG00137.txt 0 50 3
    • Uitvoer: André– -þ Uitgebreide karaktertest
  • Kat File – Schrijf de inhoud van een file in hex naar de seriële monitor voor viewing. Dit is soms nuttig om te zien dat een file neemt correct op zonder dat u de SD-kaart hoeft te verwijderen en view de file op een computer.
    • Example: cat LOG00004.txt
    • Uitvoer: 00000000: 41 63 65 6c 3a 20 31

Directory-manipulatie

  • ls – Geeft alle inhoud van de huidige map weer. Jokertekens worden ondersteund.
    • Example: ls
    • Uitvoer: \src
  • md Subdirectory – Maak een subdirectory in de huidige directory.
    • Example: md Example_Sketches
  • cd Subdirectory – Ga naar Subdirectory.
    • Example: cd Hallo_Wereld
  • cd .. – Ga naar een lagere directory in de boom. Let op de spatie tussen 'cd' en '..'. Hierdoor kan de stringparser de CD-opdracht herkennen.
    • Example: cd ..
  • rm Subdirectory – Verwijdert een subdirectory. De directory moet leeg zijn om deze opdracht te laten werken.
    • Example: rm temperaturen
  • rm -rf Directory – Verwijdert de directory en alle filezit erin.
    • Example: rm -rf Bibliotheken

Laag-niveau functie-opdrachten

  • ? – Met deze opdracht wordt een lijst met beschikbare opdrachten op OpenLog weergegeven.
  • Schijf – Toont de ID van de kaartfabrikant, het serienummer, de productiedatum en de kaartgrootte.ampDe uitvoer is:
    • Kaarttype: SD2 Fabrikant-ID: 3
    • OEM-ID: SD
    • Product: SU01G
    • Versie: 8.0
    • Serienummer: 39723042 Productiedatum: 1/2010 Kaartgrootte: 965120 KB
  • init – Initialiseer het systeem opnieuw en open de SD-kaart opnieuw. Dit is handig als de SD-kaart niet meer reageert.
  • Synchroniseren – Synchroniseert de huidige inhoud van de buffer met de SD-kaart. Deze opdracht is handig als u minder dan 512 tekens in de buffer hebt en deze op de SD-kaart wilt opslaan.
  • Reset – Springt OpenLog naar locatie nul, voert de bootloader opnieuw uit en vervolgens de init-code. Deze opdracht is handig als u de configuratie moet bewerken. file, reset de OpenLog en begin met het gebruiken van de nieuwe configuratie. Power cycleren is nog steeds de voorkeursmethode om het bord te resetten, maar deze optie is beschikbaar.

Systeeminstellingen

Deze instellingen kunnen handmatig worden bijgewerkt of bewerkt in het bestand config.txt file.

  • Echo STATE – Wijzigt de status van het systeem en wordt opgeslagen in het systeemgeheugen. STATE kan aan of uit staan. In ingeschakelde toestand echoot OpenLog ontvangen seriële gegevens via de opdrachtprompt. In uitgeschakelde toestand leest het systeem geen ontvangen tekens terug.

Opmerking: Tijdens normaal loggen is echo uitgeschakeld. De systeembronnen die nodig zijn voor het echoën van de ontvangen gegevens zijn te hoog tijdens het loggen.

  • Verbose STATE – Wijzigt de status van uitgebreide foutrapportage. STATE kan aan of uit staan. Deze opdracht wordt in het geheugen opgeslagen. Door uitgebreide fouten uit te schakelen, reageert OpenLog alleen met een ! als er een fout is, in plaats van een onbekende opdracht: C OMMAND.D..T. De h-tekens zijn voor embedded systemen gemakkelijker te parseren dan de volledige fout. Als u een terminal gebruikt, kunt u door verbose ingeschakeld te laten, volledige foutmeldingen bekijken.
  • baud – Met deze opdracht opent u een systeemmenu waarin u een baudrate kunt invoeren. Elke baudrate tussen 300 bps en 1 Mbps wordt ondersteund. De baudrate wordt direct geselecteerd en OpenLog moet eerst uit en weer aan worden gezet om de instellingen te activeren. De baudrate wordt opgeslagen in het EEPROM en elke keer dat OpenLog wordt opgestart, geladen. De standaardwaarde is 9600 8N1.

Herinneren: Als de kaart vastloopt op een onbekende baudrate, kunt u RX aan GND koppelen en OpenLog inschakelen. De leds knipperen 2 seconden heen en weer en knipperen vervolgens gelijktijdig. Schakel OpenLog uit en verwijder de jumper. OpenLog is nu gereset naar 9600 bps met het escape-teken `CTRL-Z` dat drie keer achter elkaar is ingedrukt. Deze functie kan worden overschreven door de Emergency Override-bit op 1 te zetten. Zie config.txt voor meer informatie.

  • Set – Deze opdracht opent een systeemmenu om de opstartmodus te selecteren. Deze instellingen worden bij de volgende keer opstarten toegepast en opgeslagen in een niet-vluchtig EEPROM.
    • Nieuw File Loggen – Deze modus creëert een nieuwe file Elke keer dat OpenLog opstart. OpenLog verzendt 1 (UART actief), 2 (SD-kaart geïnitialiseerd) en vervolgens < (OpenLog is klaar om gegevens te ontvangen). Alle gegevens worden opgeslagen in een LOG#####.txt. Het #####-nummer wordt elke keer dat OpenLog opstart verhoogd (het maximum is 65533 logs). Het nummer wordt opgeslagen in het EEPROM en kan worden gereset via het instellingenmenu. Niet alle ontvangen tekens worden geëchood. U kunt deze modus verlaten en de commandomodus openen door CTRL+z (ASCII 26) te sturen. Alle gebufferde gegevens worden opgeslagen.
  • Opmerking: Als er te veel logs zijn aangemaakt, geeft OpenLog de foutmelding **Too many logs**, verlaat deze modus en gaat naar de opdrachtprompt. De seriële uitvoer ziet eruit als `12!Too many logs!`
    • Toevoegen File Logging – Ook bekend als sequentiële modus, deze modus creëert een file SEQLOG.txt aangeroepen als het er nog niet is, en alle ontvangen gegevens aan de fileOpenLog verzendt 12<, waarna OpenLog klaar is om gegevens te ontvangen. Tekens worden niet geëchood. U kunt deze modus verlaten en de opdrachtmodus openen door CTRL+z (ASCII 26) te sturen. Alle gebufferde gegevens worden opgeslagen.
    • Opdrachtprompt – OpenLog verzendt 12>, waarna het systeem klaar is om opdrachten te ontvangen. Let op: het > teken geeft aan dat OpenLog klaar is om opdrachten te ontvangen, geen gegevens. U kunt files en voeg gegevens toe aan files, maar hiervoor is enige seriële parsing nodig (voor foutcontrole), dus stellen we deze modus niet standaard in.
    • Nieuw resetten File Nummer – Deze modus reset het logbestand file nummer naar LOG000.txt. Dit is handig als u onlangs een microSD-kaart hebt gewist en het logbestand wilt file nummers om opnieuw te beginnen.
    • Nieuw escape-teken – Met deze optie kan de gebruiker een teken invoeren, zoals CTRL+z of $, en dit instellen als het nieuwe escape-teken. Deze instelling wordt teruggezet naar CTRL+z tijdens een noodreset.
    • Aantal escape-tekens – Met deze optie kan de gebruiker een teken invoeren (zoals 1, 3 of 17), waarbij het nieuwe aantal escape-tekens wordt bijgewerkt dat nodig is om terug te keren naar de opdrachtmodus. BijvoorbeeldampAls u bijvoorbeeld 8 invoert, moet u acht keer op CTRL+z drukken om de opdrachtmodus te activeren. Deze instelling wordt tijdens een noodreset teruggezet naar 3.
  • Escape-tekens: OpenLog vereist dat je `CTRL+z` drie keer indrukt om de commandomodus te activeren. Dit is om te voorkomen dat de kaart per ongeluk wordt gereset tijdens het uploaden van nieuwe code vanuit de Arduino IDE. Er bestaat een kans dat de kaart het teken `CTRL+z` ziet tijdens het bootloaden (een probleem dat we zagen in de vroege versies van de OpenLog-firmware), dus dit is bedoeld om dat te voorkomen. Als je vermoedt dat je kaart hierdoor geblokkeerd is, kun je altijd een noodreset uitvoeren door de RX-pin tijdens het opstarten tegen de aarde te houden.

Configuratie File

Als u liever niet de seriële terminal gebruikt om de instellingen op uw OpenLog te wijzigen, kunt u de instellingen ook bijwerken door het bestand CONFIG.TXT aan te passen file.

Opmerking: Deze functie werkt alleen met firmwareversie 1.6 of nieuwer. Als u een OpenLog na 2012 hebt gekocht, gebruikt u firmwareversie 1.6 of hoger.

  • Hiervoor heb je een microSD-kaartlezer en een teksteditor nodig. Open het bestand config.txt file (de kapitalisatie van de file naam maakt niet uit) en configureer maar! Als u uw OpenLog nog nooit eerder met de SD-kaart hebt opgestart, kunt u de fileAls u OpenLog eerder hebt opgestart met de microSD-kaart erin, zou u het volgende moeten zien wanneer u de microSD-kaart leest.SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(15)OpenLog maakt een config.txt en LOG0000.txt file bij de eerste keer opstarten.
  • De standaardconfiguratie file heeft één regel met instellingen en één regel met definities.SparkFun-DEV-13712-Deeltje-Foton-Met-Gaten-Om-Te-Solderen-figuur-(16)De standaardconfiguratie file is geschreven door OpenLog.
  • Houd er rekening mee dat dit gewone zichtbare tekens zijn (er zijn geen niet-zichtbare of binaire waarden) en dat elke waarde door een komma wordt gescheiden.

De instellingen zijn als volgt gedefinieerd:

  • Baud: De communicatiebaudsnelheid. 9600 bps is de standaard. Acceptabele waarden die compatibel zijn met de Arduino IDE zijn 2400, 4800, 9600, 19200, 38400, 57600 en 115200. U kunt andere baudsnelheden gebruiken, maar u kunt dan niet communiceren met OpenLog via de seriële monitor van de Arduino IDE.
  • Escap:e De ASCII-waarde (in decimale notatie) van het escape-teken. 26 is CTRL+z en is de standaardinstelling. 36 is $ en is een veelgebruikt escape-teken.
  • Esc #: Het vereiste aantal escape-tekens. Standaard is dit drie, dus u moet het escape-teken drie keer intoetsen om terug te keren naar de opdrachtmodus. Acceptabele waarden liggen tussen 0 en 254. Als u deze waarde op 0 instelt, wordt de controle op escape-tekens volledig uitgeschakeld.
  • Systeemmodus. OpenLog start standaard in de modus Nieuw log (0). Acceptabele waarden zijn 0 = Nieuw log, 1 = Sequentieel log, 2 = Opdrachtmodus.
  • Werkwoord: Verbose-modus. Uitgebreide (verbose) foutmeldingen zijn standaard ingeschakeld. Als u deze optie op 1 instelt, worden uitgebreide foutmeldingen ingeschakeld (zoals de onbekende opdracht: verwijder ! ). Als u deze optie op 0 instelt, worden uitgebreide fouten uitgeschakeld, maar wordt er een ! weergegeven als er een fout is. Het uitschakelen van de Verbose-modus is handig als u fouten van een embedded systeem probeert af te handelen.
  • Echo: Echo-modus. In de opdrachtmodus worden tekens standaard geëchood. Als u deze waarde instelt op 0, wordt de tekenecho uitgeschakeld. Dit is handig als u fouten verwerkt en niet wilt dat verzonden opdrachten worden geëchood naar de OpenLog.II.
  • iignoreRXEmergency Override. Normaal gesproken zal OpenLog een noodreset uitvoeren wanneer de RX-pin tijdens het opstarten laag wordt getrokken. Door dit op 1 in te stellen, wordt de controle van de RX-pin tijdens het opstarten uitgeschakeld. Dit kan handig zijn voor systemen die de RX-lijn om verschillende redenen laag houden. Als Emergency Override is uitgeschakeld, kunt u het apparaat niet terugzetten naar 9600 bps en de configuratie. file zal de enige manier zijn om de baudrate te wijzigen.

Hoe OpenLog de configuratie wijzigt File
Er zijn vijf verschillende situaties waarin OpenLog de config.txt kan wijzigen file.

  • Configuratie file gevonden: Tijdens het opstarten zal OpenLog zoeken naar een config.txt file. Als de file wordt gevonden, zal OpenLog de meegeleverde instellingen gebruiken en eventuele eerder opgeslagen systeeminstellingen overschrijven.
  • Geen configuratie file gevonden: Als OpenLog het bestand config.txt niet kan vinden file OpenLog maakt dan config.txt aan en slaat de momenteel opgeslagen systeeminstellingen daarin op. Dit betekent dat uw systeem de huidige instellingen behoudt als u een nieuw geformatteerde microSD-kaart plaatst.
  • Corrupte configuratie file gevonden: OpenLog zal de beschadigde config.txt wissen fileen zal zowel de interne EEPROM-instellingen als de config.txt-instellingen herschrijven file naar de bekende goede staat van 9600,26,3,0,1,1,0.
  • Ongeldige waarden in de configuratie file:Als OpenLog instellingen ontdekt die ongeldige waarden bevatten, zal OpenLog de corrupte waarden in config.txt overschrijven file met de momenteel opgeslagen EEPROM-systeeminstellingen.
  • Wijzigingen via de opdrachtprompt: Als de systeeminstellingen worden gewijzigd via de opdrachtprompt (hetzij via een seriële verbinding of via seriële opdrachten van de microcontroller), worden deze wijzigingen zowel in het EEPROM van het systeem als in het bestand config.txt vastgelegd. file.
  • Noodreset: Als de OpenLog wordt uit- en ingeschakeld met een jumper tussen RX en GND, en de noodoverride-bit is ingesteld op 0 (waardoor een noodreset mogelijk is), zal OpenLog zowel de interne EEPROM-instellingen als de config.txt-instellingen herschrijven file naar de bekende goede staat van 9600,26,3,0,1,1,0 .

Probleemoplossing

Er zijn verschillende opties om te controleren of u problemen ondervindt met het maken van verbinding via de seriële monitor, problemen met weggelaten tekens in logboeken of problemen met een geblokkeerde OpenLog.

Controleer STAT1 LED-gedrag
STAT1 LED vertoont verschillend gedrag bij twee verschillende, veelvoorkomende fouten.

  • 3 keer knipperen: De microSD-kaart is niet geïnitialiseerd. Mogelijk moet u de kaart formatteren met FAT/FAT16 op een computer.
  • 5 knipperingen: OpenLog is overgeschakeld naar een nieuwe baudrate en moet opnieuw worden opgestart.

Controleer de submapstructuur nogmaals

  • Als u de standaard OpenLog.ino ex gebruiktampOpenLog ondersteunt slechts twee submappen. U moet FOLDER_TRACK_DEPTH van 2 wijzigen naar het aantal submappen dat u wilt ondersteunen. Zodra u dit hebt gedaan, compileert u de code opnieuw en uploadt u de aangepaste firmware.
  • Controleer het aantal Files in de hoofdmap
  • OpenLog ondersteunt maximaal 65,534 logs. files in de root-directory. We raden aan je microSD-kaart opnieuw te formatteren om de logsnelheid te verbeteren.
  • Controleer de grootte van uw aangepaste firmware
  • Als u een aangepaste schets voor OpenLog schrijft, controleer dan of uw schets niet groter is dan 32,256 bytes. Anders zal deze de bovenste 500 bytes van het flashgeheugen in beslag nemen, die door de seriële bootloader Optiboot worden gebruikt.
  • Dubbelcheck File Namen
  • Alle file Namen moeten alfanumeriek zijn. MyLOG1.txt is oké, maar Hi !e _ .txtt werkt mogelijk niet.
  • Gebruik 9600 Baud
  • OpenLog draait op de ATmega328 en heeft een beperkte hoeveelheid RAM (2048 bytes). Wanneer u seriële tekens naar OpenLog verzendt, worden deze tekens gebufferd. De SD Group Simplified Specification staat toe dat een SD-kaart tot 250 ms (paragraaf 4.6.2.2 Schrijven) nodig heeft om een ​​datablok in het flashgeheugen op te slaan.
  • Bij 9600 bps zijn dat 960 bytes (10 bits per byte) per seconde. Dat is 1.04 ms per byte. OpenLog gebruikt momenteel een ontvangstbuffer van 512 bytes, waardoor het ongeveer 50 ms aan tekens kan bufferen. Hierdoor kan OpenLog alle tekens met 9600 bps succesvol ontvangen. Naarmate de baudrate toeneemt, gaat de buffer minder lang mee.

OpenLog Buffer Overrun Tijd

Baudsnelheid Tijd per byte Tijd totdat de buffer is overschreden
9600bps 1.04ms 532ms
57600bps 0.174ms 88ms
115200bps 0.087ms 44ms

Veel SD-kaarten hebben een snellere opnametijd dan 250 ms. Dit kan worden beïnvloed door de 'klasse' van de kaart en de hoeveelheid gegevens die al op de kaart is opgeslagen. De oplossing is om een ​​lagere baudrate te gebruiken of de tijd tussen de tekens die met de hogere baudrate worden verzonden, te verlengen.

Formatteer uw MicroSD-kaart
Denk eraan een kaart te gebruiken met weinig of geen files erop. Een microSD-kaart met 3.1 GB aan ZIP files of MP3's hebben een langzamere responstijd dan een lege kaart. Als u uw microSD-kaart niet op een Windows-besturingssysteem hebt geformatteerd, formatteer de microSD-kaart dan opnieuw en maak een DOS-bestand aan. filesysteem op de SD-kaart.
MicroSD-kaarten verwisselen
Er zijn veel verschillende soorten kaartfabrikanten, kaarten met een ander label, kaartformaten en kaartklassen, en ze werken mogelijk niet allemaal even goed. Wij gebruiken doorgaans een 8GB klasse 4 microSD-kaart, die goed presteert met 9600 bps. Als u hogere baudrates of meer opslagruimte nodig hebt, kunt u kaarten van klasse 6 of hoger proberen.
Voeg vertragingen toe tussen het schrijven van personages
Door een kleine vertraging toe te voegen tussen Serial.print()-instructies, geeft u OpenLog de kans om de huidige buffer vast te leggen.
Bijvoorbeeldampon:
  • Serieel.begin(115200);
    voor(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); }

Logt mogelijk niet correct, omdat er veel tekens direct achter elkaar worden verzonden. Door een kleine vertraging van 15 ms in te voegen tussen het schrijven van grote tekens, kan OpenLog gegevens registreren zonder tekens te verliezen.

  • Serieel.begin(115200);
    voor(int i = 1 ; i < 10 ; i++) { Serial.print(i, DEC); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); vertraging(15); }

Voeg Arduino seriële monitorcompatibiliteit toe

Als u OpenLog probeert te gebruiken met de ingebouwde seriële bibliotheek of de SoftwareSerial-bibliotheek, kunt u problemen ondervinden met de opdrachtmodus. Serial.println() stuurt zowel een nieuwe regel als een wagenretour. Er zijn twee alternatieve opdrachten om dit te verhelpen.

De eerste manier is door gebruik te maken van de opdracht \r (ASCII-carriage return):
Serial.print(“TEKST\r”);

U kunt ook de waarde 13 (decimale wagenretour) verzenden:

  • Serial.print(“TEKST”);
  • Serial.write(13);

Noodreset

Houd er rekening mee dat als u de OpenLog naar een standaardstatus wilt resetten, u het bord kunt resetten door de RX-pin aan GND te verbinden, de OpenLog in te schakelen, te wachten tot de LED's gelijktijdig beginnen te knipperen en vervolgens de OpenLog uit te schakelen en de jumper te verwijderen.
Als u de Emergency Override-bit naar 1 hebt gewijzigd, moet u de configuratie aanpassen file, omdat de noodreset niet werkt.

Neem contact op met de Community

Als je nog steeds problemen ondervindt met je OpenLog, bekijk dan hier de huidige en opgeloste problemen in onze GitHub-repository. Er is een grote community die met OpenLog werkt, dus de kans is groot dat iemand een oplossing heeft gevonden voor het probleem dat je ervaart.

Hulpbronnen en verder gaan

Nu je succesvol gegevens hebt geregistreerd met je OpenLog, kun je externe projecten opzetten en alle mogelijke binnenkomende gegevens in de gaten houden. Overweeg om je eigen Citizen Science-project te starten, of zelfs een huisdierentracker om te zien wat Fluffy doet wanneer hij buiten is!
Bekijk deze aanvullende bronnen voor probleemoplossing, hulp of inspiratie voor uw volgende project.

  • OpenLog GitHub
  • Illumitune-project
  • LilyPad lichtsensor aansluiten
  • BadgerHack: Bodemsensor-add-on
  • Aan de slag met OBD-II
  • Vernier Photogate

Heb je nog meer inspiratie nodig? Bekijk dan eens een paar van deze gerelateerde tutorials:

  • Foton-afstandsbediening voor waterniveausensor
    Leer hoe u een waterniveausensor op afstand voor een wateropslagtank bouwt en hoe u een pomp op basis van de metingen kunt automatiseren!
  • Blynk Board Projectgids
    Een reeks Blynk-projecten die u op het Blynk-bord kunt instellen, zonder dat u het bord opnieuw hoeft te programmeren.
  • Gegevens loggen naar Google Sheets met de Tessel 2
    Dit project behandelt hoe u op twee manieren gegevens kunt loggen in Google Sheets: met behulp van IFTTT met een web verbinding of een USB-stick en "sneakernet" zonder.
  • Grafieksensorgegevens met Python en Matplotlib
    Met matplotlib kunt u een realtimegrafiek maken van temperatuurgegevens die zijn verzameld via een TMP102-sensor die is aangesloten op een Raspberry Pi.

Als u feedback heeft over de tutorial, bekijk dan de opmerkingen of neem contact op met ons technische ondersteuningsteam via TechSupport@sparkfun.com.

Veelgestelde vragen

Wat is het aanbevolen stroomverbruik voor OpenLog?

Het aanbevolen ingangsvermogen voor de OpenLog ligt tussen 3.3 V en 5 V.

Hoeveel stroom verbruikt de OpenLog als hij niet wordt gebruikt?

De OpenLog verbruikt ongeveer 2 tot 5 mA als hij inactief is zonder microSD-kaart, en ongeveer 5 tot 6 mA als er een microSD-kaart is geplaatst.

Wat is het doel van de microSD USB-kabel voor OpenLog?

Met de microSD USB-lezer kunt u eenvoudig gegevens overbrengen van de microSD-kaart die u met OpenLog gebruikt naar een computer.

Documenten / Bronnen

SparkFun DEV-13712 Deeltjesfoton met gaten om te solderen [pdf] Gebruikershandleiding
DEV-13712, DEV-13955, DEV-13712 Deeltjesfoton met gaten voor solderen, DEV-13712, Deeltjesfoton met gaten voor solderen, Gaten voor solderen, Voor solderen, Solderen

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *