Taula de continguts:
- Pas 1: parts
- Pas 2: connectar totes les parts juntes
- Pas 3: Codificació
- Pas 4: utilitzar Arduino i la targeta SD després
Vídeo: Arduino que treballa amb diversos fitxers (LLEGIR / ESCRIURE): 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Hola nois
Avui us presento el projecte Arduino que funciona amb un escut RTC que pot emmagatzemar dades. La tasca principal d’aquest projecte és treballar amb diversos fitxers que s’emmagatzemen a la targeta SC. Aquest projecte conté codi que funciona amb tres fitxers que s’emmagatzemen directament a la targeta SD amb arduino i blindatge RTC. Com que aquest projecte funciona amb l'escut de DataLogger, aquestes dades també s'emmagatzemaran exactament al mateix temps que al vostre PC.
Aquest projecte és la versió actualitzada del meu darrer projecte. Aquest projecte es pot trobar al lloc instructables amb el nom Arduino Data Logger Shield Small Project. Si teniu problemes per entendre aquest projecte, us suggereixo que primer en feu més fàcil.
La principal diferència entre aquests dos projectes és que aquest projecte utilitza 3 fitxers de text, també aquesta vegada llegim dades de dos d’ells. Com que podem llegir dades, podem obtenir un valor mitjà d’humitat i temperatura que s’emmagatzemen a la targeta sd. Això també es mostrarà a la pantalla LCD connectada a Arduino.
Una vegada més, si sou nou a Arduino i aquest és el vostre primer projecte que utilitza DataLogger, us suggereixo anar a consultar aquest enllaç https://www.instructables.com/id/Arduino-Data-Logg … i quan ho obtingueu tot en això, vine aquí i diverteix-te una mica més. Comencem.
Pas 1: parts
Com cada vegada que escric projectes d’aquest tipus, començaré amb totes les parts que he utilitzat amb aquest projecte. També suggeriré alguns dels sensors que es poden utilitzar i que poden fer que aquest projecte sigui una mica diferent.
Parts:
- Arduino uno rev3
- Escut del registrador de dades Arduino
- Targeta de memòria SD
- Pantalla LCD 1602 de color verd amb I2C (podeu utilitzar qualsevol altra pantalla)
- DHT22 (DHT11 també funciona bé, però la seva precisió no és la mateixa que la dht22)
- Pocs cables de pont
- Taula de pa
- Bateria 9v
Podeu canviar algunes parts. La bona part d’aquest projecte és que es pot utilitzar per emmagatzemar dades de qualsevol altre sensor. Intentaria treballar amb un sensor de fum o un sensor d'infrarojos. Funciona amb qualsevol altre sensor. També podeu canviar el vostre Arduino, però tingueu en compte que Arduino és el millor per adaptar-se al Data logger.
Pas 2: connectar totes les parts juntes
Aquest és fàcil de connectar. Fins i tot l’esquema és el mateix que el projecte més fàcil. Però jo diria que heu de vigilar quin pin utilitzarà. Cada vegada que reviseu el full de dades del Data logger per veure quins pins són els més adequats per utilitzar-los, ja que recordo que alguns pins ja estaven definits i quan vaig intentar utilitzar el sensor en un dels pins definits no funcionava.
A la part superior d'aquest pas podeu veure esquemes fets amb fritzing. El més fàcil és que hàgiu de connectar el registre de dades a la part superior del vostre arduino. Connecteu la targeta SD al registre de dades i l'últim que heu de fer és connectar el sensor dht i el lcd. Utilitzem 5V d’arduino per a + part a la taula de configuració, GND a - part i, seguint aquestes línies, també connecteu + línia de sensor i lcd a + línia de la placa de pa. El mateix passa amb - parts, només van a la línia que segueix -. El sensor Dht està connectat al pin 7 aquesta vegada. La pantalla LCD està connectada a A4 i A5. Fàcil, oi?
LCD:
- VCC a 5V (+ part a la taula de suport)
- GND a GND (-part a la taula)
- SDA a pin analògic A4
- SCL al pin analògic A5
DHT22:
He utilitzat dht amb tauler en què hi ha tres passadors per utilitzar:
- + a 5V
- - a GND
- al pin digital 7
Pas 3: Codificació
Aquest codi horari és més complex. Es comenta una bona part perquè pugueu entendre-ho amb facilitat.
Explicaré aquest codi en poques parts breus.
1. Primer que cal tenir en compte que aquest codi necessitarà algunes biblioteques instal·lades al vostre PC. Aquests són: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Probablement podeu fer servir altres biblioteques, però aquestes biblioteques funcionaven per a mi. Després estem definint tot el que cal per a aquest projecte. El sensor DHT és fàcil de definir, només cal dir el pin al qual està connectat el sensor i el tipus de sensor. Després, heu de definir alguns pins que s'utilitzaran per a la targeta SD i el pin RTC. I després podreu veure les variables utilitzades per a aquest projecte.
3. El projecte utilitza pocs mètodes i tots són per treballar amb el sensor DHT. Si esteu treballant en un projecte amb aquest tipus de sensor, podeu utilitzar-lo. Aquests mètodes són getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().
4. A la configuració, hi ha poques coses que calgui per fer-ho. Primer de tot, cal definir el temps. Com que aquí estem fent servir RTC, volem tenir un temps adequat quan el nostre Arduino desi dades del sensor. Aquesta part es comentarà en codi. Si anul·leu el comentari //RTC.adjust(DateTime(_DATE_, _TIME_))); línia que podeu configurar el temps del vostre projecte. Després de definir el temps adequat, podeu tornar a comentar aquesta part i podeu utilitzar el vostre arduino sense ordinador. És fantàstic perquè podeu utilitzar el sensor de temperatura en alguna altra habitació i fer un seguiment de la temperatura sense necessitat de l'ordinador. La segona part que cal fer és utilitzar la targeta SD en la qual hi haurà dades emmagatzemades. Shield intentarà veure si hi ha targeta i inicialitzar-la. Si no hi ha, el missatge d'error es mostrarà a la pantalla de sèrie de l'IDE Arduino.
En la configuració és el primer pas on treballem amb l’escriptura de fitxers a la targeta de memòria. El primer que s’escriu a la targeta és al fitxer datalog.txt. Aquesta vegada escrivim només el moment de registrar el dispositiu i també creem una petita fila de noms (variables que s’utilitzen per estalviar i també temps)
La darrera part de la configuració és inicialitzar el sensor LCD i dht.
5. La part del bucle és la part principal del projecte. Treballar amb el sensor aquesta vegada és molt fàcil, ja que només s’utilitza un mètode que permet llegir els valors que obté el sensor. La part LCD també és molt fàcil. La següent part és una que hem d’explicar aquí. Aquest projecte fa alguna cosa cada minut. Un minut emmagatzema les dades a datalog.txt. Aquestes dades les pot llegir algú que ni tan sols sap programar arduinos. Per una altra banda. Un minut estalvia temperatura a datalogB.txt i un minut estalvia humitat a datalogC.txt. Necessitem datalogB.txt i dataLogC.txt perquè puguem llegir de la nostra targeta de memòria. Per tant, si continuem llegint el nostre codi, també podeu veure que aquest codi llegeix els valors mitjans de la temperatura i la humitat i els emmagatzema en una fila. Volia crear un dispositiu que només tingués els darrers deu dígits registrats. Per tant, aquest projecte s’executa sempre a través dels valors de la targeta i desa els darrers deu dígits, que s’utilitzen per obtenir el valor mitjà de la temperatura i el valor mitjà de la humitat. Que també es mostren a la nostra pantalla LCD al cap de temps
Pas 4: utilitzar Arduino i la targeta SD després
Aquí podeu veure què es mostra a la pantalla LCD i com funciona el projecte. També poso aquí imatges dels registres de dades que he guardat. Datalog.txt és el que es pot utilitzar per veure com el dispositiu emmagatzema tots els valors. DatalogB i datalogC hi són perquè pugueu veure el seu aspecte. S'escriuen així perquè pugueu utilitzar el mètode d'anàlisi i llegir dades sense problemes.
L’objectiu principal d’aquest projecte és la manipulació dels fitxers que es troben a la targeta sd. De vegades necessitem dispositius que puguin emmagatzemar memòria i la temperatura de lectura també sigui una vegada així. El millor és que el blindatge utilitzat en aquest dispositiu també té un mòdul RTC, que és el millor per al temps. Quan podem llegir en temps real i emmagatzemar dades amb el nostre dispositiu, vol dir que pot ser portàtil.
Gràcies nois per llegir aquest projecte. Espero que us ajudi. Gràcies.
Amb tots els salut Sebastian
Recomanat:
Com llegir diversos valors analògics mitjançant un pin analògic: 6 passos (amb imatges)
Com llegir diversos valors analògics mitjançant un pin analògic: en aquest tutorial, us mostraré com llegir diversos valors analògics amb només un pin d’entrada analògic
UNA LÀMPARA CLÀSSICA DE BANCER CLÀSSIC QUE TREBALLA: 6 passos (amb imatges)
UNA LÀMPARA CLÀSSICA DEL BANCER CLÀSSIC: Tanmateix, recrear qualsevol cosa en un objecte petit sempre és una diversió i un repte en funció del que intenteu recrear. Sempre intento fer alguna cosa divertida i afegir-hi una mica de funció. I per aquest motiu, estic fent un petit banquer clàssic
Mòdul de targeta SD amb Arduino: Com llegir / escriure dades: 14 passos
Mòdul de targeta SD amb Arduino: com llegir / escriure dades: visió general L’emmagatzematge de dades és una de les parts més importants de cada projecte. Hi ha diverses maneres d’emmagatzemar dades segons el tipus i la mida de les dades. Les targetes SD i micro SD són una de les més pràctiques entre els dispositius d’emmagatzematge que s’utilitzen a
Braç protèsic que treballa amb un miosensor: 8 passos
Braç protèsic que treballa amb un miosensor: aquest projecte consisteix en el desenvolupament d’un braç protètic per a persones amputades. L’objectiu d’aquest projecte és la creació d’un braç protètic assequible per a persones que no es poden permetre un professional. Com que aquest projecte encara està en fase de prototipatge, jo
Fitxers per lots que obren diversos programes: 5 passos
Fitxers per lots que obren diversos programes: Molt bé, s’explica per si mateix. Això pot ser especialment útil si esteu treballant i passeu per un procés on heu d’obrir, per exemple; Microsoft Word, Microsoft PowerPoint, Microsoft Outlook, Internet Explorer, etc. Així doncs, anem a