Inhaltsverzeichnis:

Arduino Datalogger mit RTC, Nokia LCD und Encoder - Gunook
Arduino Datalogger mit RTC, Nokia LCD und Encoder - Gunook

Video: Arduino Datalogger mit RTC, Nokia LCD und Encoder - Gunook

Video: Arduino Datalogger mit RTC, Nokia LCD und Encoder - Gunook
Video: Arduino Nokia 5110 LCD display tutorial #2 - Load Graphics on the display 2024, Juni
Anonim
Arduino-Datenlogger mit RTC, Nokia LCD und Encoder
Arduino-Datenlogger mit RTC, Nokia LCD und Encoder
Arduino-Datenlogger mit RTC, Nokia LCD und Encoder
Arduino-Datenlogger mit RTC, Nokia LCD und Encoder
Arduino-Datenlogger mit RTC, Nokia LCD und Encoder
Arduino-Datenlogger mit RTC, Nokia LCD und Encoder

Teile:

  • Arduino Nano oder Arduino Pro Mini
  • Nokia 5110 84x48 LCD
  • DHT11 Temperatur-/Feuchtigkeitssensor
  • DS1307 oder DS3231 RTC-Modul mit eingebautem AT24C32 EEPROM
  • Günstiger Encoder mit 3 Entprellkondensatoren

Merkmale:

  • GUI basierend auf Nokia LCD und Encoder
  • Temperatur, Luftfeuchtigkeit, Datum und Uhrzeit können alle 1 bis 120 Minuten gespeichert werden
  • jeder Datensatz wird nur auf ein 39-Bit-Feld komprimiert, sodass 32-kbit-Flash (4 KB) 819 Datensätze aufnehmen kann
  • optionaler AT24C256-Chip kann sogar 6553 Datensätze speichern
  • Tiefschlaf wird verwendet, um Batterie zu sparen, ATMEGA wird hauptsächlich durch Interrupts geweckt
  • DHT11 wird nur während der Messungen mit Strom versorgt
  • angetrieben von einer einzelnen 18650 oder einer anderen Lithiumzelle
  • ein paar "Gesichter" anzeigen
  • 6 Schriftarten
  • Batteriestandsanzeige
  • Datenüberprüfung und Grafiken
  • min/max mit Datum/Uhrzeit
  • alle aufgezeichneten Daten Dump über serielle Schnittstelle im CSV-Format
  • LCD-Rücklicht
  • eigene schnelle und ressourcenarme N5110 Bibliothek verwendet
  • eigene Low-Level-DHT11-Datenauslesung
  • eigener DS1307, DS3231 und AT24C32 I2C EEPROM Handling Code
  • der Code verwendet fast alle 32KB Arduino Flash
  • alle internen Register können im externen EEPROM oder im internen DS1307-RAM gespeichert werden

Datenkompression

Folgende Werte werden aufgezeichnet:

  • Zeit (Std., Min.)
  • Datum (d, m, j)
  • Temperatur
  • Feuchtigkeit

Die obigen Daten werden auf ein 39-Bit-Bitfeld komprimiert:

  • Std. 0..23 -> 5b
  • min 0..59 -> 6b
  • d 1..31 -> 5b
  • m 1..12 -> 4b
  • y 2018..2021 -> 2b
  • temp -40.0..64.0 -> 1024Werte = 10b
  • Brummen 0..100 -> 7b
  • insgesamt 39 Bit

Für 1 Datensatz werden nur 5 Byte verwendet:

Bits 76543210 Byte0 hhhhhmmm Byte1 mmmddddd Byte2 mmmmyytt Byte3 tttttttt Byte4 hhhhhhh0

Schritt 1: Videos ansehen

Image
Image

Wenn Sie an Projektfunktionen und Entwicklung interessiert sind, sehen Sie sich die obigen Videos an

Schritt 2: Verbindungen

Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse

Nokia 5110:

  1. RST zu D9
  2. CS/CE bis D10
  3. DC zu D8
  4. MOSI/DIN auf D11
  5. SCK/CLK zu D13
  6. VCC zu Arduino VCC
  7. LICHT bis D6
  8. GND zu GND

DHT11:

  1. VCC zu VCC
  2. DATEN zu D14
  3. NC
  4. GND zu GND

RTC DS1307/DS3231 und AT24C32 EEPROM:

Arduino I2C (A4/A5)

Encoder:

  • PinA auf D2
  • PinB zu D4
  • Taste zu D3

Schritt 3: RTC-Module "LowPower"-Modifikationen (optional)

RTC-Module
RTC-Module
RTC-Module
RTC-Module

In DS1307 2 Spuren schneiden, R6 entfernen und Lötverbindung herstellen

In DS3231 2 Spuren schneiden

Schritt 4: Firmware

Arduino-Skizze:

github.com/cbm80amiga/N5110_DHT11_logger_G…

N5110-Bibliothek:

github.com/cbm80amiga/N5110_SPI

Einstellmöglichkeiten:

#define USE_DS3231 -> um DS3231 anstelle von DS1307 zu verwenden

#define REG_IN_RTCRAM -> Register werden im RTC-RAM gespeichert (nur für DS1307)

Empfohlen: