Kazalo:

Arduino, ki dela z več datotekami (PREBERI/NAPIŠI): 4 koraki
Arduino, ki dela z več datotekami (PREBERI/NAPIŠI): 4 koraki

Video: Arduino, ki dela z več datotekami (PREBERI/NAPIŠI): 4 koraki

Video: Arduino, ki dela z več datotekami (PREBERI/NAPIŠI): 4 koraki
Video: Как настроить и использовать камеру ESP32 с камерой Micro USB WiFi 2024, Julij
Anonim
Arduino dela z več datotekami (PREBERI/NAPIŠI)
Arduino dela z več datotekami (PREBERI/NAPIŠI)

zdravo družba

Danes vam predstavljam projekt Arduino, ki deluje s ščitnikom RTC, ki lahko shranjuje podatke. Glavna naloga tega projekta je delo z več datotekami, shranjenimi na sc kartici. Ta projekt vsebuje kodo, ki deluje s tremi datotekami, ki so shranjene neposredno na kartici SD z arduino in RTC ščitom. Ker ta projekt deluje s ščitom DataLogger, bodo ti podatki shranjeni istočasno kot v vašem računalniku.

Ta projekt je nadgrajena različica mojega zadnjega projekta. Ta projekt lahko najdete na spletnem mestu z navodili z imenom Arduino Data Logger Shield Small Project. Če imate težave pri razumevanju tega projekta, vam predlagam, da si najprej ogledate enostavnejšega.

Glavna razlika med tema dvema projektima je, da ta projekt uporablja 3 besedilne datoteke, tudi tokrat beremo podatke iz dveh. Ker lahko beremo podatke, lahko dobimo srednjo vrednost vlažnosti in temperature, ki sta shranjeni na SD kartici. To bo prikazano tudi na LCD -ju, povezanem z Arduinom.

Še enkrat, če ste novi v Arduinu in je to vaš prvi projekt, ki uporablja DataLogger, predlagam, da obiščete to povezavo https://www.instructables.com/id/Arduino-Data-Logg… in ko dobite vse o tem pridite sem in se še malo zabavajte. Začnimo.

1. korak: Deli

Deli
Deli
Deli
Deli
Deli
Deli

Kot vsakič, ko pišem take projekte, bom začel z vsemi deli, ki sem jih uporabil pri tem projektu. Predlagal bom tudi nekatere senzorje, ki jih je mogoče uporabiti in lahko naredijo ta projekt nekoliko drugačen.

Deli:

  • Arduino uno rev3
  • Ščit za zapisovalnik podatkov Arduino
  • Pomnilniška kartica SD
  • LCD 1602 zelen zaslon z I2C (lahko uporabite kateri koli drug zaslon)
  • DHT22 (DHT11 deluje tudi dobro, vendar njegova natančnost ni enaka kot dht22)
  • Nekaj mostičnih kablov
  • Ogledna plošča
  • Baterija 9V

Nekatere dele lahko spremenite. Dobra stran tega projekta je, da se lahko uporablja za shranjevanje podatkov iz katerega koli drugega senzorja. Poskusil bi delati s senzorjem dima ali infrardečim senzorjem. Deluje s katerim koli drugim senzorjem. Prav tako lahko spremenite svoj Arduino, vendar ne pozabite, da je Arduino najbolj primeren za zapisovalnik podatkov.

Korak: Povežite vse dele skupaj

Povezovanje vseh delov skupaj
Povezovanje vseh delov skupaj

Ta je enostaven za povezavo. Tudi shema je enaka lažjemu projektu. Rekel pa bi, da morate paziti, kateri pin boste uporabili. Vsakič preverite podatkovni list Data loggerja, da vidite, katere nožice so najboljše za uporabo, ker se spomnim, da so nekateri zatiči že definirani in ko sem poskusil uporabiti senzor na enem od definiranih zatičev, ni delovalo.

Na vrhu tega koraka si lahko ogledate shemo s frizingom. Enostavno je, da morate svoj zapisovalnik podatkov povezati na vrhu arduina. Priključite svojo SD kartico na zapisovalnik podatkov in zadnja stvar, ki jo morate storiti, je, da priključite senzor dht in LCD. Uporabljamo 5V iz arduina za + del na plošči, GND za - del, in po tem vrstici povežete tudi + linijo senzorja in lcd na + linijo plošče za kruh. Enako velja za - dele, samo gredo na naslednjo vrstico -. Dht senzor je tokrat priključen na pin 7. LCD je povezan z A4 in A5. Preprosto, kajne?

LCD:

  • VCC do 5 V (+ del na plošči)
  • GND v gnd (-del na mizo)
  • SDA na analogni pin A4
  • SCL na analogni pin A5

DHT22:

Uporabil sem dht s ploščo, v kateri so trije zatiči:

  • + do 5V
  • - v GND
  • na digitalni pin 7

3. korak: Kodiranje

Ta časovna koda je bolj zapletena. Dober del je komentiran, tako da ga lahko z lahkoto razumete.

To kodo bom razložil v nekaj kratkih delih.

1. Najprej ne pozabite, da bo za to kodo v vašem računalniku nameščenih nekaj knjižnic. To so: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Verjetno lahko uporabite druge knjižnice, vendar so mi te knjižnice delovale. Nato določimo vse, kar je potrebno za ta projekt. Tipalo DHT je enostavno določiti, povedati morate le pin, na katerega je senzor priključen, in vrsto senzorja. Po tem morate določiti nekaj zatičev, ki bodo uporabljeni za kartico SD in pin RTC. Po tem si lahko ogledate spremenljivke, uporabljene za ta projekt.

3. Projekt uporablja nekaj metod in vse so za delo s senzorjem DHT. Če delate na projektu s to vrsto senzorja, ga lahko uporabite. Te metode so getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. Pri nastavitvi je potrebno narediti nekaj stvari. Najprej morate določiti čas. Ker tukaj uporabljamo RTC, želimo imeti primeren čas, ko naš Arduino shrani podatke iz senzorja. Ta del bo kodiran v kodi. Če razkomentirate //RTC.adjust(DateTime(_DATE_, _TIME_)); vrstici, kjer lahko nastavite čas za svoj projekt. Ko nastavite pravi čas, lahko ta del znova komentirate in svoj arduino lahko uporabite brez računalnika. To je kul, saj lahko senzor temperature uporabite v kakšnem drugem prostoru in spremljate temperaturo brez potrebe po računalniku. Drugi del, ki ga morate narediti, je uporaba kartice SD, na kateri bodo shranjeni podatki. Shield bo poskušal preveriti, ali obstaja kartica, in jo inicializirati. Če ni sporočila o napaki, bo prikazano na zaslonu Serial v Arduino IDE.

Prvi korak pri namestitvi je pisanje datotek na pomnilniško kartico. Prva stvar, ki je zapisana na kartici, je datoteka datalog.txt. Tokrat zapišemo samo čas beleženja naše naprave in ustvarimo tudi majhno vrstico imen (spremenljivke, ki se uporabljajo za shranjevanje, in tudi čas)

Zadnji del nastavitve je inicializacija LCD in senzor dht.

5. Zanka je glavni del projekta. Delo s senzorjem je tokrat zelo preprosto, saj uporablja le eno metodo, ki bere vrednosti, ki jih dobi senzor. LCD del je tudi zelo enostaven. Naslednji del je tisti, ki ga moramo tukaj razložiti. Ta projekt vsako minuto naredi nekaj. Eno minuto shrani podatke v datalog.txt. Te podatke lahko prebere nekdo, ki sploh ne ve, kako programirati arduino. Na drugi strani. Eno minuto shrani temperaturo na datalogB.txt, eno minuto pa shrani vlažnost na datalogC.txt. Potrebujemo datalogB.txt in dataLogC.txt, da lahko beremo s pomnilniške kartice. Če torej še naprej beremo našo kodo, lahko vidite tudi, da ta koda bere srednje vrednosti temperature in vlažnosti ter jih shrani v eno vrstico. Želel sem narediti napravo, ki ima v datoteki le zadnjih deset mest. Tako ta projekt vedno poteka skozi vrednosti s kartice in shrani zadnjih deset mest. Te številke, shranjene v vrsticah, se uporabljajo, da lahko dobimo povprečno vrednost temperature in povprečno vrednost vlažnosti. Ki so po določenem času prikazane tudi na našem LCD -ju

4. korak: Nato uporabite Arduino in SD kartico

Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico
Nato uporabite Arduino in SD kartico

Tukaj si lahko ogledate, kaj je prikazano na LCD -ju in kako projekt deluje. Tukaj dajem tudi slike podatkovnih dnevnikov, ki sem jih shranil. Datalog.txt je tisti, s katerim lahko vidite, kako naprava shrani vsako vrednost. DatalogB in datalogC sta tam, tako da lahko vidite, kako izgledajo. Tako so zapisane, tako da lahko brez težav uporabite metodo razčlenjevanja in preberete podatke.

Bistvo tega projekta je manipulacija datotek, ki so na SD kartici. Včasih potrebujemo naprave, ki lahko shranijo pomnilnik, včasih pa je tudi temperatura branja. Dobro je, da ima ščit, ki se uporablja v tej napravi, tudi modul RTC, kar je najboljše za čas. Ko lahko beremo v realnem času in shranjujemo podatke z našo napravo, to pomeni, da so lahko prenosni.

Hvala, ker ste prebrali ta projekt. Upam, da vam bo v pomoč. Hvala vam.

Lep pozdrav Sebastian

Priporočena: