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

Ir para baixo
gabriel hoepers
gabriel hoepers
Mensagens : 129
Data de inscrição : 02/07/2022
Idade : 12
Escola : lindaura

exercicio 1.17 Empty exercicio 1.17

Qui Set 22, 2022 10:53 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?
* 3 D2 D3 D4
* Questão3: Quantos modos de interrupção podem ser configurados no arduino?
* podem ser configurados 4 pinos de interrupção
*////

//DEFINICOES INICIAIS
#define danoni 2 //definido ue o pino digital 2 se chamará "danoni"
#define iogurte A0 //definido ue o pino digital 2 se chamará "iogurte"
#define obama 3 // definido que

//DECLARAcAO DE VARIAVEIS
bool estado = 0;  // variavel bool como valor de 0

//FUNÇÕES INTERRUPÇÃO
void sinaliza(){
estado =!estado; //estado = estado negativo
digitalWrite(obama, estado);  //programado obama como "estado"

}


//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //porta serial aberta
pinMode(iogurte, OUTPUT); //"iogurte" programado como saída
pinMode(danoni, OUTPUT); //"danoni" programado como saída
pinMode(obama, INPUT_PULLUP); //"obama" programado como entrada
attachInterrupt(0,sinaliza,RISING); //interrupcão RISINGcom a funcão sinaliza
}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(danoni, HIGH); //danoni ligada
delay(200); //tempo de 200 milicegundos
digitalWrite(danoni, LOW); //danoni desligada
delay(200); //tempo de 200 milicegundos
}


Última edição por gabriel hoepers em Sáb Abr 20, 2024 8:59 am, editado 1 vez(es)
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

exercicio 1.17 Empty Re: exercicio 1.17

Qui Set 22, 2022 9:59 pm
Então Gabriel, como recebeu ajuda dele e a nota dele foi 5.0, vai para vc também.
Outra coisa já tinha feito o exercício e tirou nota 6.0, vou baixar
Outro detalhe:
ATENÇÃO - ATENÇÃO - NAO CRIE NOVO TÓPICO QUANDO RESPONDER UM EXERCÍCIO SOMENTE RESPONDA O JÁ CORRIGIDO - ATENÇÃO - ATENÇÃO
Cade as orientações que te passei? deveriam estar no tópico, facilita a correção

gabriel hoepers
gabriel hoepers
Mensagens : 129
Data de inscrição : 02/07/2022
Idade : 12
Escola : lindaura

exercicio 1.17 Empty exercicio 1.17 resolvido

Sáb Out 22, 2022 11:21 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?
2, d2 e d3
* Questão3: Quantos modos de interrupção podem ser configurados no arduino?
4
*/

//DEFINICOES INICIAIS
#define led 3//definido que o pino 3 sera como "led"
#define tecla 2//definido que o pino 2 sera como "tecla"
//DECLARAcAO DE VARIAVEIS
int tempo = 0;// vareavel int como tempo

//FUNÇÕES INTERRUPÇÃO
void contador(){
tempo ++;//vareavel tempo + 1

Serial.print("tempo =");//colocar "tempo =" para ficar " tempo = 1"
Serial.println(tempo);//mostrar no monitor porta serial a variavel tempo

}
//INICIALIZAÇÃO DO HARDWARE
void setup() {
pinMode(tecla, INPUT_PULLUP);//definir tecla como entrada
pinMode(led, OUTPUT);//definir led como saida
Serial.begin(9600);//abrir porta cereal
attachInterrupt(0, contador, RISING);//quando precionar o a tecla ira rodar o void contador


}

//PROGRAMA PRINCIPAL
void loop() {
digitalWrite(led,HIGH);//acender led
delay(200);//delay de 200 milicegundos
digitalWrite(led,LOW);//acender led
delay(200);//delay de 200 milicegundos

}
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

exercicio 1.17 Empty Re: exercicio 1.17

Qua Nov 02, 2022 10:29 am
Oi Gabriel, Agora sim tudo perfeito, Exercício no lugar certo, programa perfeito, comentários claros e corretos. Essa é a merecida Nota 10.0 . Parabens!!!!
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