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

Ir para baixo
Sr.Sucrilhos
Sr.Sucrilhos
Mensagens : 103
Data de inscrição : 30/03/2022
Idade : 12
Escola : São Cristovão

Exercicio 3.8 Empty Exercicio 3.8

Ter Dez 12, 2023 2:48 pm
/*
* CURSO DE ROBOTICA 2021
*
* 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 ligadas 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() é necessário 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 variável 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
*/

//DEFINIÇÕES INICIAIS
#include // Incluir a biblioteca LiquidCrystal

#define tecla1 2
#define tecla2 3

//DECLARAÇÃO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(12, 13, 4, 5, 6, 7); // Variável global do tipo LiquidCrystal para o display

//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16, 2); // Inicializar o display com 16 colunas e 2 linhas
lcd.print("backrooms"); // Exibir o texto inicial
pinMode(tecla1, INPUT_PULLUP); // Configurar a tecla1 como entrada com pull-up interno
pinMode(tecla2, INPUT_PULLUP); // Configurar a tecla2 como entrada com pull-up interno
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
if (!digitalRead(tecla1)) {//se a tecla for pressionada éééé´ainda não sei heheh
lcd.scrollDisplayRight();//Deslocar o texto para a direita
delay(500);//delay 500ms
while (!digitalRead(tecla1)) {//enquanto a tecla estiver pressionada ou pressioanda por um tempo vai acontec... NUM SEI AINDA
lcd.scrollDisplayRight();//Continuar deslocando enquanto a tecla está pressionada
delay(100);//delay 100ms entre cada deslocamento
}
}

if (!digitalRead(tecla2)) {//se a tecla for pressionada éééé´ainda não sei heheh
lcd.scrollDisplayLeft();//Deslocar o texto para a esquerda
delay(500);//delay 500ms
while (!digitalRead(tecla2)) {//enquanto a tecla estiver pressionada ou pressioanda por um tempo vai acontec... NUM SEI AINDA
lcd.scrollDisplayLeft();//Continuar deslocando enquanto a tecla está pressionada
delay(100);//delay 100ms entre cada deslocamento
}
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercicio 3.8 Empty Re: Exercicio 3.8

Sex maio 17, 2024 8:03 pm
Não funcionou, o texto não aparece no display
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos