Arduino Projekt 27 soll eine Temperaturkurve auf ein LCD Grafikmodul zaubern und dieser Artikel zeigt wie es geht…

Vorbereitungen:

Für dieses Projekt werden folgende Bauteile benötigt:

Die Pinbelegung des Grafikmoduls sollte dem Datenblatt entnommen werden. Um den Anschluss des Displays an die Steckplatine zu vereinfachen, wird die Stiftleiste angelötet.

Schaltungsaufbau:

Die Verkabelung habe ich nach dem Datenblatt meines Grafikmoduls 13B36 vorgenommen und der mitgelieferten openGLCD Dokumentation.

Der Spannungsausgang des TMP36 kommt an den Analogeingang des Arduino und Ground natürlich an Ground. Der (linke) Anschluss wird mit dem 5-Volt-Ausgang des Arduino verbunden.

Programmierung:

#include <openGLCD.h>
#include "fonts/SystemFont5x7.h"

int tcurrent;
int tempArray[100];

void setup()
{
GLCD.Init(NON_INVERTED);
GLCD.ClearScreen();
GLCD.SelectFont(System5x7);
}

void getTemp() //Liest die Temperatur vom TMP36
{
float sum = 0;
float voltage = 0;
float sensor = 0;
float celsius;

sensor = analogRead(5);
voltage = (sensor * 5000) / 1024;
voltage = voltage - 500;
celsius = voltage / 10;
tcurrent = int(celsius);

for (int a = 99 ; a >= 0 ; --a )
{
tempArray[a] = tempArray[a-1];
}
tempArray[0] = tcurrent;
}


void drawScreen()
{
int q;
GLCD.ClearScreen();
GLCD.CursorTo(5, 0);
GLCD.Puts("Current:");
GLCD.PrintNumber(tcurrent);
GLCD.CursorTo(0, 1);
GLCD.PrintNumber(40);

GLCD.CursorTo(0, 2);
GLCD.PrintNumber(32);

GLCD.CursorTo(0, 3);
GLCD.PrintNumber(24);

GLCD.CursorTo(0, 4);
GLCD.PrintNumber(16);

GLCD.CursorTo(1, 5);
GLCD.PrintNumber(8);

GLCD.CursorTo(1, 6);
GLCD.PrintNumber(0);

for (int a = 28; a < 127; a++)
{
q = (55 - tempArray[a-28]);
GLCD.SetDot(a, q, BLACK);
}

}

void loop()
{
getTemp();
drawScreen();
for (int a = 0; a <20; a++)
{
delay(60000);
}
}

Arduino Gruppe Peine:

Wer sich für Mikrocontroller Programmierung interessiert ist in der Arduino Gruppe Peine genau richtig. Auch Raspberry Fans und Nutzer anderer Mikrocontroller sind willkommen.

Die Arduino Gruppe Peine trifft sich Dienstags von 18:00 Uhr bis 21:00 Uhr. Die Teilnehmerzahl ist begrenzt und deshalb bitte vorher per Kontaktformular oder Mail an info@fuhselab.de melden. Der Veranstaltungsort wird kurzfristig festgelegt und den Teilnehmerinnen und Teilnehmern per E-Mail mitgeteilt.

Das Angebot “Arduino Gruppe Peine“ kann für einen Jahresbeitrag von 60,- Euro genutzt werden. Für einen Beitrag von 20,- Euro pro Teilnehmer können die Workshops genutzt werden. Materialkosten werden projektabhängig zusätzlich erhoben.

Von Torsten