- Diogo Penha Marques
- Mensagens : 107
Data de inscrição : 29/02/2024
Idade : 14
Escola : Colégio Estadual da Colônia Murici
Diogo Saraiva Exercício 1.17
Qui Abr 18, 2024 4:28 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.17
* Tema: Interrupção
* Atividade: Incrementar um contador e enviar para porta serial usando interrupção
* Descrição: Fazer um pisca com o led vermelho e ligar uma tecla na interrupção. Quando interromper o processador incrementar uma variável e enviar pela porta serial
* 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, inicializar a serial
* 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: A interrupção serve para avisar o processador algum evento externo, pode ser usado para disparar uma rotina de tratamento
* Dica3: Para garantir a nota responda as questões abaixo:
* Questão1: Qual modo de interrupção que aciona o led quando a chave de interrupção muda de estado 0 para 1?RISING
* Questão2: Quantos pinos de interrupção podem ser usados no arduino nano3?2, eles sao: D2, D3
* Questão3: Quantos modos de interrupção podem ser configurados no arduino?4, eles sao: LOW, CHANGE, RISING, FALLING
*/
//DEFINICOES INICIAIS
#define teclaInt 2
#define led 3
#define ledInt 4
//DECLARAcAO DE VARIAVEIS
int soma = 0;
//FUNÇÕES INTERRUPÇÃO
void contador() {
digitalWrite(ledInt, HIGH);
soma++;
debug();
delay(500);
digitalWrite(ledInt, LOW);
}
//FUNÇOES
void debug() {
Serial.print("Contador = ");
Serial.println(soma);
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(teclaInt, INPUT_PULLUP);
pinMode(led, OUTPUT);
pinMode(ledInt, OUTPUT);
attachInterrupt(0, contador, FALLING);
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
delay(500);
}
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.17
* Tema: Interrupção
* Atividade: Incrementar um contador e enviar para porta serial usando interrupção
* Descrição: Fazer um pisca com o led vermelho e ligar uma tecla na interrupção. Quando interromper o processador incrementar uma variável e enviar pela porta serial
* 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, inicializar a serial
* 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: A interrupção serve para avisar o processador algum evento externo, pode ser usado para disparar uma rotina de tratamento
* Dica3: Para garantir a nota responda as questões abaixo:
* Questão1: Qual modo de interrupção que aciona o led quando a chave de interrupção muda de estado 0 para 1?RISING
* Questão2: Quantos pinos de interrupção podem ser usados no arduino nano3?2, eles sao: D2, D3
* Questão3: Quantos modos de interrupção podem ser configurados no arduino?4, eles sao: LOW, CHANGE, RISING, FALLING
*/
//DEFINICOES INICIAIS
#define teclaInt 2
#define led 3
#define ledInt 4
//DECLARAcAO DE VARIAVEIS
int soma = 0;
//FUNÇÕES INTERRUPÇÃO
void contador() {
digitalWrite(ledInt, HIGH);
soma++;
debug();
delay(500);
digitalWrite(ledInt, LOW);
}
//FUNÇOES
void debug() {
Serial.print("Contador = ");
Serial.println(soma);
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);
pinMode(teclaInt, INPUT_PULLUP);
pinMode(led, OUTPUT);
pinMode(ledInt, OUTPUT);
attachInterrupt(0, contador, FALLING);
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led, HIGH);
delay(500);
digitalWrite(led, LOW);
delay(500);
}
- Monica Moreno
- Mensagens : 744
Data de inscrição : 03/03/2020
Idade : 15
Escola : Colegio Lindaura Ribeiro Lucas
Re: Diogo Saraiva Exercício 1.17
Seg Jun 24, 2024 3:51 pm
Boa Tarde
Nota 40.0
Falta Comentar
Nota 40.0
Falta Comentar
- Diogo Penha Marques
- Mensagens : 107
Data de inscrição : 29/02/2024
Idade : 14
Escola : Colégio Estadual da Colônia Murici
Re: Diogo Saraiva Exercício 1.17
Qui Jun 27, 2024 2:10 pm
/*Monica Moreno escreveu:Boa Tarde
Nota 40.0
Falta Comentar
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.17
* Tema: Interrupção
* Atividade: Incrementar um contador e enviar para porta serial usando interrupção
* Descrição: Fazer um pisca com o led vermelho e ligar uma tecla na interrupção. Quando interromper o processador incrementar uma variável e enviar pela porta serial
* 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, inicializar a serial
* 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: A interrupção serve para avisar o processador algum evento externo, pode ser usado para disparar uma rotina de tratamento
* Dica3: Para garantir a nota responda as questões abaixo:
* Questão1: Qual modo de interrupção que aciona o led quando a chave de interrupção muda de estado 0 para 1?RISING
* Questão2: Quantos pinos de interrupção podem ser usados no arduino nano3?2, eles sao: D2, D3
* Questão3: Quantos modos de interrupção podem ser configurados no arduino?4, eles sao: LOW, CHANGE, RISING, FALLING
*/
//DEFINICOES INICIAIS
#define teclaInt 2//Nomeia o pino 2 de "teclaInt"
#define led 3//Nomeia o pino 3 de "led"
#define ledInt 4//Nomeia o pino 4 de "ledInt"
//DECLARAcAO DE VARIAVEIS
int soma = 0;//Variável do tipo int nomeado de "soma"
//FUNÇÕES INTERRUPÇÃO
void contador() {//Função chamada contador
digitalWrite(ledInt, HIGH);//Liga o ledInt
soma++;//Adiciona 1 a soma
debug();//Ativa a função debug
delay(500);//Tempo de espera de 500 ms
digitalWrite(ledInt, LOW);//Desliga o ledInt
}
//FUNÇOES
void debug() {//Função que mostra o valor de soma no monitor
Serial.print("Contador = ");//Mostra no monitor "Contador = "
Serial.println(soma);//Mostra no monitor o valor de soma
}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);//Inicia a porta serial
pinMode(teclaInt, INPUT_PULLUP);//Define teclaInt como entrada pressionável
pinMode(led, OUTPUT);//Define led como saída
pinMode(ledInt, OUTPUT);//Define ledInt como saída
attachInterrupt(0, contador, FALLING);//Se a tecla 0(pino 2/ teclaInt) for pressionada inicie a função interrupção contador
}
//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led, HIGH);//Liga led
delay(500);//Tempo de espera de 500 ms
digitalWrite(led, LOW);//Desliga led
delay(500);//Tempo de espera de 500 ms
}
Permissões neste sub-fórum
Não podes responder a tópicos