exercicio 1.16
2 participantes
- Gabriel Novak
- Mensagens : 65
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas
exercicio 1.16
Sáb Ago 13, 2022 9:08 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.16
* Atividade: Testar as 4 formas de interrupção e seus comportamentos
* Descrição: Montar um pisca e quando pressionar uma tecla, interromper o arduino e acender outro led
* Hardware: Ligar uma tecla em D2 configurado como ENTRADA PULLUP e programa-la como interrupção, em outro pino digital um led configurado como SAÍDA e noutro pino o segundo LED
* Comandos: pinMode, digitalRead, digitalWrite, PULLUP, attachInterrupt
* Dica1: Use no modo de interrupção as opções LOW, CHANGE, RISING, FALLING e disserte sobre o comportamento de cada uma delas.
* Dica2: Para garantir a nota responda as questões abaixo:
* Questão1: Quando o pino de interrupção está configurado como FALLING, o buzzer é acionado quando a tecla2 for pressionada ou depressionada?
* depressionada
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?
* quando pressionado
* Questão3: Caso em determinado trecho do programa não seja mais necessário tratar as interrupções qual o comando deve ser usado no programa?
* delay
*/
//DEFINICOES INICIAIS
#define ledPisca 6 //nomear pino 6 como "ledPisca"
#define ledInt 7 //nomear pino 7 como "ledInt"
#define teclaInt 2 //nomear pino 2 como "teclaInt"
//DECLARAcAO DE VARIAVEIS
bool estado = 0;
//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado;//estado = estado inverso
digitalWrite(ledInt,estado);//ledInt estado
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca, OUTPUT);//definir ledPisca como saida
pinMode(ledInt, OUTPUT);//definir ledInt como saida
pinMode(teclaInt , INPUT_PULLUP);//definir teclaInt como entrada
attachInterrupt(0,sinaliza,LOW);
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledPisca,HIGH);//acende ledPisca
delay(500);//delay de 500 ms
digitalWrite(ledPisca,LOW);//apagar ledPisca
delay(500);//delay de 500 ms
}
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.16
* Atividade: Testar as 4 formas de interrupção e seus comportamentos
* Descrição: Montar um pisca e quando pressionar uma tecla, interromper o arduino e acender outro led
* Hardware: Ligar uma tecla em D2 configurado como ENTRADA PULLUP e programa-la como interrupção, em outro pino digital um led configurado como SAÍDA e noutro pino o segundo LED
* Comandos: pinMode, digitalRead, digitalWrite, PULLUP, attachInterrupt
* Dica1: Use no modo de interrupção as opções LOW, CHANGE, RISING, FALLING e disserte sobre o comportamento de cada uma delas.
* Dica2: Para garantir a nota responda as questões abaixo:
* Questão1: Quando o pino de interrupção está configurado como FALLING, o buzzer é acionado quando a tecla2 for pressionada ou depressionada?
* depressionada
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?
* quando pressionado
* Questão3: Caso em determinado trecho do programa não seja mais necessário tratar as interrupções qual o comando deve ser usado no programa?
* delay
*/
//DEFINICOES INICIAIS
#define ledPisca 6 //nomear pino 6 como "ledPisca"
#define ledInt 7 //nomear pino 7 como "ledInt"
#define teclaInt 2 //nomear pino 2 como "teclaInt"
//DECLARAcAO DE VARIAVEIS
bool estado = 0;
//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado;//estado = estado inverso
digitalWrite(ledInt,estado);//ledInt estado
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca, OUTPUT);//definir ledPisca como saida
pinMode(ledInt, OUTPUT);//definir ledInt como saida
pinMode(teclaInt , INPUT_PULLUP);//definir teclaInt como entrada
attachInterrupt(0,sinaliza,LOW);
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledPisca,HIGH);//acende ledPisca
delay(500);//delay de 500 ms
digitalWrite(ledPisca,LOW);//apagar ledPisca
delay(500);//delay de 500 ms
}
Gabriel Novak gosta desta mensagem
Re: exercicio 1.16
Qua Ago 17, 2022 11:26 pm
Gabriel, o programa está correto mas as respostas estão erradas. Voce testou as 4 formas de interrupção no programa?
Permissões neste sub-fórum
Não podes responder a tópicos
|
|