- alvaro 123456
- Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17
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
}
}
}
* 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
}
}
}
alvaro 123456 gosta desta mensagem
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 .
Tem um monte de função aberta que não fechou as chaves, checa esses for(), revisa os blocos .
- alvaro 123456
- Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17
Re: Tentativa do exercício 4.2
Seg Nov 30, 2020 4:28 pm
Arrumei
- alvaro 123456
- Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17
Re: Tentativa do exercício 4.2
Sex Abr 09, 2021 7:16 pm
já fiz
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.
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
- Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17
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,;
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
* 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,;
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
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
Vou colocar orientações em vermelho no seu código
- alvaro 123456
- Mensagens : 476
Data de inscrição : 27/04/2019
Idade : 17
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
}
}
* 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
}
}
Permissões neste sub-fórum
Não podes responder a tópicos
|
|