Das ditte Arduino LCD Projekt zeichnet eine Temperaturverlaufskurve auf unser Liquid Crystal Display…

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);
}
}

Von Torsten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert