Obsah:

Arduino pracujúce s viacerými súbormi (READ/WRITE): 4 kroky
Arduino pracujúce s viacerými súbormi (READ/WRITE): 4 kroky

Video: Arduino pracujúce s viacerými súbormi (READ/WRITE): 4 kroky

Video: Arduino pracujúce s viacerými súbormi (READ/WRITE): 4 kroky
Video: MKS sGen L V2.0 — TMC2209 с бездатчиковым возвратом в исходное положение 2024, Júl
Anonim
Arduino pracuje s viacerými súbormi (READ/WRITE)
Arduino pracuje s viacerými súbormi (READ/WRITE)

Ahojte chlapi

Dnes vám predstavujem projekt Arduino, ktorý pracuje so štítom RTC, ktorý môže ukladať údaje. Hlavnou úlohou tohto projektu je práca s viacerými súbormi, ktoré sú uložené na karte sc. Tento projekt obsahuje kód, ktorý pracuje s tromi súbormi, ktoré sú uložené priamo na SD kartu s arduino a RTC štítom. Pretože tento projekt funguje so štítom DataLogger, budú tieto údaje tiež uložené v rovnakom čase, ako sú vo vašom počítači.

Tento projekt je aktualizovanou verziou môjho posledného projektu. Tento projekt je možné nájsť na webe s pokynmi pod názvom Arduino Data Logger Shield Small Project. Ak máte nejaké problémy s porozumením tohto projektu, navrhujem, aby ste ho najskôr videli jednoduchšie.

Hlavný rozdiel medzi týmito dvoma projektmi je v tom, že tento projekt používa 3 textové súbory, tentokrát tiež čítame údaje z dvoch z nich. Pretože dokážeme čítať údaje, môžeme získať strednú hodnotu vlhkosti a teploty, ktoré sú uložené na SD karte. To sa zobrazí aj na LCD displeji pripojenom k Arduinu.

Ešte raz, ak ste v Arduine nováčikom a toto je váš prvý projekt, ktorý používa DataLogger, odporúčam vám navštíviť tento odkaz https://www.instructables.com/id/Arduino-Data-Logg… a keď získate všetko na to, poďte sem a užite si viac zábavy. Začnime.

Krok 1: Diely

Časti
Časti
Časti
Časti
Časti
Časti

Ako vždy, keď píšem projekty takto, začnem všetkými časťami, ktoré som pri tomto projekte použil. Navrhnem tiež niektoré zo senzorov, ktoré je možné použiť a ktoré môžu tento projekt trochu odlišiť.

Diely:

  • Arduino uno rev3
  • Štít záznamníka údajov Arduino
  • Pamäťová karta SD
  • Zelený displej LCD 1602 s I2C (môžete použiť akýkoľvek iný displej)
  • DHT22 (DHT11 funguje tiež dobre, ale jeho presnosť nie je rovnaká ako dht22)
  • Niekoľko prepojovacích káblov
  • Breadboard
  • Batéria 9v

Niektoré časti môžete zmeniť. Dobrou stránkou tohto projektu je, že ho možno použiť na ukladanie údajov z akéhokoľvek iného senzora. Skúsil by som pracovať s dymovým senzorom alebo infračerveným senzorom. Funguje s akýmkoľvek iným snímačom. Môžete tiež zmeniť svoje Arduino, ale majte na pamäti, že Arduino je najlepšie vhodné pre záznamník údajov.

Krok 2: Spojenie všetkých častí dohromady

Spojenie všetkých častí dohromady
Spojenie všetkých častí dohromady

Tento sa dá ľahko pripojiť. Aj schéma je rovnaká ako jednoduchší projekt. Povedal by som však, že si musíte dávať pozor, ktorý kolík použijete. Zakaždým, keď skontrolujete údajový list záznamníka údajov, aby ste zistili, ktoré piny sú najvhodnejšie na použitie, pretože ako si spomínam, niektoré piny sú už definované a keď som sa pokúsil použiť svoj snímač na jednom z definovaných pinov, nefungovalo to.

V hornej časti tohto kroku môžete vidieť schému vyrobenú pomocou fritovania. Ľahké je, že musíte pripojiť svoj záznamník údajov k hornej časti zariadenia arduino. Pripojte svoju SD kartu k záznamníku údajov a posledná vec, ktorú musíte urobiť, je pripojiť snímač dht a LCD. Používame 5V od arduino pre + časť na doske, GND pre - časť a podľa týchto línií pripojíte aj + riadok senzora a lcd k + riadku dosky na chlieb. To isté platí pre - diely, jednoducho idú na nasledujúci riadok -. Senzor Dht je tentokrát pripojený na pin 7. LCD je pripojený k formátu A4 a A5. Jednoduché, nie?

LCD:

  • VCC až 5V (+ časť na doske)
  • GND až GND (-časť na doske)
  • SDA na analógový kolík A4
  • SCL na analógový pin A5

DHT22:

Použil som dht s doskou, v ktorej sú použité tri kolíky:

  • + až 5V
  • - na GND
  • von na digitálny pin 7

Krok 3: Kódovanie

Tento časový kód je zložitejší. Značná časť je komentovaná, aby ste ju ľahko pochopili.

Tento kód vysvetlím v niekoľkých krátkych častiach.

1. Najprv by ste mali mať na pamäti, že tento kód bude potrebovať niekoľko knižníc nainštalovaných vo vašom počítači. Sú to: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Pravdepodobne môžete použiť aj iné knižnice, ale tieto knižnice mi fungovali. 2. Potom definujeme všetko, čo je pre tento projekt potrebné. Snímač DHT je ľahko definovateľný, stačí povedať kolík, ku ktorému je snímač pripojený, a typ snímača. Potom musíte definovať niektoré piny, ktoré budú použité pre kartu SD a pin RTC. A potom môžete vidieť premenné použité pre tento projekt.

3. Projekt používa niekoľko metód a všetky sú na prácu so snímačom DHT. Ak pracujete na projekte s týmto typom senzora, môžete ho použiť. Tieto metódy sú getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. V nastavení je niekoľko vecí, ktoré je potrebné vykonať. Najprv musíte definovať čas. Pretože tu používame RTC, chceme mať správny čas, keď naše Arduino ukladá údaje zo senzora. Táto časť bude komentovaná v kóde. Ak odkomentujete //RTC.adjust(DateTime(_DATE_, _TIME_))); riadok, môžete nastaviť čas na svojom projekte. Keď zadáte vhodný čas, môžete túto časť znova komentovať a svoje arduino môžete používať bez počítača. Je to skvelé, pretože teplotný senzor môžete použiť v inej miestnosti a sledovať teplotu bez použitia počítača. Druhá časť, ktorú je potrebné vykonať, je použitie karty SD, na ktorej budú uložené údaje. Shield sa pokúsi zistiť, či existuje karta, a inicializuje ju. Ak nie je, chybové hlásenie sa zobrazí na sériovej obrazovke v Arduino IDE.

V nastavení je prvým krokom, kde pracujeme s zápisom súborov na pamäťovú kartu. Prvá vec, ktorá je zapísaná na karte, je v súbore datalog.txt. Tentokrát napíšeme iba čas prihlásenia nášho zariadenia a tiež vytvoríme malý rad mien (premenné používané na ukladanie a tiež čas)

Posledná časť nastavenia je inicializácia LCD a senzora dht.

5. Smyčková časť je hlavnou časťou projektu. Práca so senzorom je tentoraz veľmi jednoduchá, pretože používa iba jednu metódu, ktorou sa čítajú hodnoty, ktoré senzor získa. LCD časť je tiež veľmi jednoduchá. Ďalšia časť je tá, ktorú tu musíme vysvetliť. Tento projekt robí niečo každú minútu. Jednu minútu ukladá údaje do súboru datalog.txt. Tieto údaje môže čítať niekto, kto ani nevie, ako programovať arduinos. Na druhej strane. Jednu minútu uloží teplotu na datalogB.txt a jednu minútu uloží vlhkosť na datalogC.txt. Aby sme mohli čítať z našej pamäťovej karty, potrebujeme datalogB.txt a dataLogC.txt. Ak teda budeme pokračovať v čítaní nášho kódu, môžete tiež vidieť, že tento kód číta stredné hodnoty teploty a vlhkosti a ukladá ich do jedného riadka. Chcel som vytvoriť zariadenie, ktoré bude mať v súbore iba posledných desať číslic. Tento projekt teda prebieha vždy cez hodnoty z karty a ukladá posledných desať číslic. Tieto číslice uložené v riadkoch sa používajú na získanie priemernej hodnoty teploty a priemernej hodnoty vlhkosti. Ktoré sa po určitom čase zobrazujú aj na našom LCD displeji

Krok 4: Potom použite Arduino a kartu SD

Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD
Potom použite Arduino a kartu SD

Tu vidíte, čo sa zobrazuje na LCD displeji a ako projekt funguje. Tiež sem dávam obrázky záznamov údajov, ktoré som uložil. Datalog.txt je ten, ktorý je možné použiť na zistenie, ako zariadenie ukladá každú hodnotu. DatalogB a datalogC sú k dispozícii, aby ste mohli vidieť, ako vyzerajú. Sú zapísané tak, aby ste mohli použiť metódu analýzy a bez problémov čítať údaje.

Celým cieľom tohto projektu je manipulácia so súbormi, ktoré sú na SD karte. Niekedy potrebujeme zariadenia, ktoré dokážu uložiť pamäť a teplota na čítanie je tiež raz taká. Dobrá vec je, že štít použitý na tomto zariadení má tiež modul RTC, čo je najlepšie pre čas. Keď dokážeme čítať v reálnom čase a ukladať údaje pomocou nášho zariadenia, znamená to, že môže byť prenosný.

Ďakujem vám, chlapci, že ste si prečítali tento projekt. Dúfam, že vám to pomôže. Ďakujem.

S pozdravom Sebastian

Odporúča: