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

Ir para baixo
P Gabriel
P Gabriel
Mensagens : 97
Data de inscrição : 26/07/2021
Idade : 13
Escola : Hebert de Souza EFM

EXERCÍCIO 3.07 RESOLVIDO PAULO Empty EXERCÍCIO 3.07 RESOLVIDO PAULO

Qua Nov 29, 2023 9:22 am
/*
* CURSO DE ROBOTICA 2023
*
* Exercicio: 3.7
* Tema: Desloca texto no Display
* Atividade: Realizar a instalação do display e enviar o texto sugerido, configurar duas teclas para deslocar o texto para esquerda e direita
* 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();
* 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();
*/

//DEFINICOES INICIAIS
#include  //carrega a biblioteca com as funções do display
#define jossa 2//era pra ser joça, mas ç não dá certo no programa
#define baguio 3//define baguio no programa como pino 3

//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal doidjo(12,13,4,5,6,7);//setup conforme as ligações realizadas RS-EN-D4-D5-D6-D7

//INICIALIZAÇÃO DO HARDWARE
void setup() {
 doidjo.begin(16, 2);//inicializa o display configurado como 16 colunas e 2 linhas
 doidjo.print("CuiabaFC");// manda o texto Cuiaba pro display
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
if(!digitalRead(baguio)){//se a tecla da direita tiver pressionada, vai..
 doidjo.scrollDisplayRight();//...mover o texto pra direita
 while(!digitalRead(baguio)){//enquanto a tecla tiver pressionada, vai...
   delay(10);//...dar uma pausa de dez milissegundos
 }
}
if(!digitalRead(jossa)){//se a tecla da direita tiver pressionada, vai..
 doidjo.scrollDisplayLeft();//...mover o texto pra esquerda
 while(!digitalRead(jossa)){//enquanto a tecla tiver pressionada, vai...
   delay(10);//...dar uma pausa de dez milissegundos
 }
}
}


Última edição por P Gabriel em Sáb maio 04, 2024 10:40 am, editado 1 vez(es)
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

EXERCÍCIO 3.07 RESOLVIDO PAULO Empty Re: EXERCÍCIO 3.07 RESOLVIDO PAULO

Sáb maio 04, 2024 9:52 am
Oi Paulo, o comando de leitura das teclas é digitalRead , esse é o erro que esta dando no programa.
Dai uma coisa que tenho para te falar, tem uma convenção para nomes de variáveis. Que basicamente orienta os programadores a usarem nomes associados as funções das variáveis.
Apesar de funcionarem com qualquer nome, uma boa pratica ;é usar nomes que associem a sua aplicação.
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos