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

Ir para baixo
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

Exercício 3.1 Empty Exercício 3.1

Sáb Abr 10, 2021 11:46 am
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 3.1
* Tema: Enviar o texto "Alo Mundo!" para o terminal e quando receber um texto da serial acender um led
* Atividade: Usar o terminal receber um texto enviado pelo arduino equandoreceber um texto acender um led
* Descrição1: Configurar a porta serial e enviar o texto "Alo Mundo!" dentro da função setup()
* Descrição2: Monitorar o buffer e quando tiver um caractere acender um led indicando a chegada de caractere
* Hardware: Configurar a porta serial, que será a propria usada pelo cabo USB. Usar o terminal do arduino para receber o texto
* Comandos: Serial.begin(9600);
* Dica1: Para saber se existe caractere no buffer usar a função serial.available()
* Dica2: Usar os comandos Serial.print() e Serial.println() para enviar os dados para porta serial
* 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: O texto entre parenteses no comando Serial.print deve estar entre aspas duplas " "
* 7 00000111 U+0007 \a apito
* 8 00001000 U+0008 \b backspace
* 9 00001001 U+0009 \t tabulação
* 10 00001010 U+000A \n fim de linha
* 11 00001011 U+000B \v tab vertical
* 12 00001100 U+000C \f fim de página
* 13 00001101 U+000D \r carriage return
*/

//DEFINICOES INICIAIS
#define led 3//Definido que o pino 3 irá se chamar led

//DECLARAcAO DE VARIAVEIS GLOBAIS
int tempo=700;//Variável para ser atribuído o valor do tempo(0,7 segundos, no caso)

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//Porta serial inicializada
pinMode(led,OUTPUT);//Configurado o pino 3 como saída
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
Serial.println("Alo Mundo!");//A frase ente parênteses será enviada para o monitor serial, indo de uma linha para uma nova linha(assim fica mais organizado)
delay(tempo);//O intervalo de tempo será o valor atribuído a variável tempo
Serial.print(Serial.available());//Irá mostrar o tamanho do buffer na leitura
if(Serial.available()){//Se a expressão for verdadeira irá rodar o bloco abaixo
digitalWrite(led,HIGH);//O led irá acender
}
}
Thiaguin
Thiaguin
Mensagens : 176
Data de inscrição : 03/03/2020

Exercício 3.1 Empty Re: Exercício 3.1

Sáb Abr 10, 2021 11:48 am
Professor, inicialmente eu tinha usado essa expressão:
if(Serial.available()>0){
E ele rodou igual
bom, é a mesma coisa ou o jeito que você propôs é mais otimizado?
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

Exercício 3.1 Empty Re: Exercício 3.1

Qui Abr 15, 2021 12:01 am
Oi Thiago,

Quanto a pergunta o if funciona assim:
if(variávelComValorZero) //retorna FALSE porque o valor é zero
if(variavelComValorDiferenteDeZero) //retorna VERDADEIRO porque qualquer valor positivo ou negativo será considerado verdadeiro

então se fizer a comparação com maior que zero, nesse caso, vai fazer o processador rodar uma comparação a mais que faria se colocar somente a variável e o resultado seria o mesmo. Usamos a comparação se o numero comparado for diferente de zero,

Quanto ao exercício está correto. Nota 10.0
Conteúdo patrocinado

Exercício 3.1 Empty Re: Exercício 3.1

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