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

Ir para baixo
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

Resolvido 1.16 Empty Resolvido 1.16

Qui Ago 19, 2021 10: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?

O ked comeca ligado e quando se preciona aa tecla o led apaga e quando depreciona a tecla fico com 5v e o led apagado e ao precionar o led acende para poder acender quando for depresionada tinha que sr RISING

* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?

o led ja inicia aceso quando precionar o led apaga e quando depresionar a tecla o led vai ser aceso
* 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?
noInterrupts();
*/

//DEFINICOES INICIAIS
#define ledPisca 6 //Definido que pino 6 vai se chamar"ledPisca"
#define teclaInt 2 //Definido que pino 2 vai se chamar"teclaInt"
#define ledInt 7 //Definido que pino 7 vai se chamar"ledInt"


//DECLARAcAO DE VARIAVEIS
volatile int estado = 0; //Variavel Int para controlar o tempo

//FUNÇÕES INTERRUPÇÃO
void sinaliza() {
estado = !estado;//inverte o estoda se esta positivo passa para negativo se esta negativo passa para positivo
digitalWrite(ledInt, estado); //Vai mostrar seu estado do led
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca,OUTPUT); //Programado ledPisca como Saida
pinMode(ledInt,OUTPUT); //Programado ledInt como Saida
pinMode(teclaInt,INPUT_PULLUP) ; //Programado teclaInt como INPUT_PULLUP
attachInterrupt(0,sinaliza, CHANGE); //Quando a tecla vir a zero roda a rotina(ISR) que é o sinaliza
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite (ledPisca,HIGH); //Acende o ledPisca
delay(300); // Faz uma pausa
digitalWrite(ledPisca,LOW);//Apaga o ledPisca
delay(300); // Faz uma pausa
}

Bom Dia queen study afro lol! flower


Última edição por Monica Moreno em Seg maio 06, 2024 3:02 pm, editado 1 vez(es)
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

Resolvido 1.16 Empty Re: Resolvido 1.16

Qui Set 02, 2021 9:59 pm
Muito bom Monica nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos