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

Ir para baixo
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

Aula 4.02 - Função parseInt() Ex 4.2 Empty Aula 4.02 - Função parseInt() Ex 4.2

Sex Abr 17, 2020 3:04 am
Segue link da videoaula:

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Conteúdo da aula:

Função parseInt()
Exemplos de aplicação
Explicação sobre o Exercício 4.02
Fluxograma do exercício 4.02
BielRibas
BielRibas
Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura

Aula 4.02 - Função parseInt() Ex 4.2 Empty Re: Aula 4.02 - Função parseInt() Ex 4.2

Seg Abr 20, 2020 2:07 pm
Professor não entendi muito bem como implementar o comando...
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

Aula 4.02 - Função parseInt() Ex 4.2 Empty Re: Aula 4.02 - Função parseInt() Ex 4.2

Ter Abr 21, 2020 11:53 pm
Na videoaula fiz a implantação do comando e o resultado foi para uma variável.
Precisa somente finalizar o programa conforme fluxograma.
Se não entendeu o parseInt() preciso que seja mais específico com o que não entendeu sobre o comando.
BielRibas
BielRibas
Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura

Aula 4.02 - Função parseInt() Ex 4.2 Empty Re: Aula 4.02 - Função parseInt() Ex 4.2

Sex Abr 24, 2020 3:27 pm
"Precisa somente finalizar o programa conforme fluxograma."
foi isso que fiquei em dúvida !
Código:
/*
* 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 <LiquidCrystal.h>

//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(7,6,5,4,3,2);
int numero;
int vetor[5] = {0};
int count = 0;

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
}

//FUNÇÕES COMPLEMENTARES
void debug(){

Serial.print("numero posicao ");
Serial.print(count);
Serial.print(" = ");
Serial.println(numero);
}

//PROGRAMA PRINCIPAL
void loop() {
if(Serial.available()>0){
numero = Serial.parseInt();
debug();
lcd.print("numeros =");
count ++;
if(count>4)count = 0;
for(byte i = 0; i<=4; i++){
lcd.print(numero);


}
delay(100);
} }


tentei implementar ,no caso esse a cima , porém estou com dúvida no contador
(Esse a cima está meio errado .)
também fiquei em dúvida na hora de testar se ele já recebeu os 5 caracteres.
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

Aula 4.02 - Função parseInt() Ex 4.2 Empty Re: Aula 4.02 - Função parseInt() Ex 4.2

Sex Abr 24, 2020 9:50 pm
Gabriel, Tem duas abordagens na sua dúvida, uma sobre o funcionamento da função parseInt() e outra relativa a resolução do seu exercício.
Neste tópico tratamos sobre temas referente ao exercício de uma forma global, como duvidas de entendimento, correções de enunciado, dicas de resolução. Assim como a pergunta sobre de identificação dos caracteres recebidos.

Já sobre a duvida sobre o programa vou pedir que publique o exercício no seu grupo, daí faço as correções.
No seu grupo tratamos dos assuntos relacionados ao seu programa de forma específica. blz..

Então sobre o funcionamento da função segue abaixo uma explicação:
1 - Se mandar pelo terminal os seguintes caracteres "1234"
a) a função parseInt() converte esses caracteres no numero hum mil duzentos e trinta e quatro
b) o buffer da porta serial fica com o valor 1, poi não tem mais 4 caracteres mas sim um número, então se rodar o Serial.available() vai vir o valor 1
2 - Se mandar pelo terminal os caracteres "a1234c" ( ou qualquer letras antes e depois dos números
a) a função parseInt() descarta os caracteres de alfabéticos ou simbolos e converte os caracteres numéricos no número hum mil duzentos e trinta e quatro
b)o buffer da porta serial fica com o valor 1, poi não tem mais 4 caracteres mas sim um número, então se rodar o Serial.available() vai vir o valor 1
3 - Se mandar pelo terminal os caracteres "a1234hhghj5678asdre90"
a) a função parseInt() remove as primeiras letras e recupera o número hum mil duzentos e trinta e quatro
b) a função serial.available() fica com o valor 1 , pois tem esse número na porta serial
c) depois a função parseInt() remove as letras "hhghj" e recupera o número cinco mil seicentos e setenta e oito
d) a função serial.available() fica com o valor 1 , pois tem esse número na porta serial
e) depois a função parseInt() remove as letras "asdre" e recupera o número noventa
f) o buffer da porta serial volta a ficar com o valor 1 e novamente o Serial.available() notifica a chegada de um número
e) Resumindo se mandar essa string vai receber 3 números recuperados

Agora sobre o exercício:
Toda vez o buffer é maior que zero roda a função que le o dado da porta serial e incrementa o contador "count" indicando que recebeu um caractere, quando ele chegar a 5 é porque recebeu os cinco números.
Conteúdo patrocinado

Aula 4.02 - Função parseInt() Ex 4.2 Empty Re: Aula 4.02 - Função parseInt() Ex 4.2

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