exercicio 1.16
2 participantes
- gabriel hoepers
- Mensagens : 121
Data de inscrição : 02/07/2022
Idade : 12
Escola : lindaura
exercicio 1.16
Ter Set 13, 2022 11:17 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?
* depressionado
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?
* quando ele 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?
* no attacInterrupt
*/
//DEFINICOES INICIAIS
#define ledpisca 6 //programado que o pino6 se chamará ledpisca
#define ledInt 7 //programado que o pino7 se chamará ledInt
#define teclaInt 2 //programado que o pino2 se chamará teclaInt
//DECLARAcAO DE VARIAVEIS
volatile bool estado = 0; //variavel bool com o valor de 0
//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado; //estado = estado negativo
digitalWrite(ledInt, HIGH); //ledInt aceso
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledpisca, OUTPUT); //ledpisca programado como saída
pinMode(ledInt, OUTPUT); //ledInt programado como saída
pinMode(teclaInt,INPUT_PULLUP); //teclaInt programado como entrada
attachInterrupt(0,sinaliza,LOW); //funcão de interrupcão com a funcão LOW
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledpisca, HIGH); //ledpisca ligado
delay(200); //tempo de 200 milicegundos
digitalWrite(ledpisca, LOW); //ledpisca desligado
delay(200); //tempo de 200 milicegundos
}
* 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?
* depressionado
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?
* quando ele 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?
* no attacInterrupt
*/
//DEFINICOES INICIAIS
#define ledpisca 6 //programado que o pino6 se chamará ledpisca
#define ledInt 7 //programado que o pino7 se chamará ledInt
#define teclaInt 2 //programado que o pino2 se chamará teclaInt
//DECLARAcAO DE VARIAVEIS
volatile bool estado = 0; //variavel bool com o valor de 0
//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado = !estado; //estado = estado negativo
digitalWrite(ledInt, HIGH); //ledInt aceso
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledpisca, OUTPUT); //ledpisca programado como saída
pinMode(ledInt, OUTPUT); //ledInt programado como saída
pinMode(teclaInt,INPUT_PULLUP); //teclaInt programado como entrada
attachInterrupt(0,sinaliza,LOW); //funcão de interrupcão com a funcão LOW
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledpisca, HIGH); //ledpisca ligado
delay(200); //tempo de 200 milicegundos
digitalWrite(ledpisca, LOW); //ledpisca desligado
delay(200); //tempo de 200 milicegundos
}
Re: exercicio 1.16
Qua Set 14, 2022 12:18 am
Gabriel, tenho quase certeza que exercício foi copiado, minha pergunta é se pelo menos testou esse programa, e pergunto o que aprendeu sobre a interrupção e que nota voce quer?
_________________
Paulo Augusto Batista
Tecnologia a Favor do Ensino, Educação para nossas crianças, Evolução para Nossa Sociedade
Permissões neste sub-fórum
Não podes responder a tópicos
|
|