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
LucyAnna800
Mensagens : 98
Data de inscrição : 11/06/2022
Idade : 12
Escola : Colegio Lindaura Ribeiro Lucas

exercicio1.16 Empty exercicio1.16

Ter Nov 08, 2022 10:48 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 o pino muda de 0 a 1 ou vice-versa
* 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?
no Atachainterrupt
*/

//DEFINICOES INICIAIS
#define ledPisca 6
#define ledInt 7
#define teclaInt 2

//DECLARAcAO DE VARIAVEIS
bool estado = 0;

//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado;
digitalWrite(ledInt, estado);

}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca, OUTPUT);
pinMode(ledInt, OUTPUT);
pinMode(teclaInt, INPUT_PULLUP);
attachInterrupt(0,sinaliza,RISING);
}

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

exercicio1.16 Empty Re: exercicio1.16

Seg Nov 21, 2022 9:14 am
Bom Dia Lucy
Aguardo os comentários para dar a nota
avatar
LucyAnna800
Mensagens : 98
Data de inscrição : 11/06/2022
Idade : 12
Escola : Colegio Lindaura Ribeiro Lucas

exercicio1.16 Empty exercico 1.16 com os comentarios

Sáb Nov 26, 2022 9:48 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 o pino muda de 0 a 1 ou vice-versa
* 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?
no Atachainterrupt
*/

//DEFINICOES INICIAIS
#define ledPisca 6 //batizado o pino 6 de ledPisca
#define ledInt 7 //batizado o pino 7 de ledInt
#define teclaInt 2 //batizado o pino 2 de teclaInt

//DECLARAcAO DE VARIAVEIS
volatile bool estado = 0; //batizada a variavel volatile bool de estado

//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado; //estado = ao contrario de estado
digitalWrite(ledInt, HIGH); //ledInt aceso

}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca, OUTPUT); //ledPisca configurado como saida
pinMode(ledInt, OUTPUT); //ledInt configurado como saida
pinMode(teclaInt, INPUT_PULLUP); //teclaInt configurado como saida
attachInterrupt(0,sinaliza,LOW); //modo de interrupçao configurada como LOW
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledPisca, HIGH); //ledPisca aceso
delay(200); //tempo
digitalWrite(ledPisca, LOW); //ledPisca apagado
delay(200); //tempo

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

exercicio1.16 Empty Re: exercicio1.16

Sáb Nov 26, 2022 10:00 am
Bom Dia Lucy
Nota 10.0
Parabens
Voce gostou de testar todas as interrupçoes?
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

exercicio1.16 Empty Re: exercicio1.16

Sex Mar 03, 2023 10:21 pm
Parabéns Lucy, nota lançada.
Conteúdo patrocinado

exercicio1.16 Empty Re: exercicio1.16

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