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

Ir para baixo
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 1.17 Empty exercicio 1.17

Qui maio 28, 2020 9:39 am
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 1.17
* 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?
* Questáo2: Quando o pino de interrupção está configurado como CHANGE, em que condição o buzzer é acionado?
* 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?
*/

//DEFINICOES INICIAIS
#define ledPisca 6
#define ledintn 8
#define teclaInt 3

//DECLARAcAO DE VARIAVEIS


//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
digitalWrite(ledInt, HIGH);
}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(ledPisca, OUTPUT);
pinMode(ledint, OUTPUT):
pinMode(ledInt, OUTPUT);
attachInterrupt(0,sinaliza,FALLING):
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(ledPisca, HIGH)
delay(500);
digitalWrite(ledPisca, LOW):
delay(500);
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

exercicio 1.17 Empty Re: exercicio 1.17

Qui maio 28, 2020 9:52 pm
Lucca, Nos programas precisa dos comentários, sem eles tenho que descontar 5.0 pontos, conforme regra aplicada a todos.
Tem também 3 questões que devem ser respondidas.
Nota 2.0
lucca senn dallagassa
lucca senn dallagassa
Mensagens : 331
Data de inscrição : 09/03/2020
Idade : 17
Escola : Lindaura Ribeiro Lucas

exercicio 1.17 Empty Re: exercicio 1.17

Seg Jul 27, 2020 8:45 am
/*
* 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?os pinos D2 e D3
* Questão3: Quantos modos de interrupção podem ser configurados no arduino? 4 modos de interrupiçao
*/

//DEFINICOES INICIAIS
#define tecla A0//Definido que o pino A0 vai se chamar tecla
#define led1 3//Definido que o pino 3 vai se chamar led1
#define led2 5//Definido que o pino 5 vai se chamar led2

//DECLARAcAO DE VARIAVEIS
volatile bool estado = 0;//variavel para guardar o valor do estado

//FUNÇÕES INTERRUPÇÃO
void sinaliza (){
estado = !estado;//estado e igual a ele reverso
digitalWrite(led2, estado);//Definido que o led2 vai seguir a ordem do estado
}

//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla, INPUT_PULLUP);//Definido tecla como SAIDA
pinMode(led1, OUTPUT);//Definido led1 como SAIDA
pinMode(led2, OUTPUT);//Definido led2 como SAIDA
attachInterrupt(0,sinaliza, LOW);//quando eu apertar a tecla ele vai SINALIZAR
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led1, HIGH);//Definido que o led1 vai acender
delay(200);//Temporiza por 200 ms
digitalWrite(led1, LOW);//Definido que o led1 vai apagar
delay(200);//Temporiza por 200 ms
}
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

exercicio 1.17 Empty Re: exercicio 1.17

Seg Ago 03, 2020 8:36 pm
Agora ficou bonito. Parabéns. Nota 10.0
Conteúdo patrocinado

exercicio 1.17 Empty Re: exercicio 1.17

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