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

Ir para baixo
avatar
Miguel Englerth
Mensagens : 96
Data de inscrição : 18/03/2023
Escola : Lindaura Ribeiro Lucas

Miguel Englerth exercicio 3.8 resolvido Empty Miguel Englerth exercicio 3.8 resolvido

Qui Abr 25, 2024 1:28 pm
/*
* 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 com as funçoes do display
#define teclaD 2 //configuraçao do pino 2 que ira se chamar teclaD
#define teclaE 3 //configuraçao do pino 3 que ira se chamar teclaE
//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(12,11,10,9,8,7); //Setup conforme as ligaçoes realizadas RS - EN - D4 - D5 - D6 - D7

//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16, 2); //Inicializa o display configurado como 16 colunas e 2 linhas
lcd.print("Bora Jogar!"); //escreve um dado no display
pinMode(teclaD, INPUT_PULLUP); //programa a teclaD como saida
pinMode(teclaE, INPUT_PULLUP); //programa a teclaE como saida
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
if(!digitalRead(teclaD)){ //quando for verdadeira mandar para o bloco de instruçoes
lcd.scrollDisplayRight(); //cada vez ao ser apertada ira uma casa a direita no display
delay(500); //tempo de espera
while(!digitalRead(teclaD)){ //bloco de instruçao
lcd.scrollDisplayRight(); //cada vez ao ser apertada ira uma casa a direita no display
delay(300); //tempo de espera
}
}
if(!digitalRead(teclaE)){ //quando for verdadeira mandar para o bloco de instruçoes
lcd.scrollDisplayLeft(); //cada vez ao ser apertada ira uma casa a esquerda no display
delay(500); //tempo de espera
while(!digitalRead(teclaE)){ //bloco de instruçao
lcd.scrollDisplayLeft(); //cada vez ao ser apertada ira uma casa a esquerda no display
delay(300); //tempo de espera
}
}
}
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Miguel Englerth exercicio 3.8 resolvido Empty Re: Miguel Englerth exercicio 3.8 resolvido

Seg Abr 29, 2024 3:16 pm
Boa Tarde Miguel, nota 10.0 parabens
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos