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.2 Empty Exercício 3.2

Dom Abr 11, 2021 11:30 am
/*
* CURSO DE ROBOTICA 2019
*
* Exercicio: 3.2
* Tema: Envia texto que identifica a tecla para o terminal
* Atividade: Usar 3 teclas para enviar texto ao terminal, quando teclar a tecla1 o terminal recebe "tecla1" e assim sucessivamente até a tecla3
* Descrição: Ligar as teclas em entradas digitais PULLUP, e abrir o monitor serial para receber o texto conforme tecla pressionada
* Hardware: ligar as teclas em entradas digitais
* Comandos: Serial.begin(9600); digitalRead();
* 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 " "
*/

//DEFINICOES INICIAIS
#define tecla1 3//Definido que o pino 3 irá se chamar tecla1
#define tecla2 5//Definido que o pino 5 irá se chamar tecla2
#define tecla3 6//Definido que o pino 6 irá se chamar tecla3

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

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//Porta serial inicializada com velocidade de 9600
pinMode(tecla1,INPUT_PULLUP); //programado a tecla como entrada, usando resistor de pull up
pinMode(tecla2,INPUT_PULLUP); //programado a tecla como entrada, usando resistor de pull up
pinMode(tecla3,INPUT_PULLUP); //programado a tecla como entrada, usando resistor de pull up
}

//FUNÇÕES COMPLEMENTARES

//PROGRAMA PRINCIPAL
void loop() {
if(digitalRead(tecla1) == 0){//Se a função for verdadeira, irá rodar o bloco abaixo
Serial.println("tecla1");//A mensagem entre parênteses será enviada para o monitor serial
while(digitalRead(tecla1) == 0);//Essa função irá controlar o envio da mensagem, fazendo que rode apenas uma vez
delay(tempo);//O intervalo de tempo será terá a duração do valor atribuído à variável tempo
}
if(digitalRead(tecla2) == 0){//Se a função for verdadeira, irá rodar o bloco abaixo
Serial.println("tecla2");//A mensagem entre parênteses será enviada para o monitor serial
while(digitalRead(tecla2) == 0);//Essa função irá controlar o envio da mensagem, fazendo que rode apenas uma vez
delay(tempo);//O intervalo de tempo será terá a duração do valor atribuído à variável tempo
}
if(digitalRead(tecla3) == 0){//Se a função for verdadeira, irá rodar o bloco abaixo
Serial.println("tecla3");//A mensagem entre parênteses será enviada para o monitor serial
while(digitalRead(tecla3) == 0);//Essa função irá controlar o envio da mensagem, fazendo que rode apenas uma vez
delay(tempo);//O intervalo de tempo será terá a duração do valor atribuído à variável tempo
}
}
BielRibas
BielRibas
Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura

Exercício 3.2 Empty Re: Exercício 3.2

Qui Abr 15, 2021 5:54 pm
Muito bem! O exercício funcionou corretamente! 10.0
Observação :
Creio eu que o println poderia nesse caso ser substituído pelo Serial.print("tecla1\n"); também.
(* Dica3: Enviar para o terminal \n para nova linha ou \r para retorno de carro)
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.2 Empty Re: Exercício 3.2

Seg Abr 19, 2021 11:58 pm
Nota publicada, obrigado Gabriel.
Com relação a observação do println, sua observação está correta, poderia ser \n, como o println, na pratica envia o \n no final do texto, fica ao gosto do programador.
Conteúdo patrocinado

Exercício 3.2 Empty Re: Exercício 3.2

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