arduino lcd display
Napsal: 14 bře 2020, 14:57
Dobrý den, pomocí tohoto programu se vypisují kody z ovladače na lcd display, ale potřeboval bych poradit s podsvícením. Když se program zapne tak i s podsvícením, ale potřeboval bych, aby když se na display kod nemění třeba déle než 10 vteřin nebo se na display nic neděje, tak aby se podsvícení vyplo a zaplo zase když se zase znova stiskne tlačítko na ovladači a tím se objeví další kod. zkoušel jsem to přes funkci "if" ale nějak mi to pořád nefunguje.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <IRremote.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
int led1 = 7;
int IR = 12;
IRrecv irrecv (IR);
decode_results vysledek;
byte ukazatel[] = {
B11000,
B11100,
B01110,
B00111,
B00111,
B01110,
B11100,
B11000
};
byte ukazatel2[] = {
B00011,
B00111,
B01110,
B11100,
B11100,
B01110,
B00111,
B00011
};
void setup() {
pinMode(led1,OUTPUT);
lcd.begin(16,2); //počet znaků
lcd.backlight(); //zapnutí podsvícení
irrecv.enableIRIn(); //zapnutí IR přijímače
delay(1000);
lcd.init();
lcd.createChar(0, ukazatel);
lcd.createChar(1, ukazatel2);
lcd.home(); // umístí kurzor doleva nahoru
lcd.write(byte(0));
lcd.setCursor(2,0); //nastavení kurzoru na 1.řádek 3.sloupek
lcd.print("Spousteni IR");
lcd.setCursor(4,1);
lcd.print("testeru");
delay(2000);
lcd.clear();
lcd.setCursor(5,0);
lcd.print("stiskni");
lcd.setCursor(4,1);
lcd.print("tlacitko>");
}
void loop() {
lcd.setCursor(0,0);
lcd.write(byte(0));
lcd.setCursor(15,0);
lcd.write(byte(1));
//lcd.setCursor(6,0);
//lcd.print("kod:");
digitalWrite(led1,HIGH);
if (irrecv.decode(&vysledek))
{
Serial.println(vysledek.value, HEX);
lcd.clear();
lcd.setCursor(6,0);
lcd.print("kod:");
lcd.setCursor(5,1);
lcd.print(vysledek.value,HEX);
irrecv.resume();
}
delay(500);
}
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <IRremote.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
int led1 = 7;
int IR = 12;
IRrecv irrecv (IR);
decode_results vysledek;
byte ukazatel[] = {
B11000,
B11100,
B01110,
B00111,
B00111,
B01110,
B11100,
B11000
};
byte ukazatel2[] = {
B00011,
B00111,
B01110,
B11100,
B11100,
B01110,
B00111,
B00011
};
void setup() {
pinMode(led1,OUTPUT);
lcd.begin(16,2); //počet znaků
lcd.backlight(); //zapnutí podsvícení
irrecv.enableIRIn(); //zapnutí IR přijímače
delay(1000);
lcd.init();
lcd.createChar(0, ukazatel);
lcd.createChar(1, ukazatel2);
lcd.home(); // umístí kurzor doleva nahoru
lcd.write(byte(0));
lcd.setCursor(2,0); //nastavení kurzoru na 1.řádek 3.sloupek
lcd.print("Spousteni IR");
lcd.setCursor(4,1);
lcd.print("testeru");
delay(2000);
lcd.clear();
lcd.setCursor(5,0);
lcd.print("stiskni");
lcd.setCursor(4,1);
lcd.print("tlacitko>");
}
void loop() {
lcd.setCursor(0,0);
lcd.write(byte(0));
lcd.setCursor(15,0);
lcd.write(byte(1));
//lcd.setCursor(6,0);
//lcd.print("kod:");
digitalWrite(led1,HIGH);
if (irrecv.decode(&vysledek))
{
Serial.println(vysledek.value, HEX);
lcd.clear();
lcd.setCursor(6,0);
lcd.print("kod:");
lcd.setCursor(5,1);
lcd.print(vysledek.value,HEX);
irrecv.resume();
}
delay(500);
}