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
joao victor carmona
Mensagens : 47
Data de inscrição : 18/03/2023
Escola : Colegio Professora lindaura ribeiro lucas

ex 1.16 resolvido Empty ex 1.16 resolvido

Ter Set 19, 2023 8:37 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?
presionada
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição a interrupção é acionada?
mais rapida
* 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?
sinalizaq
*/

//DEFINICOES INICIAIS
#define ledpisca1 6 //define que o pino 6 se chama ledpisca
#define ledint4 7//define que o pino 7 se chama ledint
#define teclaint3 2//define que o pino 2 se chama teclaint

//DECLARAcAO DE VARIAVEIS


//FUNÇÕES INTERRUPÇÃO
void sinaliza() {
digitalWrite(ledint4, HIGH); //define que led sera interrompido
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledpisca1, OUTPUT);//define que o ledpisca repetira o programa
pinMode(ledint4, OUTPUT);//define que o ledint repetira o programa
pinMode(teclaint3, OUTPUT);//define que o teclaint repetira o programa
attachInterrupt(0,sinaliza,CHANGE); //define que o led que esta escrito em void sinaliza
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledpisca1, HIGH);//define que o led estara ligado
delay(300);//define o tempo que o led estara ligado ou desligado
digitalWrite(ledpisca1, LOW);//define que o led estara desligado
digitalWrite(ledint4, HIGH);//define que o led estara ligado
delay(300);//define o tempo que oo led estara ligado ou desligado
digitalWrite(ledint4, LOW);//define que o led estara desligado
}
Monica Moreno
Monica Moreno
Mensagens : 685
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas

ex 1.16 resolvido Empty Re: ex 1.16 resolvido

Qui Set 21, 2023 7:31 pm
Bom Dia
Tudo Bem?

Erros / Revisões / Perguntas
1° Falta um comando

Nota 50.0
Aguardo Terminar
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

ex 1.16 resolvido Empty Re: ex 1.16 resolvido

Dom Set 24, 2023 8:52 pm
Nota lançada
avatar
joao victor carmona
Mensagens : 47
Data de inscrição : 18/03/2023
Escola : Colegio Professora lindaura ribeiro lucas

ex 1.16 resolvido Empty ex 1.17 corrigido

Sáb Out 07, 2023 8:51 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?
presionada
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição a interrupção é acionada?
mais rapida
* 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?
sinalizaq
*/

//DEFINICOES INICIAIS
#define ledpisca1 6 //define que o pino 6 se chama ledpisca
#define ledint4 7//define que o pino 7 se chama ledint
#define teclaint3 2//define que o pino 2 se chama teclaint

//DECLARAcAO DE VARIAVEIS
bool estado = 0;

//FUNÇÕES INTERRUPÇÃO
void sinaliza() {
digitalWrite(ledint4, HIGH); //define que led sera interrompido
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledpisca1, OUTPUT);//define que o ledpisca repetira o programa
pinMode(ledint4, OUTPUT);//define que o ledint repetira o programa
pinMode(teclaint3, OUTPUT);//define que o teclaint repetira o programa
attachInterrupt(0,sinaliza,CHANGE); //define que o led que esta escrito em void sinaliza
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledpisca1, HIGH);//define que o led estara ligado
delay(300);//define o tempo que o led estara ligado ou desligado
digitalWrite(ledpisca1, LOW);//define que o led estara desligado
digitalWrite(ledint4, HIGH);//define que o led estara ligado
delay(300);//define o tempo que oo led estara ligado ou desligado
digitalWrite(ledint4, LOW);//define que o led estara desligado
}
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

ex 1.16 resolvido Empty Re: ex 1.16 resolvido

Sáb Nov 25, 2023 9:21 am
Oi João, o programa precisa de um ajuste, pois o pino de interrupção ligado a um led precisa do pullup para alimentar a tecla.
Quanto ao poisca, esta usando o led de interrupção, até ;pode usar dessa forma, mas vai tornar mais dificil a percepção do funcionamento do programa.
Nota 6.0
Conteúdo patrocinado

ex 1.16 resolvido Empty Re: ex 1.16 resolvido

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