Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
gabriel hoepers
gabriel hoepers
Mensagens : 129
Data de inscrição : 02/07/2022
Idade : 12
Escola : lindaura

exercicio 3.08 Empty exercicio 3.08

Sáb Mar 23, 2024 11:06 am
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 3.8
* Tema: Desloca texto no terminal plus
* Atividade: Com o texto no display, configurar duas teclas para deslocar o texto para esquerda e direita, porém se manter pressionada a tecla o texto desloca a cada 300ms
* Descrição: Os pinos do display são RS-EN-D4-D5-D6-D7 e serão ligados nos pinos digitais do arduino
* Hardware: Ligar da seguinte forma: RS=>pino D12; EN=>pino D13; D4=>pino D4; D5=>pino D5; D6=>pino D6; D7=>pino D7, as teclas serão ligados em pinos digitais
* Comandos: LiquidCrystal(12,13,4,5,6,7); lcd.scrollDisplayLeft(); lcd.scrollDisplayRight(); do while();
* Dica1: Será necessário a biblioteca com as funções do LCD, #include
* Dica2: O comando LiquidCrystal(12,13,4,5,6,7); deve ser declarado como variável antes da função setup()
* Dica3: Na função setup() é necessario inicializar o display indicando as colunas e linhas do display lcd.begin(16, 2);
* Dica4: Detectar qual tecla foi pressionada e deslocar o texto usando as funções lcd.scrollDisplayLeft(); lcd.scrollDisplayRight();
* Dica5: Usar uma variavel tipo int para armazenar o temporizador para deslocamento enquanto a tecla pressionada
* Dica6: O tempo de pressionar a tecla antes de iniciar o deslocamento, vamos chamar de tempo de detecção
* Dica7: O tempo do deslocamento é o intervalo entre cada salto que o texto vai dar no display
* Dica8: O tempo de detecção deve ser maior que o tempo de deslocamento
*/

//DEFINICOES INICIAIS
#include //carrega a biblioteca
#define tecla 3 //tecla definida no pino 8
#define tecla2 4 //tecla2 definida no pino 8

//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(13,12,11,10,9,8 );

//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16,2); //display 16 por 2
lcd.print("D  '"); // vai mandar "d" para o display
pinMode(tecla, INPUT_PULLUP); //tecla definido como entrada
pinMode(tecla2, INPUT_PULLUP); //tecla2 definido como entrada

}

//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
if(!digitalRead(tecla)){ //inverte o estado da tecla
lcd.scrollDisplayRight(); //ne e bolsonarista ou seja vai para direita
delay(700);  //uma pausa
while(!digitalRead(tecla)){ //inverte o estado da tecla
lcd.scrollDisplayRight(); //d e bolsonarista ou seja vai para direita
delay(100); //uma pausa
}
}

if(!digitalRead(tecla2)){ //inverte o estado da tecla2
lcd.scrollDisplayLeft(); //d e petista ou seja vai pra esquerda
delay(700);  //uma pausa
while(!digitalRead(tecla2)){ //inverte o estado da tecla2
lcd.scrollDisplayLeft(); //d e petista ou seja vai pra esquerda
delay(100); //uma pausa
}
}
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos