Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03
cześć chłopaki
Dziś przedstawiam wam projekt Arduino, który współpracuje z nakładką RTC, która może przechowywać dane. Głównym zadaniem tego projektu jest praca z wieloma plikami przechowywanymi na karcie sc. Ten projekt zawiera kod, który działa z trzema plikami, które są przechowywane bezpośrednio na karcie SD z arduino i nakładką RTC. Ponieważ ten projekt działa z osłoną DataLogger, dane te będą również przechowywane dokładnie w tym samym czasie, co na twoim komputerze.
Ten projekt jest ulepszoną wersją mojego ostatniego projektu. Ten projekt można znaleźć na stronie z instrukcjami pod nazwą Arduino Data Logger Shield Small Project. Jeśli masz jakieś problemy ze zrozumieniem tego projektu, proponuję najpierw zobaczyć łatwiejszy.
Główna różnica między tymi dwoma projektami polega na tym, że ten projekt używa 3 plików tekstowych, również tym razem odczytujemy dane z dwóch z nich. Ponieważ możemy odczytywać dane, możemy uzyskać średnią wartość wilgotności i temperatury, które są przechowywane na karcie SD. Zostanie to również pokazane na wyświetlaczu LCD podłączonym do Arduino.
Po raz kolejny, jeśli jesteś nowy w Arduino i jest to twój pierwszy projekt, który korzysta z DataLoggera, sugeruję, aby sprawdzić ten link https://www.instructables.com/id/Arduino-Data-Logg… i kiedy wszystko zdobędziesz przyjdź tutaj i baw się dobrze. Zaczynajmy.
Krok 1: Części
Jak za każdym razem, kiedy piszę takie projekty, zacznę od wszystkich części, których użyłem w tym projekcie. Podpowiem też kilka czujników, których można użyć i które mogą nieco zmienić ten projekt.
Części:
- Arduino uno rev3
- Osłona rejestratora danych Arduino
- Karta pamięci SD
- Wyświetlacz LCD 1602 zielony z I2C (możesz użyć dowolnego innego wyświetlacza)
- DHT22 (DHT11 również działa dobrze, ale precyzja nie jest taka sama jak dht22)
- Kilka kabli rozruchowych
- Deska do krojenia chleba
- Bateria 9v
Możesz zmienić niektóre części. Dobrą stroną tego projektu jest to, że można go wykorzystać do przechowywania danych z dowolnego innego czujnika. Spróbowałbym pracować z czujnikiem dymu lub czujnikiem podczerwieni. Współpracuje z każdym innym czujnikiem. Możesz również zmienić swoje Arduino, ale pamiętaj, że Arduino jest najlepsze dla rejestratora danych.
Krok 2: Łączenie wszystkich części razem
Ten jest łatwy do podłączenia. Nawet schemat jest taki sam jak łatwiejszy projekt. Ale powiedziałbym, że musisz uważać, którego pinu zamierzasz użyć. Za każdym razem sprawdź kartę danych Dataloggera, aby zobaczyć, które piny są najlepsze do użycia, ponieważ jak pamiętam niektóre piny są już zdefiniowane i kiedy próbowałem użyć mojego czujnika na jednym ze zdefiniowanych pinów, nie zadziałało.
W górnej części tego kroku możesz zobaczyć schemat wykonany z fritzem. Prostą rzeczą jest to, że musisz podłączyć rejestrator danych na górze arduino. Podłącz kartę SD do rejestratora danych, a ostatnią rzeczą, którą musisz zrobić, to podłączyć czujnik dht i lcd. Używamy 5V z arduino dla części + na płytce stykowej, GND dla części - i podążając tymi liniami podłączamy również linię + czujnika i lcd do linii + płytki stykowej. To samo dotyczy - części, po prostu idą do następnej linii -. Czujnik Dht jest tym razem podłączony do pinu 7. LCD jest podłączony do A4 i A5. Easy, prawda?
LCD:
- VCC do 5V (+ część na płytce stykowej)
- GND do gnd(-część na płytce stykowej)
- SDA do pinu analogowego A4
- SCL do pinu analogowego A5
DHT22:
Użyłem dht z płytką, w której znajdują się trzy piny do użycia:
- + do 5V
- - do GND
- wyjście na cyfrowy pin 7
Krok 3: Kodowanie
Ten kod czasowy jest bardziej złożony. Duża część jest skomentowana, abyś mógł ją łatwo zrozumieć.
Wyjaśnię ten kod w kilku krótkich częściach.
1. Przede wszystkim pamiętaj, że ten kod będzie wymagał kilku bibliotek zainstalowanych na twoim komputerze. Są to: Time(TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. Prawdopodobnie możesz użyć innych bibliotek, ale te biblioteki działały dla mnie.2. Następnie definiujemy wszystko, co jest potrzebne do tego projektu. Czujnik DHT jest łatwy do zdefiniowania, wystarczy podać pin, do którego podłączony jest czujnik i rodzaj czujnika. Następnie musisz zdefiniować kilka pinów, które będą używane dla karty SD i pinu RTC. A potem możesz zobaczyć zmienne użyte w tym projekcie.
3. Projekt wykorzystuje kilka metod i wszystkie dotyczą pracy z czujnikiem DHT. Jeśli pracujesz nad projektem z tego typu czujnikiem, możesz go użyć. Te metody to getTemperature(), getMidTemperature(), getHumidity(), getMidHumidity(), readSensorData(), printLcdTemperature(), printHumidity(), printLcdMidTemperature(), printMidHumidity().
4. W konfiguracji jest kilka rzeczy, które są potrzebne do zrobienia. Przede wszystkim musisz zdefiniować czas. Ponieważ używamy tutaj RTC, chcemy mieć odpowiedni czas, w którym nasze Arduino zapisuje dane z czujnika. Ta część zostanie skomentowana w kodzie. Jeśli odkomentujesz //RTC.adjust(DateTime(_DATE_, _TIME_)); linii możesz ustawić czas w swoim projekcie. Po ustawieniu odpowiedniego czasu możesz ponownie skomentować tę część i możesz używać swojego arduino bez komputera. Jest to fajne, ponieważ możesz używać czujnika temperatury w innym pomieszczeniu i śledzić temperaturę bez konieczności korzystania z komputera. Drugą częścią, którą należy wykonać, jest użycie karty SD, na której będą przechowywane dane. Shield spróbuje sprawdzić, czy istnieje karta i ją zainicjować. Jeśli nie, komunikat o błędzie zostanie wyświetlony na ekranie Serial w Arduino IDE.
W konfiguracji jest pierwszym krokiem, w którym pracujemy z zapisywaniem plików na karcie pamięci. Pierwsza rzecz zapisana na karcie to plik datalog.txt. Tym razem zapisujemy tylko czas zalogowania naszego urządzenia, a także tworzymy mały rządek nazw (zmienne służące do oszczędzania, a także czas)
Ostatnią częścią konfiguracji jest inicjalizacja LCD i czujnika dht.
5. Część pętlowa jest główną częścią projektu. Tym razem praca z czujnikiem jest bardzo prosta, ponieważ wykorzystuje tylko jedną metodę, czyli odczyt wartości, które odczytuje czujnik. Część LCD jest również bardzo łatwa. Następna część to ta, którą musimy tutaj wyjaśnić. Ten projekt robi coś co minutę. Jedną minutę przechowuje dane w datalog.txt. Te dane może odczytać ktoś, kto nawet nie umie programować arduino. Z drugiej strony. Jedną minutę zapisuje temperaturę na datalogB.txt, a jedną minutę zapisuje wilgotność na datalogC.txt. Potrzebujemy datalogB.txt i dataLogC.txt, abyśmy mogli czytać z naszej karty pamięci. Jeśli więc kontynuujemy czytanie naszego kodu, możesz również zobaczyć, że ten kod odczytuje średnie wartości temperatury i wilgotności i przechowuje je w jednym wierszu. Chciałem zrobić urządzenie, które w pliku zajmuje tylko dziesięć ostatnich cyfr. Czyli ten projekt zawsze przechodzi przez wartości z karty i zapisuje ostatnie dziesięć cyfr. Te cyfry zapisane w rzędach służą do uzyskania średniej wartości temperatury i średniej wartości wilgotności. Które po pewnym czasie również pojawiają się na naszym LCD
Krok 4: Późniejsze użycie Arduino i karty SD
Tutaj możesz zobaczyć, co jest wyświetlane na LCD i jak działa projekt. Zamieszczam tu również zdjęcia zapisanych przeze mnie datalogów. Datalog.txt to plik, którego można użyć do sprawdzenia, w jaki sposób urządzenie przechowuje każdą wartość. DatalogB i datalogC są tam, więc możesz zobaczyć, jak wyglądają. Są napisane w ten sposób, dzięki czemu można bez problemu korzystać z metody parsowania i odczytywać dane.
Całym celem tego projektu jest manipulacja plikami znajdującymi się na karcie SD. Czasami potrzebujemy urządzeń, które mogą przechowywać pamięć, a odczyt temperatury też jest jeden raz. Dobrze, że tarcza zastosowana w tym urządzeniu ma również moduł RTC, co jest najlepsze na czas. Kiedy możemy odczytywać w czasie rzeczywistym i przechowywać dane na naszym urządzeniu, oznacza to, że może być przenośne.
Dziękuję wam za przeczytanie tego projektu. Mam nadzieję, że ci to pomoże. Dziękuję.
Z poważaniem Sebastian
Zalecana:
Tworzenie kamery Pi Zero Dashcam (pt. 3): Zarządzanie plikami i ulepszenia: 3 kroki
Tworzenie kamery Pi Zero Dashcam (pt. 3): Zarządzanie plikami i ulepszenia: Kontynuujemy projekt Pi Zero dashcam iw tym poście zajmujemy się zarządzaniem plikami, dodając jednocześnie kilka ulepszeń w procesie. Ten projekt jest prawie ukończony i będziemy przeprowadzać testy drogowe w przyszłotygodniowym poście/wideo
Zarządzanie plikami na karcie Micro SD: 4 kroki
Zarządzanie plikami na karcie Micro SD: Techniki zarządzania plikami na karcie SD opisane w tej instrukcji można wykorzystać w projektach wymagających trwałych danych, które są zachowywane po wyłączeniu projektu i są dostępne po ponownym włączeniu. Ponadto dane są przenośne, ponieważ
Odczyt temperatury za pomocą czujnika temperatury LM35 z Arduino Uno: 4 kroki
Odczytywanie temperatury za pomocą czujnika temperatury LM35 z Arduino Uno: Cześć, w tej instrukcji dowiemy się, jak używać LM35 z Arduino. Lm35 to czujnik temperatury, który może odczytywać wartości temperatury od -55°C do 150°C. Jest to 3-zaciskowe urządzenie, które dostarcza napięcie analogowe proporcjonalne do temperatury. Cześć G
Odczyt i zapis z portu szeregowego za pomocą Raspberry Pi za pomocą Wemos: 5 kroków
Odczyt i zapis z portu szeregowego za pomocą Raspberry Pi za pomocą Wemos: Komunikacja z Raspberry Pi za pomocą Wemos D1 mini R2
Odczyt przetwornika z odwróconym magnetronem Arduino: 3 kroki
Odczyt przetwornika odwróconego magnetronu Arduino: W ramach mojego projektu, dokumentującego nieustanny postęp mojej wyprawy w świat fizyki cząstek ultrawysokiej próżni, doszedł do części projektu, która wymagała trochę elektroniki i kodowania. Kupiłem nadwyżkę se