Sisukord:

Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE): 4 sammu
Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE): 4 sammu

Video: Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE): 4 sammu

Video: Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE): 4 sammu
Video: #1 Как запрограммировать ПЛК Outseal Arduino (начало работы) 2024, Juuli
Anonim
Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE)
Arduino töötab mitme failiga (LUGEGE/KIRJUTAGE)

Tere kutid

Täna esitlen teile Arduino projekti, mis töötab koos RTC kilbiga, mis suudab andmeid salvestada. Selle projekti peamine ülesanne on töötada mitme failiga, mis on salvestatud sc -kaardile. See projekt sisaldab koodi, mis töötab kolme failiga, mis salvestatakse otse SD -kaardile koos arduino ja RTC kilbiga. Kuna see projekt töötab DataLoggeri kilbiga, salvestatakse need andmed ka täpselt samal ajal kui teie arvutis.

See projekt on minu viimase projekti täiendatud versioon. Selle projekti leiate juhendite saidilt nimega Arduino Data Logger Shield Small Project. Kui teil on selle projekti mõistmisega probleeme, soovitan teil kõigepealt näha lihtsamat.

Peamine erinevus nende kahe projekti vahel on see, et see projekt kasutab 3 tekstifaili, ka seekord loeme kahest neist andmeid. Kuna me saame andmeid lugeda, saame SD -kaardile salvestatud niiskuse ja temperatuuri keskmise väärtuse. Seda näidatakse ka Arduinoga ühendatud LCD -ekraanil.

Veel kord, kui olete Arduino uus ja see on teie esimene projekt, mis kasutab DataLoggerit, soovitan minna ja vaadata seda linki https://www.instructables.com/id/Arduino-Data-Logg… ja kui kõik on saadaval tulge siia ja nautige natuke rohkem. Alustame.

Samm: osad

Osad
Osad
Osad
Osad
Osad
Osad

Nagu iga kord, kui ma selliseid projekte kirjutan, alustan kõigi osadega, mida ma selle projektiga kasutasin. Pakun välja ka mõned andurid, mida saab kasutada ja mis võivad selle projekti veidi teistsuguseks muuta.

Osad:

  • Arduino uno rev3
  • Arduino andmekoguja kilp
  • SD mälukaart
  • Roheline LCD 1602 ekraan koos I2C -ga (saate kasutada mis tahes muud ekraani)
  • DHT22 (DHT11 töötab ka hästi, kuid selle täpsus ei ole sama mis dht22)
  • Vähesed hüppajakaablid
  • Leivalaud
  • Aku 9v

Saate mõnda osa muuta. Selle projekti hea külg on see, et seda saab kasutada mis tahes muu anduri andmete salvestamiseks. Prooviksin töötada suitsuanduri või infrapunaanduriga. See töötab mis tahes muu anduriga. Samuti saate oma Arduinot muuta, kuid pidage meeles, et Arduino sobib kõige paremini andmete logija jaoks.

Samm: ühendage kõik osad kokku

Kõikide osade ühendamine
Kõikide osade ühendamine

Seda on lihtne ühendada. Isegi skeem on sama, mis lihtsam projekt. Kuid ma ütleksin, et peate jälgima, millist tihvti kasutate. Iga kord kontrollige andmekoguja andmelehte, et näha, milliseid tihvte on kõige parem kasutada, sest mäletan, et mõned tihvtid on juba määratletud ja kui ma proovisin oma andurit ühel määratletud tihvtil kasutada, see ei töötanud.

Selle sammu ülaosas näete fritiseerimisega tehtud skeemi. Lihtne on see, et peate andmeregistreerija ühendama arduino ülaosas. Ühendage oma SD -kaart andmelogijaga ja viimane asi, mida peate tegema, on ühendada dht -andur ja lcd. Kasutame leivaplaadil + osa jaoks arduino 5V, osal - GND ja neid ridu järgides ühendate ka + anduririda ja LCD + leivalaua + joonega. Sama kehtib ka osade kohta, need lähevad lihtsalt järgmisele reale -. Dht -andur on seekord ühendatud tihvtiga 7. LCD on ühendatud A4 ja A5 -ga. Lihtne, kas pole?

LCD:

  • VCC kuni 5V (+ osa leivaplaadil)
  • GND kuni gnd (-leib leival)
  • SDA analoogpistikule A4
  • SCL analoogpistikule A5

DHT22:

Ma kasutasin dht koos plaadiga, milles on kolm tihvti:

  • + kuni 5V
  • - GND -le
  • digipistikuni 7

3. samm: kodeerimine

See ajakood on keerulisem. Suur osa sellest on kommenteeritud, et saaksite sellest hõlpsalt aru.

Selgitan seda koodi lühikeste osadena.

1. Kõigepealt tuleb meeles pidada, et see kood vajab arvutisse installitud vähe raamatukogusid. Need on: aeg (TimeLib), traat, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Tõenäoliselt saate kasutada mõnda muud raamatukogu, kuid see raamatukogu töötas minu jaoks. Pärast seda määratleme kõik, mida selle projekti jaoks vaja on. DHT -andurit on lihtne määratleda, peate lihtsalt ütlema tihvti, millega andur on ühendatud, ja anduri tüübi. Pärast seda peate määratlema mõned nööpnõelad, mida kasutatakse SD -kaardi ja RTC -pin jaoks. Ja pärast seda näete selle projekti jaoks kasutatavaid muutujaid.

3. Projekt kasutab vähe meetodeid ja kõik need on mõeldud DHT -anduriga töötamiseks. Kui töötate seda tüüpi anduriga projekti kallal, saate seda kasutada. Need meetodid on getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. Seadistamisel on vaja teha vähe asju. Kõigepealt peate määrama aja. Kuna kasutame siin RTC -d, tahame, et meie Arduino salvestaks andurilt andmed. Seda osa kommenteeritakse koodina. Kui tühistate kommentaari //RTC.adjust(DateTime(_DATE_, _TIME_)); real saate määrata oma projekti jaoks aja. Kui olete õige aja määranud, saate seda osa uuesti kommenteerida ja oma arduinot ilma arvutita kasutada. See on lahe, sest saate kasutada oma temperatuuriandurit mõnes teises ruumis ja jälgida temperatuuri ilma arvutita. Teine osa, mida tuleb teha, on teie SD -kaardi kasutamine, kuhu salvestatakse andmeid. Shield proovib näha, kas kaart on olemas, ja vormindab selle. Kui seda pole, kuvatakse veateade Arduino IDE jadakuval.

Seadistamine on esimene samm, kus töötame mälukaardile failide kirjutamisega. Esimene asi, mis kaardile kirjutatakse, on failis datalog.txt. Seekord kirjutame lihtsalt oma seadme logimise aja ja loome ka väikese rea nimesid (salvestamiseks kasutatud muutujad ja ka aeg)

Seadistuse viimane osa on LCD ja dht -anduri lähtestamine.

5. Loop osa on projekti põhiosa. Seekord on anduriga töötamine väga lihtne, kuna see kasutab ainult ühte meetodit, mis loeb anduri saadud väärtusi. LCD -osa on ka väga lihtne. Järgmine osa on see, mida peame siin selgitama. See projekt teeb midagi iga minut. Üks minut salvestab see andmed kataloogi datalog.txt. Neid andmeid saab lugeda keegi, kes isegi ei oska arduinosid programmeerida. Teisel pool. Üks minut säästab temperatuuri kataloogis datalogB.txt ja üks minut säästab niiskust failis datalogC.txt. Vajame datalogB.txt ja dataLogC.txt, et saaksime oma mälukaardilt lugeda. Nii et kui me jätkame oma koodi lugemist, näete ka, et see kood loeb temperatuuri ja niiskuse keskväärtusi ning salvestab need ühele reale. Tahtsin teha seadme, mis võtab failist vastu vaid kümme viimast numbrit. Nii et see projekt läbib alati kaardil olevad väärtused ja salvestab viimased kümme numbrit. Neid ridadesse salvestatud numbreid kasutatakse, et saaksime keskmise temperatuuri ja keskmise niiskuse väärtuse. Mida näidatakse mõne aja pärast ka meie LCD -ekraanil

Samm 4: Arduino ja SD -kaardi kasutamine pärast seda

Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast
Arduino ja SD -kaardi kasutamine pärast

Siin näete, mida LCD -ekraanil näidatakse ja kuidas projekt töötab. Samuti panen siia pilte salvestatud andmebaasidest. Datalog.txt on see, mille abil saab näha, kuidas seade iga väärtust salvestab. DatalogB ja datalogC on olemas, et saaksite näha, kuidas need välja näevad. Need on kirjutatud nii, et saate kasutada sõelumismeetodit ja lugeda probleeme ilma probleemideta.

Kogu selle projekti mõte on SD -kaardil olevate failidega manipuleerimine. Mõnikord vajame mälu salvestavaid seadmeid ja lugemistemperatuur on ka üks kord selline. Hea on see, et sellel seadmel kasutataval kilbil on ka RTC -moodul, mis on aja jooksul parim. Kui saame reaalajas lugeda ja oma seadmesse andmeid salvestada, tähendab see, et see võib olla kaasaskantav.

Tänan teid, poisid, et lugesite seda projekti. Loodan, et see aitab teid. Aitäh.

Kogu lugupidamisega Sebastian

Soovitan: