#include <LiquidCrystal.h>
// ACM 1602K - datasheet
// Pin Simbolo Função Conectar
// 1 Vss Ground GND
// 2 Vdd +5V VCC
// 3 Vo LCD contrast adjust Potenciômetro
// 4 RS Register select Arduino 12
// 5 R/W Read/write GND
// 6 E Enable Arduino 11
// 7 DB0 Data bit 0 NC
// 8 DB1 Data bit 1 NC
// 9 DB2 Data bit 2 NC
// 10 DB3 Data bit 3 NC
// 11 DB4 Data bit 4 Arduino 5
// 12 DB5 Data bit 5 Arduino 4
// 13 DB6 Data bit 6 Arduino 3
// 14 DB7 Data bit 7 Arduino 2
// + BL+ Power Supply for BL+ Resistor de 1k para VCC
// - BL- Power Supply for BL- GND
#define TEMPO_ATUALIZACAO 500
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
int inicio = 0, tamanho = 1;
boolean alterar = false;
void setup() {
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
lcd.begin (16, 2); //nicia o LCD com dimensões 16x2(Colunas x Linhas)
}
void loop() {
lcd.clear();//limpa o display LCD
String nome = "Fatec Jundiaí - Lab Hardware";
if (tamanho < 16)
{ lcd.setCursor(16 - tamanho, 0);// posiciona o cursor na coordenada especificada
lcd.print(nome.substring(inicio, tamanho));//mostra no LCD
tamanho++;
}
else
{ if (!alterar)
{ alterar = !alterar;
tamanho = 16;
lcd.setCursor(0, 0);
}
lcd.print(nome.substring(inicio, inicio + tamanho));
inicio++;
}
if (inicio > nome.length())
{ inicio = 0;
tamanho = 1;
alterar = !alterar;
}
delay(TEMPO_ATUALIZACAO);
}