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

Ir para baixo
avatar
FranciscoAlflen
Mensagens : 41
Data de inscrição : 29/07/2023
Escola : Lindaura Ribeiro Lucas

exercicio 1.16 Empty exercicio 1.16

Ter Nov 07, 2023 8:30 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 a interrupção é acionada?
* quando vai de 0 a 1
* 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?
*o attachInterrupt
*/

//DEFINICOES INICIAIS
#define ledPisca 6//pino nomeado como led
#define ledInt 7//pino nomeado como led
#define teclaInt 2//tecla nomeada como 2

//DECLARAcAO DE VARIAVEIS
volatile bool estado = 0;//define que o estado do bool e igual a 0



//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado;//define a negaçao do estado
digitalWrite(ledInt, estado);//definido que o led vai ser interrompido
}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca, OUTPUT);//led definido como saida
pinMode(ledInt, OUTPUT);//led definido como saida
pinMode(teclaInt, INPUT_PULLUP);//define que a tecla de interrupçao como entrada
attachInterrupt(0,sinaliza,RISING);//comando escolhido para interrupçao
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledPisca, HIGH);//define que o led vai ligar
delay(500);//uma pausa
digitalWrite(ledPisca, LOW);//define que o led vai desligar
delay(500);//uma pausa
}
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

exercicio 1.16 Empty Re: exercicio 1.16

Qua Nov 08, 2023 3:11 pm
Bom Dia
Tudo Bem?

Nota 10.0
Parabens
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5115
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 1.16 Empty Re: exercicio 1.16

Ter Dez 05, 2023 11:45 pm
Nota lançada
Conteúdo patrocinado

exercicio 1.16 Empty Re: exercicio 1.16

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