Datenlogger
Zur Speicherung und Visualisierung der übertragenen Messwerte habe ich den Funkempfänger um einen Datenlogger mit einem Arduino Mega erweitert, der über die I2C-Schnittstelle mit dem Funkempfänger verbunden ist.
Die Auftrennung auf einen eigenen Arduino erfolgte aus folgenden Gründen: Der Uno wäre seitens des benötigten Speicherplatzes hoffnungslos zu klein gewesen und die gleichzeitige Verwendung der Libraries Virtual Wire (für die Funkübertragung) und SPI (für das Ansprechen der SD-Karte) funktionierte, vermutlich wegen Timerkollision, nicht.
Testaufbau Datenlogger mit Funkempfänger:
Für den Datenlogger habe ich folgende Bauteile und Komponenten verwendet:
(die verwendeten Bauteile für den Funkempfänger wurden bereits hier angegeben: Testaufbau Funk)
- 1 Arduino Mega
- 1 SD-Shield mit RTC DS1307 (z.B. Adafruit Data Logger Shield)
- 1 128x64 Graphik-LCD-Anzeige mit ST7920 Controller und SPI-Modul (SPI-Schnittstelle)
- 1 16er-Folientastatur (4x4 Tasten)
- 1 Portexpander PCF8574
- 1 Potentiometer 10 kOhm lin.
- 2 Widerstände 10 kOhm
Anschluss der 128x64 Graphik-LCD-Anzeige ST7920 (SPI-Schnittstelle):
LCD Modul ---> Arduino Mega
(Obere Reihe) (Untere Reihe)
SID ---> D3 GND ---> GND
CS ---> D2 --- ---
SCK ---> D4 VCC ---> V5
Aufbau und Anschluss der 16er-Tastatur:
siehe: 16er-Tastatur mit I2C
SD-Shield mit RTC (Real Time Clock):
Das Shield verwendet für die SD-Karte die SPI-Schnittstelle mit den Uno-Pins D10-D13. Beim Mega ist die SPI-Schnittstelle standardmäßig auf die Pins 50-53 verschaltet und daher müssen diese bei Verwendung des Shields softwaremäßig auf die Uno-SPI-Pins umgelegt werden. Wie das geht, ist auf der nächsten Seite unter "Verwendete Libraries" zu lesen.
Der RTC-Baustein auf dem Shield ist über I2C-Bus mit dem Arduino verbunden (I2C-Adresse: 0x68).
Anstelle des Shields können natürlich auch z.B. zwei getrennte Breakout Boards verwendet werden.
- SD- oder Micro-SD-Breakout Board mit SPI-Schnittstelle
- RTC-Breakout Board z.B. mit RTC DS1307 oder RTC DS3231 Baustein (I2C-Adresse bei beiden Bausteinen 0x68)