Здравствуйте. Не слишком давно начал заниматься ардуино, поэтому ещё плохо понимаю. Возникла вот такая ошибка, что при загрузке скетча, и нажатии на нужную кнопку, текст выводиться, но происходит мирцание текста(пропал, и опять включился) в 50-100 мс, и их видно глазу. Кстати когда одна функция "if" к примеру с левой кнопкой, всё работает как задуманно, но если как у меня в коде правый и левый, происходят такие неполадки. Заранее спасибо
Код:
Код:
Код:
#include <SPI.h>
#include <Adafruit_ST7735.h>
#include <Adafruit_GFX.h>
#define TFT_CS 10 //
#define TFT_DC 9 //
#define TFT_RST 8 //
const int btnPinLeft = 3;
const int btnPinRight = 4;
const int btnPinUp = 5;
const int btnPinDown = 2;
int btnStateLeft = 0;
int btnStateRight = 0;
int btnStateUp = 0;
int btnStateDown = 0;
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.initR(INITR_BLACKTAB);
tft.fillScreen(ST7735_BLACK);
pinMode(btnPinLeft, INPUT_PULLUP);
pinMode(btnPinRight, INPUT_PULLUP);
pinMode(btnPinUp, INPUT_PULLUP);
pinMode(btnPinDown, INPUT_PULLUP);
n();
}
void loop() {
btnStateLeft = digitalRead(btnPinLeft);
btnStateRight = digitalRead(btnPinRight);
btnStateUp = digitalRead(btnPinUp);
btnStateDown = digitalRead(btnPinDown);
if(btnStateLeft == LOW) {
tft.setCursor(50, 50);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.print("Left");
}else{
tft.fillScreen(ST7735_BLACK);
}
if(btnStateRight == LOW) {
tft.setCursor(70, 50);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.print("right");
}else{
tft.fillScreen(ST7735_BLACK);
}
}
void n() {
if(btnStateLeft == LOW) {
tft.setCursor(50, 50);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.print("Left");
}else{
tft.fillScreen(ST7735_BLACK);
}
if(btnStateRight == LOW) {
tft.setCursor(70, 50);
tft.setTextColor(ST7735_WHITE);
tft.setTextSize(2);
tft.print("right");
}else{
tft.fillScreen(ST7735_BLACK);
}
}