Herzlich Willkommen zum dritten Teil zu meinem Projekt Brausteuerung.
Eigentlich wollte ich ganz lässig, die Software im dritten Teil abhandeln, aber man glaubt es kaum, es ist dann doch etwas komplexer als man denkt… 🙂
Deshalb wird es zu diesem Thema mehr als einen Teil geben.
Wie heisst es so schön…gut Ding braucht Weile.
Hmm,…wie war das doch gleich??… Daten einlesen und dann sollte…hääh, wo kommt das denn her???
Das sollte doch eigentlich so funktionieren….aha…Endlosschleife eingebaut…
Diese und so ähnliche Gedanken werden ab sofort meine treuen Begleiter sein.
Programmieren ist kein Kinderfasching, aber es kann unheimlich Spass machen.
Auch wenn nicht immer alles nach Plan läuft. 😉
Zur Erinnerung:
Im zweiten Teil zu meinem Brausteuerungsprojekt habe ich die Hardware zusammengestellt und mal auf einem Breadboard zusammengesteckt.
Ebenso habe ich die Arduino IDE heruntergeladen und mal einen neuen Sketch geöffnet.
Nachzulesen hier.
Nun, im dritten Teil gilt es die Hardware Stück für Stück zum Leben zu erwecken.
Sowie den leeren Sketch mit hoffentlich sinnvollem Programmcode zu füllen.
Stück für Stück…
Beginnen werde ich mit dem LCD Display und den Temperatur Sensoren.
Denn im Display will ich das Menü sehen und durchscrollen aber auch die Temperaturen anzeigen
sowie die verbleibenden Zeiten der Rasten usw. …
Anschliessend werden die Funktionen für die Temperatur Sensoren geschrieben,
und dann der SD Card Reader in den Code eingebunden.
Soweit der ungefähre Fahrplan für das weitere Vorgehen bei der Brausteuerung…
Als Bibliotheken werde ich folgende nutzen:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SPI.h>
#include <SD.h>
Das LCD Display ist schnell in Betrieb genommen.
Hierfür muss ja lediglich noch festgelegt werden, um was für ein Display es sich handelt.
Dies geschieht mit:
LiquidCrystal_I2C lcd(0x27, 20, 4);
Anschliessend kann das Display bereits über die entsprechenden Befehle aus der Biblithek angesprochen und genutzt werden.
Bei den beiden Temperatur Sensoren brauchte ich noch folgendes:
#define ONE_WIRE_BUS 10 // data Pin der Temp. Sensoren (Pin 10)
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress Adresse_Sensor1 = { Adresse Temp. Sensor 1 hier eintragen}; // Adresse Temp. Sensor 1
DeviceAddress Adresse_Sensor2 = { Adresse Temp. Sensor 2 hier eintragen }; // Adresse Temp. Sensor 2
Zum auslesen der Adresse kann dieser Sketch verwendet werden:
http://guggenberger.me/2018/10/11/ds18b20-adresse-auslesen/
Ist das alles vereinbart, und die Adressen eingetragen, sind die Sensoren bereit zum messen.
Sofern sie richtig angeschlossen sind.
Um ein richtiges Ergebnis zu bekommen muss noch ein 4,7KOhm Widerstand zwischen VDD und Data Pin gehängt werden.
Wie das aussieht, ist hier ganz gut zu sehen:
https://beelogger.de/?page_id=25
Ein kleine Funktion mit der die Temperatur in regelmässigen Abständen aktualisiert wird und ich habe meine Temperaturanzeige.
Soweit so gut, nun noch etwas Text ins Display programmiert und siehe da…es lebt. 🙂
Der Weg zur Brausteuerung ist klar, aber etwas steinig…
Egal, der Mensch wächst mit der Herausforderung, deshalb heisst es jetzt dranbleiben und weitermachen.
Bis dahin.
Und merkt euch eines, das Bier schmeckt trotzdem. 🙂