Obsah:

Arduino pracující s více soubory (READ/WRITE): 4 kroky
Arduino pracující s více soubory (READ/WRITE): 4 kroky

Video: Arduino pracující s více soubory (READ/WRITE): 4 kroky

Video: Arduino pracující s více soubory (READ/WRITE): 4 kroky
Video: 1. Q Light Controller + Začínáme s QLC +. Přístroje a funkce 2024, Červenec
Anonim
Arduino pracuje s více soubory (READ/WRITE)
Arduino pracuje s více soubory (READ/WRITE)

Nazdar hoši

Dnes vám představuji projekt Arduino, který pracuje s RTC štítem, který dokáže ukládat data. Hlavním úkolem tohoto projektu je práce s více soubory, které jsou uloženy na kartě sc. Tento projekt obsahuje kód, který pracuje se třemi soubory, které jsou uloženy přímo na SD kartě s arduino a RTC štítem. Protože tento projekt funguje se štítem DataLogger, budou tato data také uložena přesně ve stejnou dobu jako ve vašem počítači PC.

Tento projekt je upgradovanou verzí mého posledního projektu. Tento projekt lze nalézt na webu instructables pod názvem Arduino Data Logger Shield Small Project. Pokud máte nějaké problémy s porozuměním tomuto projektu, navrhuji, abyste si jej nejprve prohlédli snáze.

Hlavní rozdíl mezi těmito dvěma projekty spočívá v tom, že tento projekt používá 3 textové soubory, také tentokrát čteme data ze dvou z nich. Protože můžeme číst data, můžeme získat střední hodnotu vlhkosti a teploty, které jsou uloženy na SD kartě. To se také zobrazí na LCD připojeném k Arduinu.

Ještě jednou, pokud jste v Arduinu nováčkem a toto je váš první projekt, který používá DataLogger, doporučuji se podívat na tento odkaz https://www.instructables.com/id/Arduino-Data-Logg… a až získáte vše na to, pojďte sem a užijte si více zábavy. Začněme.

Krok 1: Díly

Díly
Díly
Díly
Díly
Díly
Díly

Jako pokaždé, když píšu projekty, jako je tento, začnu se všemi částmi, které jsem s tímto projektem použil. Navrhnu také některé ze senzorů, které lze použít a které mohou tento projekt trochu odlišit.

Díly:

  • Arduino uno rev3
  • Arduino Data logger štít
  • Paměťová karta SD
  • Zelený displej LCD 1602 s I2C (můžete použít jakýkoli jiný displej)
  • DHT22 (DHT11 funguje také dobře, ale jeho přesnost není stejná jako dht22)
  • Několik propojovacích kabelů
  • Prkénko
  • Baterie 9v

Některé části můžete změnit. Dobrá stránka tohoto projektu je, že jej lze použít k ukládání dat z jakéhokoli jiného senzoru. Zkusil bych pracovat s kouřovým senzorem nebo infračerveným senzorem. Funguje s jakýmkoli jiným senzorem. Můžete také změnit své Arduino, ale mějte na paměti, že Arduino je nejlepší pro přizpůsobení záznamníku dat.

Krok 2: Spojení všech částí dohromady

Spojení všech částí dohromady
Spojení všech částí dohromady

Ten se snadno připojuje. I schéma je stejné jako u jednoduššího projektu. Ale řekl bych, že si musíte dát pozor, který pin použijete. Pokaždé zkontrolujte datový list Data loggeru, abyste zjistili, které piny jsou nejlepší pro použití, protože jak si vzpomínám, některé piny jsou již definovány a když jsem se pokusil použít svůj snímač na jednom z definovaných pinů, nefungovalo to.

V horní části tohoto kroku můžete vidět schéma vytvořené pomocí fritzování. Snadné je, že musíte připojit svůj záznamník dat na horní část svého Arduina. Připojte kartu SD k záznamníku dat a poslední věc, kterou musíte udělat, je připojit snímač dht a LCD. Používáme 5V od arduina pro + část na prkénku, GND pro - část a podle těchto linek připojíte také + řádek senzoru a lcd k + řádku desky chleba. Totéž platí pro - díly, prostě jdou na řádek, který následuje -. Senzor Dht je tentokrát připojen na pin 7. LCD je připojen k formátu A4 a A5. Snadné, že?

LCD:

  • VCC až 5V (+ část na prkénku)
  • GND to gnd (-part on breadboard)
  • SDA na analogový pin A4
  • SCL na analogový pin A5

DHT22:

Použil jsem dht s deskou, ve které jsou použity tři kolíky:

  • + až 5V
  • - na GND
  • na digitální pin 7

Krok 3: Kódování

Tento časový kód je složitější. Velká část je okomentována, abyste ji snadno pochopili.

Tento kód vysvětlím v několika krátkých částech.

1. Nejprve je třeba mít na paměti, že tento kód bude potřebovat několik knihoven nainstalovaných ve vašem počítači. Jsou to: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Pravděpodobně můžete použít některé další knihovny, ale tyto knihovny pro mě fungovaly. Poté definujeme vše, co je pro tento projekt potřeba. Senzor DHT lze snadno definovat, stačí říci pin, ke kterému je senzor připojen, a typ senzoru. Poté musíte definovat některé piny, které budou použity pro kartu SD a pin RTC. A poté můžete vidět proměnné použité pro tento projekt.

3. Projekt používá několik metod a všechny jsou pro práci se snímačem DHT. Pokud pracujete na projektu s tímto typem senzoru, můžete jej použít. Těmito metodami jsou getTemperature (), getMidTemperature (), getHumidity (), getMidHumidity (), readSensorData (), printLcdTemperature (), printHumidity (), printLcdMidTemperature (), printMidHumidity ().

4. V nastavení je pár věcí, které jsou potřeba k provedení. Nejprve musíte definovat čas. Protože zde používáme RTC, chceme mít správný čas, kdy naše Arduino ukládá data ze senzoru. Tato část bude komentována v kódu. Pokud odkomentujete //RTC.adjust(DateTime(_DATE_, _TIME_))); řádku můžete nastavit čas na svém projektu. Jakmile nastavíte správný čas, můžete tuto část znovu komentovat a arduino můžete používat bez počítače. To je skvělé, protože můžete použít teplotní senzor v jiné místnosti a sledovat teplotu bez použití počítače. Druhá část, kterou je třeba provést, je použití karty SD, na které budou uložena data. Shield se pokusí zjistit, zda existuje karta, a inicializuje ji. Pokud tomu tak není, zobrazí se na obrazovce Serial v Arduino IDE chybová zpráva.

V nastavení je první krok, kde pracujeme se zápisem souborů na paměťovou kartu. První věc, která je napsána na kartě, je soubor datalog.txt. Tentokrát píšeme pouze čas přihlášení našeho zařízení a také vytvoříme malou řadu jmen (proměnné používané k ukládání a také čas)

Poslední částí nastavení je inicializace LCD a senzoru dht.

5. Smyčková část je hlavní částí projektu. Práce se senzorem je tentokrát velmi snadná, protože používá pouze jednu metodu, která čte hodnoty, které senzor získá. LCD část je také velmi snadná. Další část je ta, kterou zde musíme vysvětlit. Tento projekt dělá něco každou minutu. Jednu minutu ukládá data do datalog.txt. Tato data si může přečíst někdo, kdo ani neví, jak arduino programovat. Na druhé straně. Jedna minuta ukládá teplotu na datalogB.txt a jednu minutu ukládá vlhkost na datalogC.txt. Potřebujeme datalogB.txt a dataLogC.txt, abychom mohli číst z naší paměťové karty. Pokud tedy budeme pokračovat ve čtení našeho kódu, můžete také vidět, že tento kód čte střední hodnoty teploty a vlhkosti a ukládá je do jednoho řádku. Chtěl jsem vytvořit zařízení, které bude mít v souboru pouze posledních deset číslic. Tento projekt tedy vždy probíhá prostřednictvím hodnot z karty a ukládá posledních deset číslic. Tyto číslice uložené v řádcích se používají, abychom mohli získat průměrnou hodnotu teploty a průměrnou hodnotu vlhkosti. Které se také po nějaké době zobrazují na našem LCD

Krok 4: Poté použijte Arduino a SD kartu

Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty
Poté pomocí Arduina a SD karty

Zde můžete vidět, co se zobrazuje na LCD a jak projekt funguje. Také sem dávám obrázky uložených datových protokolů. Datalog.txt je ten, který lze použít ke zjištění, jak zařízení ukládá každou hodnotu. DatalogB a datalogC jsou k dispozici, takže můžete vidět, jak vypadají. Jsou zapsány tak, takže můžete použít metodu analýzy a bez problémů číst data.

Smyslem celého projektu je manipulace se soubory, které jsou na SD kartě. Někdy potřebujeme zařízení, která mohou ukládat paměť a teplota čtení je také jednou taková. Dobrá věc je, že štít použitý na tomto zařízení má také modul RTC, což je nejlepší pro čas. Když můžeme číst v reálném čase a ukládat data pomocí našeho zařízení, znamená to, že může být přenosné.

Děkuji vám, lidi, že jste si přečetli tento projekt. Doufám, že vám to pomůže. Děkuji.

S pozdravem Sebastian

Doporučuje: