FTDI NerO + AM2322 T/F-Sensor

Auf dieser Demoseite wird die ausgelesene Temperatur und die gemessene Luftfeuchtigkeit angezeigt.

Für eine Terrarien-Steuerung kann mit diesen Werten der Befeuchter bzw. die Heizung angesteuert werden.

 

char tempNow[15]=““; //Array für Zahlendarstellung
 char humNow[15]=““; //Array für Zahlendarstellung

void display_terra()
 {
 CleO.Start();
 int tiefeBt1 = 100;

//Titel
 CleO.StringExt(FONT_MEDIUM, 160, 0, BLUE, TM, 0, 0, „HOKA I2C DEMO“);

//Hintergrund
 CleO.RectangleExt(0, 50, 350, 500, WHITE, TL, 0, 0);

//Ueberschrift
 CleO.StringExt(FONT_MEDIUM, 160, 80, BLACK, MM, 0, 0, „Temperatur /“);
CleO.StringExt(FONT_MEDIUM, 160, 125, BLACK, MM, 0, 0, „Luftfeuchtigkeit“);

//Konvertiere int zu String
 itoa(getTemperature(),tempNow,10); //Fuer Temperatur
 itoa(getHumidity(),humNow,10); //Fuer Luftfeuchtigkeit

//Zeichne Anzeige
 CleO.CircleExt(80, 220, 40, 45, LIGHTGREY, MM, 0, 0);
 CleO.CircleExt(220, 220, 40, 45, LIGHTGREY, MM, 0, 0);
 CleO.RectangleExt(0, 220 , 320, 480, WHITE, TL, 0, 0);

//Zeichne Temperatur Nadel
 CleO.NeedleWidth(10);
 CleO.NeedleExt(80, 220, 50, BLUE, controlNeedleTemp(getTemperature()+90), 0);
 CleO.StringExt(FONT_MEDIUM, 65, 250, BLACK, TM, 0, 0, tempNow);
 CleO.StringExt(FONT_MEDIUM, 95, 250, BLACK, TM, 0, 0, “ C“);

//Zeichne Feuchtigkeits Nadel
 CleO.NeedleExt(220, 220, 50, BLUE, controlNeedleHum(getHumidity()+90), 0);
 CleO.StringExt(FONT_MEDIUM, 205, 250, BLACK, TM, 0, 0, humNow);
 CleO.StringExt(FONT_MEDIUM, 235, 250, BLACK, TM, 0, 0, “ %“);
CleO.LineWidth(30);

//Funktion für zurueck-Button
 if (penDownOnBack) {
 penDownOnBack = false;
 globalCurrSite = 0;
 }

//Startseite-Button
 CleO.Tag(100);
 CleO.LineColor(BLUE);
 CleO.Line(0, 375, 350, 375);
 CleO.StringExt(FONT_MEDIUM,160, 375, WHITE, MM, 0, 0, „Startseite“);

//Footer
 CleO.StringExt(FONT_SANS_2, 160, 440, BLUE, TM, 0, 0, „www.horter.de“);
CleO.Show();
 }

float getTemperature()
 {
 return dht.readTemperature(); //DHT Library-Befehl
 }
 float getHumidity()
 {
 return dht.readHumidity(); //DHT Library-Befehl
 }

int controlNeedleTemp(int val)
 {
 double b = 1.1;
 int res = b*val;
 return res;
 }

int controlNeedleHum(int val)
 {
 double b = 1.4;
 int res = b*val;
 return res;
 }

void control_terra()
 {
 int16_t x, y, dur, tag;
 CleO.TouchCoordinates(x, y, dur, tag);
 if (previousDur == 0 && dur != 0)
 {
 previousTag = tag;
 previousDur = 1;
 if (tag == 100)
 penDownOnBack = true;
 }
 else if (previousDur == 1 && dur == 0)
 {
 previousDur = 0;
 if (previousTag == 100)
 penDownOnBack = false;
 }
 }

Der Code der einzelnen Bildschirmseiten finden Sie hier:

        

FTDI NerO + Startseite
FTDI NerO + I2C-Digital Output
FTDI NerO + I2C-Digital Input
FTDI NerO + AM2322 T/F-Sensor

Den kompletten Code kann hier heruntergeladen werden:
Demoprogramm für Arduino-IDE FTDI NerO und CleO35 mit I2C-Modulen (134 Downloads)

 

Schreibe einen Kommentar

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