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

Ir para baixo
Gabriel Novak
Gabriel Novak
Mensagens : 65
Data de inscrição : 12/03/2022
Idade : 99
Escola : Colegio Esatadual Professor Lindaura Ribeiro Lucas

exercicio 1.16 Empty 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
} Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Very Happy Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile Smile


Última edição por Gabriel Novak em Sáb Set 17, 2022 9:20 am, editado 1 vez(es)

Gabriel Novak gosta desta mensagem

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

exercicio 1.16 Empty 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?
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos