Hallo,
ich verwende einen Arduino Nano mit einem ILI9341 Display was über SPI verbunden ist.
Nun habe ich zum testen ein Relay angeschlossen was jede sec. an und aus geht. Dazu habe ich die Ausgabe auf dem Display. Dort wird mir der Name, der Pin und der Wert angezeigt. Soweit so gut.
Nur leider ist es nun so das der Wert auf dem Display nicht richtig angezeigt wird. Am anfang steht eine 0 da dann aber schreibt er die 1 über die 0 ohne diese vorher zu löschen. Somit sieht man nicht welchen zustand er nun anzeigt. 0 oder 1
ich habe die ucg.lib in verwendung habe da aber noch nicht rausgefunden wie ich die pixel an dieser stelle zurücksetzen oder löschen kann so das die anzeige richtig dargestellt wird.
#include <SPI.h>
#include "Ucglib.h"
const int relaisIN1 = 3;
int IN1state = LOW;
int myTimer1 = 0;
int myTimeout1 = 1000;
Ucglib_ILI9341_18x240x320_HWSPI ucg(/*cd=*/ 6, /*cs=*/ 5, /*reset=*/ 4);
void setup() {
ucg.begin(UCG_FONT_MODE_TRANSPARENT);
ucg.clearScreen();
Serial.begin(115220); // Serielle Konsole einrichten, baud 115,2k
pinMode(relaisIN1, OUTPUT);
delay (1000);
}
void loop() {
ucg.setRotate90();
ucg.setFont(ucg_font_helvB14_hr);
ucg.setColor(255, 255, 255);
ucg.setColor(1, 255, 0, 0);
if (millis() > myTimeout1 + myTimer1 ) {
myTimer1 = millis();
if (IN1state == LOW) IN1state = HIGH;
else IN1state = LOW;
digitalWrite(relaisIN1, IN1state);
ucg.setPrintPos(10, 30); // Anzeige des Namen y-Position
ucg.print("Relay 1: ");
ucg.setPrintPos(100, 30); // Anzeige der Werte y-Position
ucg.print(relaisIN1); // Zeige an welchen Pin angeschlossen
ucg.setPrintPos(130, 30); // Anzeige der Werte y-Position
ucg.print(IN1state); // Zeige Zustand 0 oder 1
Serial.println(relaisIN1 );
}
}
kann mir einer sagen was ich machen kann das es auf dem Display richtig angezeigt wird? Ich habe schon mehrere sachen probiert die aber nicht zum erfolg führten.