Exercício 3.2
3 participantes
- Thiaguin
- Mensagens : 176
Data de inscrição : 03/03/2020
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
}
}
* 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
- Mensagens : 266
Data de inscrição : 27/02/2019
Idade : 18
Escola : Col. Lindaura
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)
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)
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.
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.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|