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

Ir para baixo
NicolasToledo
NicolasToledo
Mensagens : 76
Data de inscrição : 02/03/2020
Idade : 17

Exercício 1.17 Empty Exercício 1.17

Ter Jul 28, 2020 1:23 pm
Código:
/*
 * 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?
 * Questão2: Quantos pinos de interrupção podem ser usados no arduino nano3?
 * Questão3: Quantos modos de interrupção podem ser configurados no arduino?
 */

 //DEFINICOES INICIAIS
#define ledPisca 3 //definido ledPisca no pino 3
#define tecla 2 //definido tecla no pino 2

//DECLARAcAO DE VARIAVEIS
const contador = 0; //variavel chamada contador

//FUNÇÕES INTERRUPÇÃO
void sinal() {
digitalWrite(ledPisca, contador); //valor do ledPisca definido pelo contador

//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //inicialização da porta serial
pinMode(ledPisca, OUTPUT); //ledPisca programado como saída
pinMode(tecla, INPUT_PULLUP); //tecla programada como entrada
attachInterrupt(0, sinal, FALLING); //interrupção do comando quando o estado do pino led for de 1 para 0
}

//PROGRAMA PRINCIPAL
void loop() {
digitalRead(ledPisca, contador); // //ledPisca programado com valor de contador
contador ++; //a cada pressionação da tecla o valor do contador aumenta
}



//QUESTOES
//1: Estado RISING.
//2: Dois pinos.
//3: Falling, Rising, Low, Change. 4 modos.
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

Exercício 1.17 Empty Re: Exercício 1.17

Qui Jul 30, 2020 10:00 pm
Nicolas, veja esse erro

teste:24:7: error: 'contador' does not name a type - Diz que na linha 24 tem em erro a ver com o contador, lembre que o simulide indica o erro com uma bolinha azul e uma setinha dentro

Na linha está assim:

const contador = 0; //variavel chamada contador

Não existe esse tipo de variável
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos