SparkFun-logo

SparkFun DEV-13712 Deeltjiefoton Met Gate Vir Soldeerwerk

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeerproduk

Spesifikasies

  • Produknaam: OpenLog-datalogger
  • Model: DEV-13712
  • Kraginvoer: 3.3V-12V (Aanbevole 3.3V-5V)
  • RXI-insetvolumetage: 2.0V-3.8V
  • TXO Uitset Voltage: 3.3V
  • Ruststroomverbruik: ~2mA-5mA (sonder microSD-kaart), ~5mA-6mA (met microSD-kaart)
  • Aktiewe skryfstroomverbruik: ~20-23mA (met microSD-kaart)

Produkgebruiksinstruksies

Materiaal benodig:

  • Arduino Pro Mini 328 – 3.3V/8MHz
  • SparkFun FTDI Basiese Uitbreekpunt – 3.3V
  • SparkFun Cerberus USB-kabel – 6 m
  • microSD-kaart met adapter – 16 GB (Klas 10)
  • microSD USB-leser
  • Vroulike opskrifte
  • Jumperdrade Premium 6 M/M Pak van 10
  • Breek weg Manlike Kopstukke – Reghoekig

Aanbevole leesstof:

Hardeware verbyview:
Die OpenLog loop met die volgende instellings:

VCC-invoer RXI-invoer TXO-uitset Ledige stroomverbruik Aktiewe Skryfstroomtrekking
3.3V-12V (Aanbevole 3.3V-5V) 2.0V-3.8V 3.3 V ~2mA-5mA (sonder microSD-kaart), ~5mA-6mA (met microSD-kaart) ~20-23mA (met/microSD-kaart)

Inleiding

Let op! Hierdie tutoriaal is vir die Open Log vir seriële UART [DEV-13712]. As jy die Qwiic OpenLog vir IC [DEV-15164] gebruik, verwys asseblief na die Qwiic OpenLog-aansluitingsgids.

Die OpenLog Data Logger is 'n maklik-om-te-gebruik, oopbron oplossing vir die aanteken van seriële data van jou projekte. Die OpenLog bied 'n eenvoudige seriële koppelvlak om data van 'n projek na 'n microSD-kaart aan te teken.

SparkFun OpenLog
DEV-13712

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (1)

SparkFun OpenLog met opskrifte
DEV-13955

Geen produk gevind nie

Materiaal benodig
Om hierdie tutoriaal volledig te kan deurwerk, benodig jy die volgende dele. Jy mag dalk nie alles nodig hê nie, afhangende van wat jy het. Voeg dit by jou mandjie, lees deur die gids en pas die mandjie aan soos nodig.

OpenLog-aansluitingsgids

SparkFun Wenslys

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (2)SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (3)

Aanbevole leeswerk
Indien u nie vertroud of gemaklik is met die volgende konsepte nie, beveel ons aan dat u dit deurlees voordat u voortgaan met die OpenLog-aansluitingsgids.

  • Hoe om te soldeer: Deurgat-soldering. Hierdie tutoriaal dek alles wat jy moet weet oor deurgat-soldering.
  • Seriële kommunikasie Asinchrone seriële kommunikasiekonsepte: pakkies, seinvlakke, baudtempo's, UART's en meer!
  • Serial Periferal Interface (SPI) SPI word algemeen gebruik om mikrobeheerders aan randapparatuur soos sensors, skuifregisters en SD-kaarte te koppel.
  • Serial Terminal Basics Hierdie tutoriaal sal jou wys hoe om met jou seriële toestelle te kommunikeer deur 'n verskeidenheid terminaal-emulatortoepassings te gebruik.

Hardeware verbyview

Krag
Die OpenLog loop met die volgende instellings:

OpenLog-kraggraderings

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (4)

Die OpenLog se stroomverbruik is ongeveer 20mA tot 23mA wanneer dit na 'n microSD skryf. Afhangende van die grootte van die microSD-kaart en die vervaardiger daarvan, kan die aktiewe stroomverbruik wissel wanneer die OpenLog na die geheuekaart skryf. Die verhoging van die baudtempo sal ook meer stroom trek.

mikrobeheerder
Die OpenLog loop op 'n ingeboude ATmega328, wat teen 16MHz loop, danksy die ingeboude kristal. Die ATmega328 het die Optiboot-laaiprogram daarop gelaai, wat die OpenLog versoenbaar maak met die
“Arduino Uno” bordinstellings in die Arduino IDE.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (5)

Koppelvlak

Serial UART
Die primêre koppelvlak met die OpenLog is die FTDI-kopstuk op die rand van die bord. Hierdie kopstuk is ontwerp om direk in 'n Arduino Pro of Pro Mini in te prop, wat die mikrobeheerder toelaat om die data oor 'n seriële verbinding na die OpenLog te stuur.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (6)

Waarskuwing! As gevolg van die penvolgorde wat dit versoenbaar maak met die Arduinos, kan dit nie direk in 'n FTDI-uitbreekbord ingeprop word nie.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (7)

Vir meer inligting, maak seker dat u die volgende afdeling oor die Hardeware-aansluiting lees.

SPI

Daar is ook vier SPI-toetspunte aan die teenoorgestelde kant van die bord uitgebreek. Jy kan hierdie gebruik om die selflaaiprogram op die ATmega328 te herprogrammeer.

  • SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (8)Die nuutste OpenLog (DEV-13712) breek hierdie penne op kleiner geplateerde deurgaatjies uit. As jy 'n internetdiensverskaffer moet gebruik om 'n nuwe selflaaiprogram na die OpenLog te herprogrammeer of op te laai, kan jy pogo-penne gebruik om aan hierdie toetspunte te koppel.
  • Die finale koppelvlak vir kommunikasie met die OpenLog is die microSD-kaart self. Om te kommunikeer, benodig die microSD-kaart SPI-penne. Nie net word die data deur die OpenLog hier gestoor nie, maar jy kan ook die OpenLog se konfigurasie opdateer via die config.txt. file op die microSD -kaart.
    microSD kaart

Alle data wat deur die OpenLog aangeteken word, word op die microSD-kaart gestoor. Die OpenLog werk met microSD-kaarte wat die volgende kenmerke het:

  • 64 MB tot 32 GB
  • FAT16 of FAT32

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (9)

Daar is twee status-LED's op die OpenLog om jou met probleemoplossing te help.

  • STAT1 – Hierdie blou aanwyser-LED is aan die Arduino D5 (ATmega328 PD5) gekoppel en skakel aan/af wanneer 'n nuwe karakter ontvang word. Hierdie LED flikker wanneer seriële kommunikasie funksioneer.
  • STAT2 – Hierdie groen LED is gekoppel aan Arduino D13 (SPI Seriële Kloklyn/ ATmega328 PB5). Hierdie LED flikker slegs wanneer die SPI-koppelvlak aktief is. Jy sal dit sien flikker wanneer die OpenLog 512 grepe op die microSD-kaart opneem.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (10)

Hardeware aansluiting

Daar is twee hoofmetodes om jou OpenLog aan 'n stroombaan te koppel. Jy sal 'n paar kopstukke of drade benodig om te koppel. Maak seker dat jy aan die bord soldeer vir 'n veilige verbinding.

Basiese Seriële Konneksie

WenkAs jy 'n vroulike kopstuk op die OpenLog en 'n vroulike kopstuk op die FTDI het, sal jy M/F-jumperdrade benodig om te koppel.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (11)

Hierdie hardewareverbinding is ontwerp vir koppelvlak met 'n OpenLog as jy die bord moet herprogrammeer of data oor 'n basiese seriële verbinding moet aanteken.

Maak die volgende verbindings:
OpenLog → 3.3V FTDI Basiese Uitbreek

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

Let daarop dat dit nie 'n direkte verbinding tussen die FTDI en OpenLog is nie – jy moet die TXO- en RXI-penverbindings omruil.

Jou verbindings behoort soos volg te lyk:

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (12)

Sodra jy die verbindings tussen die OpenLog en die FTDI Basic het, koppel jou FTDI-bord aan 'n USB-kabel en jou rekenaar. Maak 'n seriële terminaal oop, koppel aan die COM-poort van jou FTDI Basic, en begin!

Projek Hardeware Konneksie

Wenk: As jy die vroulike kopstukke aan die OpenLog gesoldeer het, kan jy manlike kopstukke aan die Arduino Pro Mini soldeer om die borde aanmekaar te koppel sonder die nodigheid van drade.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (13)

Alhoewel koppelvlak met die OpenLog oor 'n seriële verbinding belangrik is vir herprogrammering of ontfouting, is die plek waar OpenLog uitblink in 'n ingebedde projek. Hierdie algemene stroombaan is hoe ons aanbeveel dat jy jou OpenLog aan 'n mikrobeheerder koppel (in hierdie geval 'n Arduino Pro Mini) wat seriële data na die OpenLog sal uitskryf.

Eerstens moet jy die kode oplaai na jou Pro Mini wat jy wil gebruik. Kyk gerus na die Arduino Sketches vir 'n paar voorbeelde.ampdie kode wat jy kan gebruik.

Let wel: Indien jy onseker is oor hoe om jou Pro Mini te programmeer, kyk gerus na ons tutoriaal hier.

Gebruik van die Arduino Pro Mini 3.3V

  • Hierdie tutoriaal is jou gids tot alles oor Arduino Pro Mini. Dit verduidelik wat dit is, wat dit nie is nie, en hoe om dit te begin gebruik.
  • Sodra jy jou Pro Mini geprogrammeer het, kan jy die FTDI-bord verwyder en dit met die OpenLog vervang. Maak seker dat jy die penne gemerk BLK op beide die Pro Mini en OpenLog koppel (die penne gemerk GRN op beide sal ook ooreenstem indien dit korrek gedoen word).
  • Indien jy nie die OpenLog direk in die Pro Mini kan inprop nie (as gevolg van wanpassende kopstukke of ander borde in die pad), kan jy jumperdrade gebruik en die volgende verbindings maak.

OpenLog → Arduino Pro/Arduino Pro Mini

  • GND → GND
  • GND → GND
  • VCC → VCC
  • TXO → RXI
  • RXI → TXO
  • DTR → DTR

Sodra jy klaar is, behoort jou verbindings soos volg te lyk met die Arduino Pro Mini en Arduino Pro. Die Fritzing-diagram wys die OpenLogs met die kopstukke gespieël. As jy die microSD-sok relatief tot die Arduino se bokant omdraai view, hulle moet ooreenstem met die programmeringsopskrif soos 'n FTDI.

SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (14)

Let daarop dat die verbinding 'n reguit skoot is met die OpenLog "onderstebo" (met die microSD na bo).

Let wel: Aangesien Vcc en GND tussen die OpenLog en Arduino deur die headers beset word, sal jy aan die ander beskikbare penne op die Arduino krag moet koppel. Andersins kan jy drade aan die blootgestelde kragpenne op enige van die borde soldeer.

Skakel jou stelsel aan, en jy is gereed om te begin aanteken!

Arduino Sketse

Daar is ses verskillende eks.ample sketse ingesluit wat jy op die Arduino kan gebruik wanneer dit aan 'n OpenLog gekoppel is.

  • OpenLog_Benchmarking — Hierdie eksample word gebruik om OpenLog te toets. Dit stuur baie groot hoeveelhede data teen 115200 bps oor verskeie files.
  • OpenLog_CommandTest — Hierdie bv.ampwys hoe om 'n te skep en by te voeg file via opdragreëlbeheer deur die Arduino.
  • OpenLog_ReadExample — Hierdie eksample gaan deur hoe om die OpenLog via die opdragreël te beheer.
  • OpenLog_ReadExample_GrootFile — Bvamphoe om 'n groot stoorplek oop te maak file op OpenLog en rapporteer dit oor 'n plaaslike Bluetooth-verbinding.
  • OpenLog_Test_Sketch — Word gebruik om OpenLog met baie seriële data te toets.
  • OpenLog_Test_Sketch_Binary — Word gebruik om OpenLog met binêre data en ontsnappingskarakters te toets.

Firmware

Die OpenLog het twee primêre sagtewarestukke aan boord: die selflaaiprogram en die firmware.

Arduino-laaiprogram

Let wel: As jy 'n OpenLog gebruik wat voor Maart 2012 aangekoop is, is die ingeboude selflaaiprogram versoenbaar met die "Arduino Pro of Pro Mini 5V/16MHz met ATmega328"-instelling in die Arduino IDE.

  • Soos voorheen genoem, het die OpenLog die Optiboot seriële selflaaiprogram aan boord. Jy kan die OpenLog net soos 'n Arduino Uno hanteer wanneer jy lêers oplaai.ample-kode of nuwe firmware na die bord.
  • As jy jou OpenLog blokkeer en die selflaaiprogram moet herinstalleer, sal jy ook Optiboot op die bord wil laai. Kyk gerus na ons tutoriaal oor die installering van 'n Arduino-selflaaiprogram vir meer inligting.

Kompilering en laai van firmware op die OpenLog

Let wel: As dit jou eerste keer is om Arduino te gebruik, hersien assebliefview ons tutoriaal oor die installering van die Arduino IDE. Indien u nog nie voorheen 'n Arduino-biblioteek geïnstalleer het nie, raadpleeg asseblief ons installasiegids om die biblioteke handmatig te installeer.

  • Indien u om enige rede die firmware op u OpenLog moet opdateer of herinstalleer, sal die volgende proses u bord aan die gang kry.
  • Laai eers die Arduino IDE v1.6.5 af. Ander weergawes van die IDE mag dalk werk om die OpenLog-firmware te kompileer, maar ons het dit as 'n bekende goeie weergawe geverifieer.
  • Laai vervolgens die OpenLog-firmware en die vereiste biblioteekbundel af.

LAAI OPENLOG FIRMWARE-PAKET (ZIP) AF

  • Sodra jy die biblioteke en firmware afgelaai het, installeer die biblioteke in Arduino. As jy onseker is oor hoe om die biblioteke handmatig in die IDE te installeer, kyk gerus na ons tutoriaal: Installering van 'n Arduino-biblioteek: Handmatige installering van 'n biblioteek.

Let wel:

  • Ons gebruik gewysigde weergawes van die SdFat- en SerialPort-biblioteke om arbitrêr te verklaar hoe groot die TX- en RX-buffers moet wees. Die OpenLog vereis dat die TX-buffer baie klein (0) moet wees, en die RX-buffer moet so groot as moontlik wees.
  • Deur hierdie twee gewysigde biblioteke saam te gebruik, kan die OpenLog se werkverrigting verbeter word.

Op soek na die nuutste weergawes?
Indien u die mees onlangse weergawes van die biblioteke en firmware verkies, kan u dit direk aflaai vanaf die GitHub-bewaarplekke wat hieronder gekoppel is. Die SdFatLib- en Seriële Poort-biblioteke is nie sigbaar in die Arduino-bordbestuurder nie, dus sal u die biblioteek handmatig moet installeer.

  • GitHub: OpenLog > Firmware > OpenLog_Firmware
  • Bill Greiman se Arduino-biblioteke
    • SdFatLib-beta
    • Seriële Poort
  • Volgende, om voordeel te trektage van die gewysigde biblioteke, wysig die SerialPort.hh file gevind in die \Arduino\Libraries\SerialPort gids. Verander BUFFERED_TX na 0 en ENABLE_RX_ERROR_CHECKING na 0. Stoor die file, en maak die Arduino IDE oop.
  • Indien jy dit nog nie gedoen het nie, koppel jou OpenLog aan die rekenaar via 'n FTDI-bord. Kontroleer asseblief die eks.ample kring as jy nie seker is hoe om dit behoorlik te doen nie.
  • Maak die OpenLog-skets oop wat jy wil oplaai onder die Tools>Board-kieslys, kies die "Arduino/Genuino Uno" en kies die korrekte COM-poort vir jou FTDI-bord onder Tools>Poort.
  • Laai die kode op.
  • Dis dit! Jou OpenLog is nou geprogrammeer met nuwe firmware. Jy kan nou 'n seriële monitor oopmaak en met die OpenLog kommunikeer. By aanskakeling sal jy óf 12> óf 12< sien. 1 dui aan dat die seriële verbinding tot stand gebring is, 2 dui aan dat die SD-kaart suksesvol geïnisialiseer is, < dui aan dat OpenLog gereed is om enige ontvangde seriële data aan te teken, en > dui aan dat OpenLog gereed is om opdragte te ontvang.

OpenLog Firmware Sketse
Daar is drie ingeslote sketse wat jy op die OpenLog kan gebruik, afhangende van jou spesifieke toepassing.

  • OpenLog – Hierdie firmware word standaard op die OpenLog gestuur. Deur die ?-opdrag te stuur, sal die firmware-weergawe wat op 'n eenheid gelaai is, gewys word.
  • OpenLog_Light – Hierdie weergawe van die skets verwyder die kieslys en opdragmodus, wat toelaat dat die ontvangbuffer verhoog word. Dit is 'n goeie opsie vir hoëspoed-logging.
  • OpenLog_Minimal – Die baudtempo moet in kode gestel en opgelaai word. Hierdie skets word aanbeveel vir ervare gebruikers, maar is ook die beste opsie vir die hoogste spoed-logging.

Command Set

Jy kan met die OpenLog koppel via 'n seriële terminaal. Die volgende opdragte sal jou help om te lees, skryf en verwyder files, asook die instellings van die OpenLog verander. Jy sal in Opdragmodus moet wees om die volgende instellings te gebruik.

Terwyl die OpenLog in Opdragmodus is, sal STAT1 aan/af skakel vir elke karakter wat ontvang word. Die LED sal aan bly totdat die volgende karakter ontvang word.

  • Nuut File – Skep 'n nuwe file genoem File in die huidige gids. Standaard 8.3 filename word ondersteun. Byvoorbeeldampd.w.s. “87654321.123” is aanvaarbaar, terwyl “987654321.123” nie is nie.
    • Example: nuut file1.txt
  • Voeg by File – Voeg teks aan die einde van die FileSeriële data word dan vanaf die UART in 'n stroom gelees en by die fileDit word nie oor die serieterminaal weergegee nie. Indien die File bestaan ​​nie wanneer hierdie funksie geroep word nie, die file geskep sal word.
    • Example: voeg nuwe byfile.csv
  • Skryf File VERSKIKING – Skryf teks na die File vanaf die ligging OFFSET binne die fileDie teks word vanaf die UART gelees, reël vir reël, en teruggeëggo. Om hierdie toestand te verlaat, stuur 'n leë reël.
    • Example: skryf logs.txt 516
  • rm File – Verwyder die File vanaf die huidige gids. Wildcards word ondersteun.
    • Example: rm README.txt
  • grootte File – Uitsetgrootte van File in grepe.
    • Example: grootte Log112.csv
    • Uitset: 11
  • Lees File + BEGIN+ LENGTE TIPE – Gee die inhoud van uit File begin by START en gaan vir LENGTE. Indien START weggelaat word, die hele file word gerapporteer. Indien LENGTH weggelaat word, word die hele inhoud vanaf die beginpunt gerapporteer. Indien TYPE weggelaat word, sal die OpenLog by verstek in ASCII rapporteer. Daar is drie uitvoer TYPE's:
    • ASCII = 1
    • HEKSI = 2
    • ROU = 3
  • Jy mag sommige navolgende argumente weglaat. Gaan die volgende voorbeeld na.amples.
  • Basiese lees + weggelaatde vlae:
    • Example: lees LOG00004.txt
    • Uitvoer: Versnellingsmeter X=12 Y=215 Z=317
  • Lees van begin 0 af met 'n lengte van 5:
    • Example: lees LOG00004.txt 0 5
    • Uitvoer: Versnelling
  • Lees vanaf posisie 1 met 'n lengte van 5 in HEX:
    • Example: lees LOG00004.txt 1 5 2
    • Uitset: 63 63 65 6C
  • Lees vanaf posisie 0 met 'n lengte van 50 in RAW:
    • Example: lees LOG00137.txt 0 50 3
    • Uitvoer: André– -þ Uitgebreide Karaktertoets
  • Kat File – Skryf die inhoud van 'n file in heksadesimum na die seriële monitor vir viewing. Dit is soms nuttig om te sien dat 'n file neem korrek op sonder om die SD-kaart te hoef uit te haal en view die file op 'n rekenaar.
    • Example: kat LOG00004.txt
    • Uitvoer: 00000000: 41 63 65 6c 3a 20 31

Gidsmanipulasie

  • ls – Lys alle inhoud van die huidige gids. Wildcards word ondersteun.
    • Example: ls
    • Uitvoer: \src
  • md Subgids – Skep 'n subgids in die huidige gids.
    • Example: md Example_Sketches
  • cd Subgids – Verander na Subgids.
    • Example: cd Hallo_Wêreld
  • cd .. – Verander na 'n laer gids in die boom. Let daarop dat daar 'n spasie tussen 'cd' en '..' is. Dit laat die stringontleder toe om die CD-opdrag te sien.
    • Example: cd ..
  • rm Subgids – Verwyder subgids. Die gids moet leeg wees vir hierdie opdrag om te werk.
    • Example: rm temperature
  • rm -rf Gids – Verwyder die gids en enige files daarin vervat.
    • Example: rm -rf Biblioteke

Laevlak-funksiebevele

  • ? – Hierdie opdrag sal 'n lys van beskikbare opdragte op die OpenLog oproep.
  • Skyf – Wys kaartvervaardiger-ID, reeksnommer, vervaardigingsdatum en kaartgrootte. Bv.ampdie uitset is:
    • Kaarttipe: SD2 Vervaardiger-ID: 3
    • OEM-ID: SD
    • Produk: SU01G
    • Weergawe: 8.0
    • Serienommer: 39723042 Vervaardigingsdatum: 1/2010 Kaartgrootte: 965120 KB
  • init – Herinisialiseer die stelsel en maak die SD-kaart weer oop. Dit is nuttig as die SD-kaart ophou reageer.
  • Sinkroniseer – Sinkroniseer die huidige inhoud van die buffer met die SD-kaart. Hierdie opdrag is nuttig as jy minder as 512 karakters in die buffer het en dit op die SD-kaart wil opneem.
  • Herstel – Spring OpenLog na ligging nul, voer die selflaaiprogram weer uit, en dan die init-kode. Hierdie opdrag is nuttig as jy die konfigurasie moet wysig. file, herstel die OpenLog, en begin die nuwe konfigurasie gebruik. Aanskakel en herlaai is steeds die voorkeurmetode om die bord terug te stel, maar hierdie opsie is beskikbaar.

Stelselinstellings

Hierdie instellings kan handmatig opgedateer of gewysig word in die config.txt. file.

  • Eggo TOESTAND – Verander die toestand van die stelsel en word in die stelselgeheue gestoor. TOESTAND kan aan of af wees. Terwyl dit aan is, sal die OpenLog ontvangde seriële data op die opdragprompt eggo. Terwyl dit af is, lees die stelsel nie ontvangde karakters terug nie.

Let wel: Tydens normale logging sal eggo afgeskakel word. Die stelselhulpbronvereistes vir die eggo van die ontvangde data is te hoog tydens logging.

  • Uitgebreide TOESTAND – Verander die status van uitgebreide foutrapportering. TOESTAND kan aan of af wees. Hierdie opdrag word in die geheue gestoor. Deur uitgebreide foute af te skakel, sal OpenLog slegs met 'n ! reageer as daar 'n fout is, eerder as 'n onbekende opdrag: C OMMAND.D..TDie karakters is makliker vir ingebedde stelsels om te ontleed as die volledige fout. As jy 'n terminaal gebruik, sal die uitgebreide aan-skakeling jou toelaat om volledige foutboodskappe te sien.
  • baud – Hierdie opdrag sal 'n stelselkieslys oopmaak wat die gebruiker toelaat om 'n baudtempo in te voer. Enige baudtempo tussen 300 bps en 1 Mbps word ondersteun. Die baudtempo-keuse is onmiddellik, en die OpenLog benodig 'n kragsiklus vir die instellings om in werking te tree. Die baudtempo word in EEPROM gestoor en word elke keer gelaai wanneer OpenLog aanskakel. Die verstekwaarde is 9600 8N1.

Onthou: As die bord vashaak in 'n onbekende baudtempo, kan jy RX aan GND koppel en OpenLog aanskakel. Die LED's sal vir 2 sekondes heen en weer flikker en dan gelyktydig flikker. Skakel die OpenLog af en verwyder die jumper. OpenLog is nou teruggestel na 9600 bps met 'n ontsnappingskarakter van `CTRL-Z` wat drie keer agtereenvolgens gedruk word. Hierdie funksie kan oorheers word deur die Noodoorheersing-bit op 1 te stel. Sien config.txt vir meer inligting.

  • Stel – Hierdie opdrag maak 'n stelselkieslys oop om die opstartmodus te kies. Hierdie instellings sal by die volgende aanskakeling plaasvind en word in 'n nie-vlugtige EEPROM gestoor.
    • Nuut File Logging – Hierdie modus skep 'n nuwe file elke keer as OpenLog aanskakel. OpenLog sal 1 (UART is lewendig), 2 (SD-kaart is geïnisialiseer), dan < (OpenLog is gereed om data te ontvang) oordra. Alle data sal in 'n LOG#####.txt aangeteken word. Die ##### getal neem toe elke keer as OpenLog aanskakel (die maksimum is 65533 logs). Die getal word in EEPROM gestoor en kan vanaf die ingestelde spyskaart herstel word. Nie alle ontvangde karakters word weergegee nie. Jy kan hierdie modus verlaat en na die opdragmodus gaan deur CTRL+z (ASCII 26) te stuur. Alle gebufferde data sal gestoor word.
  • Let wel: Indien te veel logs geskep is, sal OpenLog die fout **Te veel logs** uitvoer, hierdie modus verlaat en na die opdragprompt gaan. Die seriële uitvoer sal lyk soos `12!Te veel logs!
    • Voeg by File Logging – Ook bekend as opeenvolgende modus, skep hierdie modus 'n file genoem SEQLOG.txt as dit nie reeds daar is nie, en voeg enige ontvangde data by die fileOpenLog sal 12< oordra, waarna OpenLog gereed is om data te ontvang. Karakters word nie geëggo nie. Jy kan hierdie modus verlaat en na opdragmodus gaan deur CTRL+z (ASCII 26) te stuur. Alle gebufferde data sal gestoor word.
    • Opdragprompt – OpenLog sal 12> oordra, waarna die stelsel gereed is om opdragte te ontvang. Let daarop dat die > teken aandui dat OpenLog gereed is om opdragte te ontvang, nie data nie. Jy kan skep files en voeg data by files, maar dit vereis 'n mate van seriële ontleding (vir foutkontrole), so ons stel nie hierdie modus by verstek nie.
    • Herstel Nuwe File Nommer – Hierdie modus sal die log herstel file nommer na LOG000.txt. Dit is nuttig as jy onlangs 'n microSD-kaart skoongemaak het en die log wil hê file nommers om weer van voor af te begin.
    • Nuwe ontsnappingskarakter – Hierdie opsie laat die gebruiker toe om 'n karakter, soos CTRL+z of $, in te voer en dit as die nuwe ontsnappingskarakter te stel. Hierdie instelling word tydens 'n noodherstel na CTRL+z teruggestel.
    • Aantal ontsnappingskarakters – Hierdie opsie laat die gebruiker toe om 'n karakter in te voer (soos 1, 3 of 17), wat die nuwe aantal ontsnappingskarakters wat nodig is om na opdragmodus oor te skakel, opdateer. ByvoorbeeldampAs jy 8 invoer, moet die gebruiker agt keer CTRL+z druk om na die opdragmodus te gaan. Hierdie instelling word tydens 'n noodherstel na 3 teruggestel.
  • Verduideliking van ontsnappingskarakters: Die rede waarom OpenLog vereis dat `CTRL+z` 3 keer gedruk word om opdragmodus te betree, is om te verhoed dat die bord per ongeluk herstel word tydens die oplaai van nuwe kode vanaf die Arduino IDE. Daar is die kans dat die bord die `CTRL+z`-karakter tydens selflaai sal sien (’n probleem wat ons in die vroeë weergawes van die OpenLog-firmware gesien het), so dit is daarop gemik om dit te voorkom. As jy ooit vermoed dat jou bord as gevolg hiervan geblokkeer is, kan jy altyd ’n noodherstel doen deur die RX-pen na grond te hou tydens die aanskakeling.

Konfigurasie File

Indien u liewer nie die seriële terminaal wil gebruik om die instellings op u OpenLog te wysig nie, kan u ook die instellings opdateer deur die CONFIG.TXT te wysig. file.

Let wel: Hierdie funksie werk slegs op firmware weergawe 1.6 of nuwer. As jy 'n OpenLog na 2012 gekoop het, sal jy firmware weergawe 1.6+ gebruik.

  • Om dit te doen, benodig jy 'n microSD-kaartleser en 'n teksredigeerder. Maak die config.txt oop. file (die hoofletters van die file naam maak nie saak nie), en konfigureer dit! As jy nog nooit jou OpenLog met die SD-kaart aangeskakel het nie, kan jy ook die handmatig skep fileAs jy die OpenLog voorheen met die microSD-kaart ingesit aangeskakel het, behoort jy iets soos die volgende te sien wanneer jy die microSD-kaart lees.SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (15)Die OpenLog skep 'n config.txt en LOG0000.txt file met die eerste aanskakeling.
  • Die verstek konfigurasie file het een lyn instellings en een lyn definisies.SparkFun-DEV-13712-Deeltjie-Foton-Met-Gate-Vir-Soldeer-fig- (16)Die verstek konfigurasie file is geskryf deur die OpenLog.
  • Let daarop dat hierdie gewone sigbare karakters is (daar is geen nie-sigbare of binêre waardes nie), en elke waarde word deur 'n komma geskei.

Die instellings word soos volg gedefinieer:

  • baud: Die kommunikasie-baudtempo. 9600 bps is die verstekwaarde. Aanvaarbare waardes wat versoenbaar is met die Arduino IDE is 2400, 4800, 9600, 19200, 38400, 57600 en 115200. Jy kan ander baudtempo's gebruik, maar jy sal nie met die OpenLog kan kommunikeer deur die Arduino IDE-seriële monitor nie.
  • Escape:e Die ASCII-waarde (in desimale formaat) van die ontsnappingskarakter. 26 is CTRL+z en is die verstekwaarde. 36 is $ en is 'n algemeen gebruikte ontsnappingskarakter.
  • Esc #: Die aantal ontsnappingskarakters wat benodig word. Standaard is dit drie, so jy moet die ontsnappingskarakter drie keer druk om na opdragmodus te gaan. Aanvaarbare waardes is van 0 tot 254. As hierdie waarde op 0 gestel word, sal die kontrole van ontsnappingskarakters heeltemal gedeaktiveer word.
  • Modus Stelselmodus. OpenLog begin standaard in Nuwe Logmodus (0). Aanvaarbare waardes is 0 = Nuwe Log, 1 = Sekwensiële Log, 2 = Opdragmodus.
  • Werkwoord: Verbose modus. Uitgebreide (verbose) foutboodskappe is standaard aangeskakel. As jy dit op 1 stel, skakel jy verbose foutboodskappe aan (soos onbekende opdrag: verwyder !). As jy dit op 0 stel, skakel jy verbose foute af, maar sal met 'n ! reageer as daar 'n fout is. Om verbose modus af te skakel, is handig as jy probeer om foute van 'n ingebedde stelsel te hanteer.
  • Eggo: Eggo-modus. In opdragmodus word karakters standaard geëggo. As jy dit op 0 stel, skakel jy karaktereggo af. Dit is handig as jy foute hanteer en jy nie wil hê dat gestuurde opdragte terug na die OpenLog.II geëggo word nie.
  • ignoreerRXNoodoorskakeling. Normaalweg sal OpenLog 'n noodherstel instel wanneer die RX-pen laag getrek word tydens aanskakeling. As dit op 1 gestel word, sal die kontrole van die RX-pen tydens aanskakeling gedeaktiveer word. Dit kan nuttig wees vir stelsels wat die RX-lyn om verskeie redes laag sal hou. As Noodoorskakeling gedeaktiveer is, sal jy nie die eenheid terug kan dwing na 9600 bps nie, en die konfigurasie file sal die enigste manier wees om die baudtempo te verander.

Hoe OpenLog die konfigurasie wysig File
Daar is vyf verskillende situasies vir die OpenLog om die config.txt te wysig file.

  • Config file gevind: Tydens aanskakeling sal OpenLog soek na 'n config.txt file. As die file gevind word, sal OpenLog die ingeslote instellings gebruik en enige voorheen gestoorde stelselinstellings oorskryf.
  • Geen konfigurasie nie file gevind: As OpenLog nie die config.txt kan vind nie file dan sal OpenLog config.txt skep en die tans gestoorde stelselinstellings daarin opneem. Dit beteken dat as jy 'n nuut geformateerde microSD-kaart insit, jou stelsel sy huidige instellings sal behou.
  • Korrupte konfigurasie file gevind: OpenLog sal die korrupte config.txt uitvee file, en sal beide die interne EEPROM-instellings en die config.txt-instellings herskryf file na die bekende goeie toestand van 9600,26,3,0,1,1,0.
  • Onwettige waardes in konfigurasie fileIndien die OpenLog enige instellings ontdek wat onwettige waardes bevat, sal OpenLog die korrupte waardes in config.txt oorskryf. file met die tans gestoorde EEPROM-stelselinstellings.
  • Veranderinge deur die opdragprompt: As die stelselinstellings deur die opdragprompt verander word (óf oor 'n seriële verbinding óf via mikrobeheerder-seriële opdragte), sal daardie veranderinge beide in die stelsel se EEPROM en in die config.txt aangeteken word. file.
  • Noodherstel: Indien die OpenLog aangeskakel word met 'n jumper tussen RX en GND, en die Noodoorskakelingsbit op 0 gestel is (wat noodherstel toelaat), sal OpenLog beide die interne EEPROM-instellings en die config.txt-instellings herskryf. file na die bekende goeie toestand van 9600,26,3,0,1,1,0.

Probleemoplossing

Daar is verskeie verskillende opsies om te kyk of jy probleme ondervind om oor die seriële monitor te koppel, probleme ondervind met verlore karakters in logboeke, of probleme ondervind met 'n geblokkeerde OpenLog.

Kontroleer STAT1 LED-gedrag
Die STAT1 LED toon verskillende gedrag vir twee verskillende algemene foute.

  • 3 Flikkeringe: Die microSD-kaart kon nie geïnisialiseer word nie. Jy moet dalk die kaart met FAT/FAT16 op 'n rekenaar formateer.
  • 5 Flikkeringe: OpenLog het na 'n nuwe baudtempo verander en moet aangeskakel word.

Dubbelkontroleer die subgidsstruktuur

  • As jy die standaard OpenLog.ino ex gebruikample, OpenLog sal slegs twee subgidse ondersteun. Jy sal FOLDER_TRACK_DEPTH van 2 moet verander na die aantal subgidse wat jy moet ondersteun. Sodra jy dit gedoen het, herkompileer die kode en laai die gewysigde firmware op.
  • Verifieer die aantal Files in die Wortelgids
  • OpenLog sal slegs tot 65,534 XNUMX loglêers ondersteun. files in die wortelgids. Ons beveel aan dat u u microSD-kaart herformateer om die loggingspoed te verbeter.
  • Verifieer die grootte van jou gewysigde firmware
  • As jy 'n persoonlike skets vir die OpenLog skryf, maak seker dat jou skets nie groter as 32,256 500 is nie. Indien wel, sal dit die boonste XNUMX grepe van Flash-geheue sny, wat deur die Optiboot-seriële selflaaiprogram gebruik word.
  • Dubbelkontrole File Name
  • Almal file name moet alfanumeries wees. MyLOG1.txt is oukei, maar Hi !e _ .txtt werk dalk nie.
  • Gebruik 9600 Baud
  • OpenLog loop op die ATmega328 en het 'n beperkte hoeveelheid RAM (2048 grepe). Wanneer jy seriële karakters na OpenLog stuur, word hierdie karakters gebuffer. Die SD Groep Vereenvoudigde Spesifikasie laat 'n SD-kaart toe om tot 250 ms (afdeling 4.6.2.2 Skryf) te neem om 'n datablok na flitsgeheue op te neem.
  • Teen 9600 bps is dit 960 grepe (10 bisse per greep) per sekonde. Dit is 1.04 ms per greep. OpenLog gebruik tans 'n 512 greep-ontvangsbuffer sodat dit ongeveer 50 ms karakters kan buffer. Dit laat OpenLog toe om alle karakters wat teen 9600 bps kom, suksesvol te ontvang. Soos jy die baudtempo verhoog, sal die buffer minder lank hou.

OpenLog Buffer Oorloop Tyd

Baud-koers Tyd per greep Tyd totdat buffer oorskry word
9600 bps 1.04 ms 532 ms
57600 bps 0.174 ms 88 ms
115200 bps 0.087 ms 44 ms

Baie SD-kaarte het 'n vinniger opnametyd as 250 ms. Dit kan beïnvloed word deur die 'klas' van die kaart en hoeveel data reeds op die kaart gestoor is. Die oplossing is om 'n laer baudtempo te gebruik of die hoeveelheid tyd tussen die karakters wat teen die hoër baudtempo gestuur word, te verhoog.

Formateer jou MicroSD-kaart
Onthou om 'n kaart met min of geen te gebruik nie files daarop. 'n microSD-kaart met 3.1 GB ZIP-ruimte files of MP3's het 'n stadiger reaksietyd as 'n leë kaart. As jy nie jou microSD-kaart op 'n Windows-bedryfstelsel geformateer het nie, herformateer die microSD-kaart en skep 'n DOS-lêer. filestelsel op die SD-kaart.
Ruil MicroSD-kaarte om
Daar is baie verskillende tipes kaartvervaardigers, herbenoemde kaarte, kaartgroottes en kaartklasse, en hulle werk dalk nie almal behoorlik nie. Ons gebruik tipies 'n 8GB klas 4 microSD-kaart, wat goed werk teen 9600 bps. As jy hoër baudtempo's of groter stoorplek benodig, kan jy klas 6 of hoër kaarte probeer.
Voeg vertragings tussen karakterskrywings by
Deur 'n klein vertraging tussen Serial.print() stellings by te voeg, kan jy OpenLog 'n kans gee om sy huidige buffer op te neem.
Byvoorbeeldample:
  • Serial.begin(115200);
    vir(int i = 1; i < 10; i++) { Serial.print(i, DES); Serial.println(“:abcdefghijklmnopqrstuvwxyz-!#”); }

mag dalk nie behoorlik aanteken nie, aangesien daar baie karakters langs mekaar gestuur word. Deur 'n klein vertraging van 15 ms tussen groot karakterskrywings in te voeg, sal OpenLog help om aan te teken sonder om karakters te laat val.

  • Serial.begin(115200);
    vir(int i = 1; i < 10; i++) { Serial.print(i, DES); Serial.println(":abcdefghijklmnopqrstuvwxyz-!#"); vertraging(15); }

Voeg Arduino Seriële Monitor Verenigbaarheid by

As jy probeer om die OpenLog met die ingeboude seriële biblioteek of die SoftwareSerial-biblioteek te gebruik, kan jy probleme met die opdragmodus opmerk. Serial.println() stuur beide die nuwe reël EN die terugvoerlyn. Daar is twee alternatiewe opdragte om dit te oorkom.

Die eerste is om die \r-opdrag (ASCII-terugvoer) te gebruik:
Serial.print(“TEKS\r”);

Alternatiewelik kan jy die waarde 13 (desimale terugvoerteken) stuur:

  • Serial.print(“TEKS”);
  • Seriële.skryf(13);

Noodherstel

Onthou, as jy die OpenLog na 'n verstektoestand moet herstel, kan jy die bord herstel deur die RX-pen aan GND te koppel, die OpenLog aan te skakel, te wag totdat die LED's gelyktydig begin flikker, en dan die OpenLog af te skakel en die jumper te verwyder.
As jy die Noodoorskakelingsbit na 1 verander het, sal jy die konfigurasie moet wysig. file, aangesien die Noodherstel nie sal werk nie.

Gaan na die gemeenskap

Indien u steeds probleme met u OpenLog ondervind, kyk gerus na die huidige en geslote probleme op ons GitHub-bewaarplek hier. Daar is 'n groot gemeenskap wat met OpenLog werk, so die kanse is goed dat iemand 'n oplossing vir die probleem wat u sien, gevind het.

Hulpbronne en Verder Gaan

Noudat jy suksesvol data met jou OpenLog aangeteken het, kan jy afstandprojekte opstel en al die moontlike data wat opkom, monitor. Oorweeg dit om jou eie Citizen Science-projek te skep, of selfs 'n troeteldieropsporingsprojek om te sien wat Fluffy doen wanneer hy uit en rond is!
Kyk na hierdie bykomende hulpbronne vir probleemoplossing, hulp of inspirasie vir jou volgende projek.

  • OpenLog GitHub
  • Illumitune-projek
  • LilyPad Ligsensor-aansluiting
  • BadgerHack: Grondsensor-byvoeging
  • Aan die gang met OBD-II
  • Vernier Fotohek

Het jy meer inspirasie nodig? Kyk na sommige van hierdie verwante tutoriale:

  • Foton Afstandswatervlaksensor
    Leer hoe om 'n afstandwatervlaksensor vir 'n wateropgaartenk te bou en hoe om 'n pomp te outomatiseer gebaseer op die lesings!
  • Blynk Board Projekgids
    'n Reeks Blynk-projekte wat jy op die Blynk-bord kan opstel sonder om dit ooit te herprogrammeer.
  • Data aanteken na Google Sheets met die Tessel 2
    Hierdie projek dek hoe om data op twee maniere na Google Sheets te teken: deur IFTTT te gebruik met 'n web verbinding of 'n USB-pennaandrywer en "sneakernet" daarsonder.
  • Grafiek Sensordata met Python en Matplotlib
    Gebruik matplotlib om 'n intydse plot van temperatuurdata te skep wat versamel is vanaf 'n TMP102-sensor wat aan 'n Raspberry Pi gekoppel is.

Indien u enige terugvoer oor tutoriale het, besoek asseblief die kommentaar of kontak ons ​​tegniese ondersteuningspan by Tegniese Ondersteuning@sparkfun.com.

Gereelde Vrae

Wat is die aanbevole kragtoevoer vir die OpenLog?

Die aanbevole kragtoevoer vir die OpenLog is tussen 3.3V en 5V.

Hoeveel stroom trek die OpenLog wanneer dit onaktief is?

Die OpenLog trek ongeveer 2mA tot 5mA wanneer dit onaktief is sonder 'n microSD-kaart, en ongeveer 5mA tot 6mA wanneer 'n microSD-kaart ingesit is.

Wat is die doel van die microSD USB-verbinding met die OpenLog?

Die microSD USB-leser maak dit maklik om data vanaf die microSD-kaart wat saam met die OpenLog gebruik word, na 'n rekenaar oor te dra.

Dokumente / Hulpbronne

SparkFun DEV-13712 Deeltjiefoton Met Gate Vir Soldeerwerk [pdf] Gebruikersgids
DEV-13712, DEV-13955, DEV-13712 Deeltjiefoton met gate vir soldeerwerk, DEV-13712, Deeltjiefoton met gate vir soldeerwerk, Gate vir soldeerwerk, Vir soldeerwerk, Soldeerwerk

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *