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

Ir para baixo
alvaro 123456
alvaro 123456
Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17

Tentativa do exercício 4.2     Empty Tentativa do exercício 4.2

Seg Set 21, 2020 8:05 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.2
* Tema: Vetor do terminal para display
* Atividade: Leitura dos numeros enviados pelo terminal e guardar em um vetor, depois mostrar os numeros no display
* Descrição: Declarar um vetor com 5 posições e usar uma função for() para leitura do terminale outra função for() para escrita no display
* Hardware: Montar o display e a porta serial para as entradas e saídas de dados
* Comandos: Serial.available(); Serial.read(); lcd.print(); for(); if();
* Dica1: String é uma variável que armazena um conjunto de diversos valores do mesmo tipo
* Dica2: Declaração do vetor int nome_vetor[tamanho]; tipo dos dados, no caso int. Nome do vetor identifica a variável. Entre conchetes vai o tamanho do vetor
* Dica3: para converter os dados recebidos da serial em inteiros pode ser usada a função Serial.parseInt()
* Dica4: Use planejar antes o fluxograma e o layout do display
*/

//DEFINICOES INICIAIS
#include  //Carrega a biblioteca do display


//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(7,6,5,4,3,2);//pinagem do display
int numero;
int vetor1[]{0,1,2,3,4,5};//vetor1 do tipo int sem tamanho inicializada com  5 valores
int count ;//variável para fazer a incrementação no programa
int ajuda;// variável do tipo int para ser descarregado nela o valor do vetor1
//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16, 2);//inicializa o display com 16 linhas e 2 colunas
Serial.begin(9600);//inicializa a porta serial com 9600
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
if(Serial.available() > 0) {//Se tiver carácter no buffer executa próxima parte fazer a leitura
numero = Serial.parseInt();//Faz a leitura do buffer e guarda na variável numero
lcd.clear();//Limpa o display e seta o cursor
count = 0;//Inicializa o contador com 0
count ++;//Incrementa o contador para passar para o próximo número
ajuda = vetor1;//Guarda na variável ajuda os valor do vetor1
}
if(numero = 5){// Se recebeu os 5 valores executa próxima função
lcd.print("números recebidos");//Escreve no display
 delay(500);//Tempo de 500ms
 lcd.clear();//Limpa o display e seta o cursor
}
for(count  = 0; count <=5; count++){//O contador começa com 0 vai fazer a leitura do vetor1
if( count = 5){//Se faz uma checa se o contador e igual a 5
 lcd.print(ajuda);//Escreve no display o valor de ajuda
 lcd.print("   ");//Vai dar um espaço
 lcd.clear();//Limpa o display e seta o cursor
}
}
}


Última edição por alvaro 123456 em Seg Abr 19, 2021 3:08 pm, editado 4 vez(es)

alvaro 123456 gosta desta mensagem

Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Sáb Nov 21, 2020 12:30 pm
Oi Alvaro,

Tem um monte de função aberta que não fechou as chaves, checa esses for(), revisa os blocos .
alvaro 123456
alvaro 123456
Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Seg Nov 30, 2020 4:28 pm
Arrumei
alvaro 123456
alvaro 123456
Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Sex Abr 09, 2021 7:16 pm
já fiz
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Qua Abr 14, 2021 11:51 pm
Alvaro, Voce precisa testar o programa, ele não está funcionando. Está publicando como arrumei e na verdade está bugado.

Vi um detalhe classico.

ajuda == vetor1;//Guarda na variável ajuda os valor do vetor1

Usou operador de comparação e na verdade deveria ser o de atribuição.

alvaro 123456 gosta desta mensagem

alvaro 123456
alvaro 123456
Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Ter Out 05, 2021 2:53 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.2
* Tema: Vetor do terminal para display
* Atividade: Leitura dos numeros enviados pelo terminal e guardar em um vetor, depois mostrar os numeros no display
* Descrição: Declarar um vetor com 5 posições e usar uma função for() para leitura do terminale outra função for() para escrita no display
* Hardware: Montar o display e a porta serial para as entradas e saídas de dados
* Comandos: Serial.available(); Serial.read(); lcd.print(); for(); if();
* Dica1: String é uma variável que armazena um conjunto de diversos valores do mesmo tipo
* Dica2: Declaração do vetor int nome_vetor[tamanho]; tipo dos dados, no caso int. Nome do vetor identifica a variável. Entre conchetes vai o tamanho do vetor
* Dica3: para converter os dados recebidos da serial em inteiros pode ser usada a função Serial.parseInt()
* Dica4: Use planejar antes o fluxograma e o layout do display
*/

//DEFINICOES INICIAIS
#include


//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(7,6,5,4,3,2);//pinagem do display
int vetor1[5];//vetor1 do tipo int sem tamanho inicializada com 5 valores
byte n;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16, 2);//inicializa o display com 16 linhas e 2 colunas
Serial.begin(9600);//inicializa a porta serial com 9600
coloca aqui uma mensagem pedindo o numero
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
if(Serial.available()) {//Se tiver carácter no buffer executa próxima parte fazer a leitura
vetor1[n] = Serial.parseInt();//Faz a leitura do buffer e guarda na variável numero
n ++; //até aqui tudo bem
coloca aqui mensagem pedindo oputro numero
//as cinco linhas abaixo não fazem sentido, pois se está recebendo os dados e incrementando o contador cada entrada vai para uma posição do vetor
if(n == 5){
for(n = 0; n < 5; n++){
lcd.setCursor(0,5);
lcd.print(vetor1[0]);
}
}
if(n = 5){ certo, se n é igual a 5 vai mostrar no display, só que não é assim que compara usou operador de atribuição
//Pensa comigo, se tem um vetor de 5 posições precisa correr as cinco posições, o que usa para ler um vetor?
lcd.setCursor(0,Cool;
lcd.print("contador ");
lcd.print(n);
lcd.setCursor(1,5);
lcd.print("veto1 ");
lcd.print(vetor1[0]);
delay(1000);
n = 0,0,0;

}
}
}
Acho que agora sim
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Ter Nov 02, 2021 11:11 pm
Oi Alvaro, ainda não rolou. Mas esse programa é simples.
Vou colocar orientações em vermelho no seu código
alvaro 123456
alvaro 123456
Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Qui Dez 09, 2021 3:14 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.2
* Tema: Vetor do terminal para display
* Atividade: Leitura dos numeros enviados pelo terminal e guardar em um vetor, depois mostrar os numeros no display
* Descrição: Declarar um vetor com 5 posições e usar uma função for() para leitura do terminale outra função for() para escrita no display
* Hardware: Montar o display e a porta serial para as entradas e saídas de dados
* Comandos: Serial.available(); Serial.read(); lcd.print(); for(); if();
* Dica1: String é uma variável que armazena um conjunto de diversos valores do mesmo tipo
* Dica2: Declaração do vetor int nome_vetor[tamanho]; tipo dos dados, no caso int. Nome do vetor identifica a variável. Entre conchetes vai o tamanho do vetor
* Dica3: para converter os dados recebidos da serial em inteiros pode ser usada a função Serial.parseInt()
* Dica4: Use planejar antes o fluxograma e o layout do display
*/

//DEFINICOES INICIAIS
#include //Biblioteca do display


//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(7,6,5,4,3,2);//pinagem do display
int numero[5];//vetor1 do tipo int sem tamanho inicializada com 5 valores
byte n;
//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16, 2);//inicializa o display com 16 linhas e 2 colunas
Serial.begin(9600);//inicializa a porta serial com 9600
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
 if(Serial.available()){//Se tiver algo na porta serial entra
   numero[n] = Serial.parseInt();// faz a leitura e guarda no vetor
   n ++;//incrementa as posições dos vetor
 if(n < 5){//se n for menor que 5 entra
   Serial.println("Digitos para a posição ");//imprime an porta serial
   Serial.println(n);                 //indica a posição que vai receber o numero, coloquei mais um porque no vetor a posição 0 considero a primrira
}    
 }
    if(n == 5) {//testa se n ja recebeu os cinco digitos
     lcd.clear();//limpa e seta o cursor
     lcd.print("Numero recebidos");//imprime na porta serial
           lcd.setCursor(2,1);//seta na posição linha 2, e coluna 1

   for(n = 0; n <= 4; n ++){//enqunto n for menor igual a 5, só que só vai contar até 4
     lcd.print(numero[n]);//imprime na porta serialo valor das posições do vetor
     lcd.print(" ");//imprime um espaço
    }
    n = 0;// reinicia o n
 }
 
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Sáb Mar 12, 2022 1:21 am
Oi Alvaro, muito bom, nota 10.0
Conteúdo patrocinado

Tentativa do exercício 4.2     Empty Re: Tentativa do exercício 4.2

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos