Spisu treści:

Rejestrator danych Arduino z RTC, wyświetlaczem Nokia LCD i koderem: 4 kroki
Rejestrator danych Arduino z RTC, wyświetlaczem Nokia LCD i koderem: 4 kroki

Wideo: Rejestrator danych Arduino z RTC, wyświetlaczem Nokia LCD i koderem: 4 kroki

Wideo: Rejestrator danych Arduino z RTC, wyświetlaczem Nokia LCD i koderem: 4 kroki
Wideo: Zegarek z termometrem na Arduino (RTC+18B20) + Małe zmiany 2024, Czerwiec
Anonim
Rejestrator danych Arduino z RTC, Nokia LCD i koderem
Rejestrator danych Arduino z RTC, Nokia LCD i koderem
Rejestrator danych Arduino z RTC, Nokia LCD i koderem
Rejestrator danych Arduino z RTC, Nokia LCD i koderem
Rejestrator danych Arduino z RTC, Nokia LCD i koderem
Rejestrator danych Arduino z RTC, Nokia LCD i koderem

Części:

  • Arduino Nano lub Arduino Pro Mini
  • Nokia 5110 84x48 LCD
  • Czujnik temperatury/wilgotności DHT11
  • Moduł DS1307 lub DS3231 RTC z wbudowaną pamięcią EEPROM AT24C32
  • Tani enkoder z 3 kondensatorami odbijającymi

Cechy:

  • GUI oparte na Nokia LCD i koderze
  • temperatura, wilgotność, data i czas mogą być przechowywane co 1 do 120 minut
  • każdy rekord jest skompresowany do 39-bitowego pola, więc 32kbitowy flash (4KB) może pomieścić 819 rekordów
  • opcjonalny układ AT24C256 może przechowywać nawet 6553 rekordów
  • głęboki sen służący do oszczędzania baterii, ATMEGA jest wybudzana głównie przez przerwania
  • DHT11 jest zasilany tylko podczas pomiarów
  • zasilany pojedynczym ogniwem 18650 lub innym ogniwem litowym;
  • kilka wyświetlaczy "twarzy"
  • 6 czcionek
  • miernik poziomu baterii
  • przegląd danych i wykresy
  • min/maks z datą/godziną
  • zrzut wszystkich zarejestrowanych danych przez port szeregowy w formacie CSV
  • Podświetlenie LCD
  • wykorzystana własna szybka i nisko zasobowa biblioteka N5110
  • własny odczyt danych niskiego poziomu DHT11;
  • własny kod obsługi EEPROM DS1307, DS3231 i AT24C32 I2C;
  • kod wykorzystuje prawie całą pamięć flash Arduino o pojemności 32 KB
  • wszystkie rejestry wewnętrzne mogą być przechowywane w zewnętrznej pamięci EEPROM lub wewnętrznej pamięci RAM DS1307

Kompresja danych

Rejestrowane są następujące wartości:

  • czas (godz, min)
  • data (d, m, r)
  • temperatura
  • wilgotność

Powyższe dane są kompresowane do 39-bitowego pola bitowego:

  • godz 0..23 -> 5b
  • min 0..59 -> 6b
  • d 1..31 -> 5b
  • m 1..12 -> 4b
  • rok 2018..2021 -> 2b
  • temp -40..64.0 -> 1024 wartości = 10b
  • szum 0..100 -> 7b
  • łącznie 39 bitów

Tylko 5 bajtów jest używanych na 1 rekord:

bity 76543210 bajt0 hhhhhmmm bajt1 mmmddddd bajt2 mmmmyytt bajt3 tttttttt bajt4 hhhhhhh0

Krok 1: Oglądaj filmy

Image
Image

Jeśli interesują Cię funkcje projektu i rozwój, obejrzyj powyższe filmy

Krok 2: Połączenia

Znajomości
Znajomości
Znajomości
Znajomości

Nokia 5110:

  1. RST do D9
  2. CS/CE do D10
  3. DC do D8
  4. MOSI/DIN do D11
  5. SCK/CLK do D13
  6. VCC do Arduino VCC
  7. ŚWIATŁO do D6
  8. GND do GND

DHT11:

  1. VCC do VCC
  2. DANE do D14
  3. NC
  4. GND do GND

EEPROM RTC DS1307/DS3231 i AT24C32:

Arduino I2C (A4/A5)

Koder:

  • PinA do D2
  • PinB do D4
  • Przycisk do D3

Krok 3: Modyfikacje modułów RTC „LowPower” (opcjonalnie)

Moduły RTC
Moduły RTC
Moduły RTC
Moduły RTC

W DS1307 wytnij 2 ślady, usuń R6 i wykonaj połączenie lutowane

W DS3231 wytnij 2 ślady

Krok 4: Oprogramowanie układowe

Szkic Arduino:

github.com/cbm80amiga/N5110_DHT11_logger_G…

Biblioteka N5110:

github.com/cbm80amiga/N5110_SPI

Opcje konfiguracji:

#define USE_DS3231 -> aby użyć DS3231 zamiast DS1307

#define REG_IN_RTCRAM -> rejestry są przechowywane w RTC RAM (tylko dla DS1307)

Zalecana: