Inhoudsopgave:

Arduino datalogger met RTC, Nokia LCD en encoder - Ajarnpa
Arduino datalogger met RTC, Nokia LCD en encoder - Ajarnpa

Video: Arduino datalogger met RTC, Nokia LCD en encoder - Ajarnpa

Video: Arduino datalogger met RTC, Nokia LCD en encoder - Ajarnpa
Video: Arduino Datalogger with GUI 2024, November
Anonim
Arduino datalogger met RTC, Nokia LCD en encoder
Arduino datalogger met RTC, Nokia LCD en encoder
Arduino datalogger met RTC, Nokia LCD en encoder
Arduino datalogger met RTC, Nokia LCD en encoder
Arduino datalogger met RTC, Nokia LCD en encoder
Arduino datalogger met RTC, Nokia LCD en encoder

Onderdelen:

  • Arduino Nano of Arduino Pro Mini
  • Nokia 5110 84x48 LCD
  • DHT11 temperatuur/vochtigheidssensor
  • DS1307 of DS3231 RTC-module met ingebouwde AT24C32 EEPROM
  • Goedkope encoder met 3 debounce condensatoren

Functies:

  • GUI gebaseerd op Nokia LCD en encoder
  • temperatuur, vochtigheid, datum en tijd kunnen elke 1 tot 120 minuten worden opgeslagen
  • elk record wordt alleen gecomprimeerd tot 39 bitfield, zodat 32kbit flash (4KB) 819 records kan passen
  • optionele AT24C256-chip kan zelfs 6553 records opslaan
  • diepe slaap gebruikt om de batterij te sparen, ATMEGA wordt voornamelijk gewekt door onderbrekingen
  • DHT11 wordt alleen gevoed tijdens metingen
  • aangedreven door enkele 18650 of andere lithiumcel;
  • een paar tonen "gezichten"
  • 6 lettertypen
  • batterijniveaumeter
  • gegevensbeoordeling en grafieken
  • min/max met datum/tijd
  • alle opgenomen data dumpen via seriële poort in CSV-formaat
  • LCD-achtergrondverlichting
  • eigen snelle en lage resource N5110-bibliotheek gebruikt
  • eigen laag niveau DHT11 data lezen
  • eigen DS1307, DS3231 en AT24C32 I2C EEPROM-verwerkingscode
  • de code gebruikt bijna alle 32KB Arduino-flitsers
  • alle interne registers kunnen worden opgeslagen in externe EEPROM of DS1307 interne RAM

Data compressie

De volgende waarden worden geregistreerd:

  • tijd (uur, min)
  • datum (d, m, j)
  • temperatuur-
  • vochtigheid

Bovenstaande gegevens zijn gecomprimeerd tot een bitveld van 39 bits:

  • uur 0..23 -> 5b
  • min 0..59 -> 6b
  • d 1..31 -> 5b
  • m 1..12 -> 4b
  • y 2018..2021 -> 2b
  • temp -40.0..64.0 -> 1024waarden = 10b
  • brom 0..100 -> 7b
  • totaal 39 bits

Er worden slechts 5 bytes gebruikt voor 1 record:

bits 76543210 byte0 hhhhhmmm byte1 mmmddddd byte2 mmmmyytt byte3 tttttttt byte4 hhhhhhh0

Stap 1: video's bekijken

Image
Image

Als je geïnteresseerd bent in projectfuncties en ontwikkeling, bekijk dan bovenstaande video's

Stap 2: Aansluitingen

Verbindingen
Verbindingen
Verbindingen
Verbindingen

Nokia 5110:

  1. RST naar D9
  2. CS/CE tot D10
  3. Gelijkstroom naar D8
  4. MOSI/DIN naar D11
  5. SCK/CLK naar D13
  6. VCC naar Arduino VCC
  7. LICHT naar D6
  8. GND naar GND

DHT11:

  1. VCC naar VCC
  2. DATA naar D14
  3. NC
  4. GND naar GND

RTC DS1307/DS3231 en AT24C32 EEPROM:

Arduino I2C (A4/A5)

Encoder:

  • PinA naar D2
  • PinB naar D4
  • Knop naar D3

Stap 3: RTC-modules "LowPower" -modificaties (optioneel)

RTC-modules
RTC-modules
RTC-modules
RTC-modules

Snijd in DS1307 2 sporen, verwijder R6 en maak soldeerverbinding

Snijd in DS3231 2 sporen

Stap 4: Firmware

Arduino-schets:

github.com/cbm80amiga/N5110_DHT11_logger_G…

N5110 bibliotheek:

github.com/cbm80amiga/N5110_SPI

Configuratie opties:

#define USE_DS3231 -> om DS3231 te gebruiken in plaats van DS1307

#define REG_IN_RTCRAM -> registers worden opgeslagen in RTC RAM (alleen voor DS1307)

Aanbevolen: