Tartalomjegyzék:

Az Arduino több fájllal dolgozik (OLVAS/ÍRJ): 4 lépés
Az Arduino több fájllal dolgozik (OLVAS/ÍRJ): 4 lépés

Videó: Az Arduino több fájllal dolgozik (OLVAS/ÍRJ): 4 lépés

Videó: Az Arduino több fájllal dolgozik (OLVAS/ÍRJ): 4 lépés
Videó: Minecraft Live 2022 2024, November
Anonim
Arduino több fájllal dolgozik (OLVAS/ÍR)
Arduino több fájllal dolgozik (OLVAS/ÍR)

Helló srácok

Ma bemutatom Önnek az Arduino projektet, amely RTC pajzzsal működik, amely képes adatokat tárolni. A projekt fő feladata az sc kártyán tárolt több fájllal való munka. Ez a projekt olyan kódot tartalmaz, amely három fájllal működik, amelyeket közvetlenül SD kártyán tárolnak, arduino és RTC pajzzsal. Mivel ez a projekt a DataLogger pajzzsal működik, az adatok ugyanabban az időben tárolódnak, mint a számítógépen.

Ez a projekt az utolsó projektem frissített változata. Ez a projekt megtalálható az instructables webhelyen Arduino Data Logger Shield Small Project néven. Ha problémái vannak a projekt megértésével, javaslom, hogy először nézze meg az egyszerűbbet.

A fő különbség a két projekt között az, hogy ez a projekt 3 szövegfájlt használ, ezúttal is kettőből olvasunk adatokat. Mivel tudunk adatokat olvasni, a páratartalom és a hőmérséklet középértékét kaphatjuk meg, amelyeket az SD -kártyán tárolunk. Ez az Arduino -hoz csatlakoztatott LCD -n is megjelenik.

Ismételten: ha még nem ismeri az Arduino-t, és ez az első projektje, amely DataLoggert használ, javaslom, hogy menjen el, és ellenőrizze ezt a linket: https://www.instructables.com/id/Arduino-Data-Logg… és amikor mindent megkap gyere ide, és szórakozz tovább. Kezdjük.

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek

Mint minden alkalommal, amikor ilyen projekteket írok, elkezdem az összes olyan részt, amelyet ezzel a projekttel használtam. Ezenkívül javaslok néhány érzékelőt, amelyek használhatók, és kissé eltérhetnek a projekttől.

Alkatrészek:

  • Arduino uno rev3
  • Arduino adatgyűjtő pajzs
  • SD memóriakártya
  • LCD 1602 zöld kijelző I2C -vel (bármilyen más kijelzőt is használhat)
  • DHT22 (a DHT11 is jól működik, de pontossága nem azonos a dht22 -vel)
  • Kevés áthidaló kábel
  • Kenyeretábla
  • Akkumulátor 9v

Meg lehet változtatni néhány alkatrészt. A projekt jó oldala, hogy bármilyen más érzékelőből származó adatok tárolására használható. Próbálok füstérzékelővel vagy infravörös érzékelővel dolgozni. Bármilyen más érzékelővel működik. Az Arduino -t is megváltoztathatja, de ne feledje, hogy az Arduino a legjobb az adatgyűjtőhöz.

2. lépés: Az összes alkatrész összekapcsolása

Az összes alkatrész összekapcsolása
Az összes alkatrész összekapcsolása

Ez könnyen csatlakoztatható. Még a vázlat is ugyanaz, mint a könnyebb projekt. De azt mondanám, hogy figyelni kell arra, hogy melyik tűt fogja használni. Minden alkalommal ellenőrizze az adatgyűjtő adatlapját, hogy melyik csapok a legjobbak a használathoz, mert ha jól emlékszem, néhány csap már meg van határozva, és amikor megpróbáltam használni az érzékelőt az egyik meghatározott tűn, nem működött.

Ennek a lépésnek a tetején látható a frittinggel készített vázlat. Az egyszerű dolog az, hogy az adatgyűjtőt az arduino tetején kell csatlakoztatnia. Csatlakoztassa az SD -kártyát az adatgyűjtőhöz, és az utolsó dolog, amit meg kell tennie, csatlakoztassa a dht érzékelőt és az LCD -t. Az arduino 5V -ját használjuk a kenyértábla + részéhez, a GND -t a részhez, és ezeket a sorokat követve csatlakoztatja a + érzékelő sort és az LCD -t a kenyértábla + vonalához. Ugyanez vonatkozik a részekre is, csak a következő sorra -. A Dht érzékelő ezúttal a 7 -es érintkezőhöz van csatlakoztatva. Az LCD A4 és A5 csatlakozóhoz van csatlakoztatva. Könnyű, nem?

LCD:

  • VCC - 5V (+ rész a kenyérlapon)
  • GND-gnd (-rész a kenyértáblán)
  • SDA - A4 -es analóg tű
  • SCL az A5 analóg érintkezőhöz

DHT22:

Dht -t használtam táblával, amelyben három csap használható:

  • + 5V -ig
  • - a GND -nek
  • ki a 7 -es digitális tűre

3. lépés: Kódolás

Ez az időkód bonyolultabb. Ennek egy jó részét kommentálják, így könnyen megértheti.

Ezt a kódot néhány rövid részben elmagyarázom.

1. Először is ne feledje, hogy ehhez a kódhoz kevés könyvtárra van szükség a számítógépen. Ezek: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Valószínűleg használhat néhány más könyvtárat is, de ez a könyvtár nekem működött. Ezt követően meghatározunk mindent, ami ehhez a projekthez szükséges. A DHT érzékelő könnyen definiálható, csak meg kell mondania az érzékelőhöz csatlakoztatott tűt és az érzékelő típusát. Ezt követően meg kell határoznia néhány tűt, amelyeket az SD -kártyához és az RTC -tűhöz használnak. És utána láthatja a projekthez használt változókat.

3. A Project kevés módszert használ, és mindegyik a DHT érzékelővel való munkavégzésre szolgál. Ha ilyen típusú érzékelővel dolgozik a projekten, akkor használhatja azt. Ezek a módszerek a getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. A beállítás során kevés dologra van szükség az elvégzéshez. Először is meg kell határozni az időt. Mivel itt RTC -t használunk, megfelelő időt szeretnénk kapni, amikor Arduino -nk menti az adatokat az érzékelőből. Ezt a részt kóddal kommentálják. Ha visszavonja a megjegyzést //RTC.adjust(DateTime(_DATE_, _TIME_)); sorban beállíthatja a projekt idejét. A megfelelő idő beállítása után újra megjegyzést fűzhet ehhez a részhez, és számítógép nélkül használhatja az arduino -t. Ez azért jó, mert a hőmérséklet -érzékelőt más helyiségben is használhatja, és a számítógép nélkül is nyomon követheti a hőmérsékletet. A második rész az SD -kártya használata, amelyen az adatok tárolásra kerülnek. A Shield megpróbálja megnézni, hogy van -e kártya, és inicializálja. Ha nem, akkor a hibaüzenet az Arduino IDE soros képernyőjén jelenik meg.

A beállítás az első lépés, amikor fájlok memóriakártyára írásával dolgozunk. Az első dolog, amit a kártyára írnak, az a datalog.txt fájl. Ezúttal csak az eszköz naplózásának idejét írjuk, és létrehozunk egy kis névsort (a mentéshez használt változók és az idő is)

A beállítás utolsó része az LCD és a dht érzékelő inicializálása.

5. A hurok rész a projekt fő része. Ezúttal nagyon könnyű dolgozni az érzékelővel, mert csak egy módszert használ, amely kiolvassa az érzékelő által kapott értékeket. Az LCD része is nagyon egyszerű. A következő részt itt meg kell magyaráznunk. Ez a projekt minden percben tesz valamit. Egy perc elteltével az adatokat tárolja a datalog.txt fájlba. Ezeket az adatokat olvashatja valaki, aki nem is tudja, hogyan kell programozni az arduinókat. A másik oldalon. Egy perc a hőmérsékletet menti a datalogB.txt fájlra, egy perc pedig a páratartalmat a datalogC.txt fájlra. Szükségünk van a datalogB.txt és a dataLogC.txt fájlokra, hogy olvashassunk a memóriakártyánkon. Tehát ha folytatjuk a kódunk olvasását, akkor azt is láthatjuk, hogy ez a kód a hőmérséklet és a páratartalom középértékeit olvassa, és egy sorban tárolja. Olyan eszközt akartam készíteni, amely csak az utolsó tíz számjegyet tartalmazza. Tehát ez a projekt mindig a kártya értékeit futtatja, és elmenti az utolsó tíz számjegyet. Ezeket a sorokban tárolt számjegyeket használják, így megkaphatjuk a hőmérséklet átlagos értékét és a páratartalom átlagos értékét. Amelyek egy idő után az LCD -n is megjelennek

4. lépés: Az Arduino és az SD kártya használata utána

Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána
Az Arduino és az SD kártya használata utána

Itt láthatja, hogy mi látható az LCD -n, és hogyan működik a projekt. Ide is teszek fel képeket a mentett adatbázisokról. A Datalog.txt fájl segítségével megtekintheti, hogy az eszköz hogyan tárol minden értéket. A DatalogB és a datalogC ott vannak, így láthatja, hogyan néznek ki. Ezek így vannak írva, így problémamentesen használhatja az elemzési módszert és olvashatja az adatokat.

A projekt lényege az SD -kártyán lévő fájlok manipulálása. Néha olyan eszközökre van szükségünk, amelyek képesek tárolni a memóriát, és az olvasási hőmérséklet is egyszer ilyen. Jó dolog, hogy az ezen az eszközön használt pajzs RTC modullal is rendelkezik, ami az idő legjobb. Amikor valós időben tudunk olvasni, és adatokat tárolhatunk a készülékünkkel, ez azt jelenti, hogy hordozható lehet.

Köszönöm srácok, hogy elolvasták ezt a projektet. Remélem, segíteni fog. Köszönöm.

Üdvözlettel: Sebastian

Ajánlott: