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 : 105
Data de inscrição : 30/03/2022
Idade : 12
Escola : São Cristovão

Exercicio 3.15 Empty Exercicio 3.15

Qua Jan 10, 2024 12:00 pm
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 3.15
* Tema: Caractere da serial para Display
* Atividade: Receber um caractere pela porta serial e apresenta o caractere no display e na serial
* Descrição: Usar o display e serial, testar os comandos write e print e checar a interpretação como caractere e como ASCII
* Hardware: Display ligado RS=>pino D12; EN=>pino D13; D4=>pino D4; D5=>pino D5; D6=>pino D6; D7=>pino D7, o terminal usa a porta USB do arduino
* Comandos: Serial.begin(9600); lcd.print(); lcd.write(); Serial.available(); Serial.print(); Serial.write();
* Dica1: A configuração da serial usa velocidade padrão de 9600, poderia ser alterado caso necessite maior performance
* Dica2: Na interface do arduino abrir o terminal em ferramentas - Monitor serial ou ctr+shift+M
* Dica3: Enviar para o terminal \n para nova linha ou \r para retorno de carro
* Dica4: Para enviar o caractere para a serial utilize os comandos Serial.print e Serial.write e veja as diferenças entre eles
* Dica5: Para enviar o caractere para o display utilize os comandos lcd.print(); e lcd.write()
* Dica6: Pesquise a tabela ASCII na internet e compare o resultado obtido e a forma que o processador interpreta os valores
*/

//DEFINICOES INICIAIS
#include


//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(12,13,4,5,6,7); //aaahh toda vez mais define os fios do display
byte caractere;// valor caractere com valor nulo ou 0 ;-;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//inicia a porta serial
lcd.begin(16,2);//inicial o display com 16 colunas e 2 linhas
Serial.print("digite uma letra ou numerozin");// printa "digite uma letra ou numerozin"
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
// Verifica se há dados disponíveis na porta serial
if (Serial.available() > 0) {
caractere = Serial.read();// Lê o primeiro caractere disponível na porta serial e armazena na variável 'caractere'
lcd.setCursor(0, 0); // Configura o cursor do LCD para a posição (0,0)
lcd.write("caractere"); // Escreve a string "caractere" no LCD (não exibe o valor real do caractere)
lcd.setCursor(0, 1); // Configura o cursor do LCD para a posição (0,1)
lcd.write(caractere); // Escreve o valor do caractere no LCD
lcd.setCursor(7, 1); // Configura o cursor do LCD para a posição (7,1)
lcd.print(caractere);// Imprime o valor do caractere no LCD novamente
Serial.write(caractere);// Envia o caractere de volta pela porta serial
//--------------------------------------------------------------------------------------------------------
// Imprime o caractere e um espaço pela porta serial
Serial.print(" ");
Serial.print(caractere);
//--------------------------------------------------------------------------------------------------------
Serial.print("\n"); // Imprime uma nova linha pela porta serial
Serial.print("digite uma letra ou numero"); // Imprime uma mensagem pela porta serial
delay(300);// Aguarda 300ms
}
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5788
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Exercicio 3.15 Empty Re: Exercicio 3.15

Sex maio 17, 2024 8:54 pm
Muito bom, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos