Projetos Arduino
Controlo e Electrónica Industrial
Controlo de servomotores e programação de interrupções
Ficha 3
Ano letivo 2014-15
18353, Jorge Rodrigues 14048, Ricardo Silvestre 11592, Tiago Carvalho E: jorgedrodrigues@gmail.com E: ricardosilvestre89@hotmail.com E: email@xxx.xxx
Contents
Controlo de servomotores e programação de interrupções 3
Objectivo 3
Questão 1 3
Esquemático 3
Fluxogramas 4
Código 4
Questão 2 5
Esquemático 5
Fluxogramas 5
Código 6
Questão 3 6
Esquemático 7
Fluxogramas 7
Código 8
Controlo de servomotores e programação de interrupções
Objetivo
O objetivo deste trabalho é desenvolver uma aplicação embebida, utilizando um microcontrolador AVR ATmega328, que implemente o controlo de um servo motor e faça uma introdução às interrupções.
Questão 1
Descrição: Elaborar uma interrupção externa que conte o número de vezes que um interruptor é ativado. O sistema de interrupção deve reagir ao flanco ascendente.
Esquemático
Software utilizado para desenhar esquemático: Fritzing.
Figura 1 – Esquemático correspondente à questão 1.
Fluxogramas
Software utilizado para desenhar esquemático: Microsoft Visio
Figura 2 – Fluxograma correspondente à questão 1.
Código
#include /*inclusão da biblioteca interrupt.h para podermos programar os pinos 2 e 3 para interrupções*/ volatile int x = 0; /* declaração da variável x com valor 0 de forma global e volátil para ser possível modifica-la dentro de uma rotina de serviço de interrupção(ISR).*/ void setup() // inicializa as entradas e saídas { Serial.begin(9600); /*Configura a porta serial para uma velocidade específica de transmissão de bit´s, sendo a de 9600 por defeito. */ pinMode(2, INPUT); //Configura o pino 2 como uma entrada. digitalWrite(2,HIGH); // Coloca o pino 2 a "ON".