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

Ir para baixo
Lucasbazza
Lucasbazza
Mensagens : 68
Data de inscrição : 05/03/2024
Idade : 11
Escola : Escola Estadual Colonia Murici

1.16 EXERcICIO Empty 1.16 EXERcICIO

Sáb maio 18, 2024 8:56 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?
*R:presionada
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição a interrupção é acionada?
*R:quado presiona e novamente quando depresiona
* 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?
*R:detachinterrupt
attachInterrupt // eterompe
*/

//DEFINICOES INICIAIS
#define ledP 5//define como ledP
#define ledI 6//define como ledI
#define tacla 2//define como tacla

//DECLARAcAO DE VARIAVEIS
volatile bool estado = 0;//variavel bool nomea estado


//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado =!estado;//valor etado=estado contrario
digitalWrite(ledI, estado);//led= valor estado
}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledP, OUTPUT);//programa como saida
pinMode(ledI, OUTPUT);//programa como saida
pinMode(tacla, INPUT_PULLUP);//programa como entrada
attachInterrupt(0,sinaliza,LOW);//interonpe com causa LOW
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledP, HIGH);//açende
delay(599);//temporia
digitalWrite(ledP, LOW);//apaga
delay(599);//temporiza
}

Like a Star @ heaven alien bounce rendeer cherry lol!
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5798
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

1.16 EXERcICIO Empty Re: 1.16 EXERcICIO

Seg Set 02, 2024 8:45 pm
Muito bom Lucas, exercício funcionou e as respostas corretas, nota 10.0
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos