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

Ir para baixo
Daiana
Daiana
Mensagens : 24
Data de inscrição : 23/03/2022
Escola : Lindaura Ribeiro Lucas

exercício 1.16 Empty exercício 1.16

Qui Jun 23, 2022 2:49 pm
/*
* 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?
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?
* 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?
*/

//DEFINICOES INICIAIS
#define Tecla_Interrup 3 // Define que o pino 3 será uma tecla de interrupção
#define led 4 // O pino 4 passará a ser "led"
#define led_Interrupt 5// e "pino 5", "led_Interrupt"

//DECLARAcAO DE VARIAVEIS
byte Valor_led = 1;

//FUNÇÕES INTERRUPÇÃO
void sinaliza(){//Função de interrupção
digitalWrite(led_Interrupt, HIGH);//Led de interrupção ligará
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(Tecla_Interrup, INPUT_PULLUP); //Define a Tecla de Interrupção como INPUT_PULLUP
pinMode(led, OUTPUT);//Define o Led como OUTPUT
pinMode(led_Interrupt, OUTPUT);//Define o Led de Interrupção como OUTPUT
attachInterrupt(digitalPinToInterrupt(3), sinaliza, FALLING);//Define o pino 3/Tecla de Interrupção como um Interruptor no modo FALLING e roda o código da função de interrupção,
//RISING = de estado lógico 0 para 1, FALLING = de 1 para 0, CHANGE = de 0 a 1 ou 1 a 0, LOW = Apenas 0.
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led,HIGH);// O led ligará
delay(1000);// Haverá uma pausa de 1000 milessegundos
digitalWrite(led,LOW);// A led desligará
delay(1000); //Haverá outra pausa com o mesmo tempo do anterior
}
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercício 1.16 Empty Re: exercício 1.16

Ter Ago 02, 2022 11:15 pm
Oi Daiana, o programa funcionou, tem as questões do enunciado, mas fez um comentário que responde as questões. Então vou considerar. Nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos