Você está na página 1de 12

FACULDADE PITGORAS

COORDENAO DO CURSO DE ENGENHARIA DE CONTROLE E


AUTOMAO

RAYAN FREITAS MENDES


JOS MARIA CORDEIRO
MOISS LEOCDIO
HELEN DAYANE
BONIEX MONTEIRO

ARTIGO DE PROJETO COM MICROCONTROLADOR


Projeto com Arduino

So Luis
2015

RAYAN FREITAS MENDES


JOS MARIA CORDEIRO
MOISS LEOCDIO
HELEN DAYANE
BONIEX MONTEIRO

ARTIGO DE PROJETO COM MICROCONTROLADOR

Artigo apresentado a disciplina Microcontroladores, do


curso de Engenharia de Controle e Automao, 8 perodo,
da Faculdade Pitgoras de So Luis, para obteno da nota
Oficial II.
Orientador: Carlos Eduardo

So Luis
2015

1. Objetivos
- Desenvolver um Projeto com base nos conhecimentos adquiridos usando
Arduno.
- O projeto de dever simular a iluminao de um automvel.
- As sadas sero: Luz de R, Farol, Farol Alto, Buzina, Luz de Freio e Setas.
- Projetar circuito de Hardware.
- Desenvolver o software usando a IDE Arduno.
2. Projeto;
2.1.

Materiais Usados:
- Protoboard;
- LED Diodo Emissor de Luz (Branco, Amarelo e Vermelho e

Azul);
- Resistores (130 );
- Multmetro;
- Kit Arduino Uno;
- Cabos de ligaes;
- Chaves Liga/Desliga de duas posies;
- Chave Liga/Desliga de trs posies;
- Push Bottons normalmente abertos;
- Notebook;

2.2.

Testes de componentes

Para garantir o perfeito funcionamento do projeto e evitar desvios


durante a montagem e testes foi realizado o teste de todos os componentes a
serem usados. Com auxlio do multmetro foram testados os LEDs, os
resistores e todas as chaves e cabos.
2.3.

Desenvolvimento do Software

Fazendo uso da IDE do Arduno, iniciamos mediante a lgica


escolhida para desenvolver a aplicao e os requisitos apresentados na
proposta de projeto a programao propriamente dita:
A seguir o desenvolvimento da funo de SETUP:

Definio das Sadas digitais: usando a funo pinMode(),


seleciona-se qual a sada digital do Arduino ser usada e
configura a mesma como sada (OUTPUT) de dados.
pinMode(7,OUTPUT); //LUZ DE FREIO
pinMode(8,OUTPUT); //FAROL ALTO
pinMode(9,OUTPUT); //FAROL BAIXO
pinMode(10,OUTPUT); //LUZ DE R
pinMode(11,OUTPUT); //BUZINA
pinMode(12,OUTPUT); //SETA DIREITA
pinMode(13,OUTPUT); //SETA ESQUERDA

Definio das entradas digitais: usando a funo pinMode


seleciona-se qual a sada digital do Arduino ser usada e
configura a mesma como entrada (INPUT) de dados.
pinMode(0,INPUT); //LUZ DE R
pinMode(1,INPUT); //FAROL ALTO
pinMode(2,INPUT); //FAROL BAIXO
pinMode(3,INPUT); //LUZ DE FREIO
pinMode(4,INPUT); //BUZINA
pinMode(5,INPUT); //SETA ESQUERDA
pinMode(6,INPUT); //SETA DIREITA

Durante o processo de desenvolvimento do software responsvel


por executar as rotinas determinadas pelo projeto, observou-se que seria
necessrio o desenvolvimento de uma estratgia diferente da inicial que era
acionar a sadas sempre que a entrada estivesse em nvel logico alto, pois
inicialmente o acionamento no era como esperado e havia flutuaes e
indeterminaes na leitura das entradas.
Foi ento usada a estratgia de utilizar os resistores de Pull Up
internos ao Arduino e inverter a lgica de acionamento das entradas,
mantendo-as em 5V para a condio FALSA e 0V para a condio
VERDADEIRA. Ou seja, quando o interruptor est livre (no pressionado), no
h conexo entre os seus dois terminais, de forma que o pino do Arduino est

conectado aos 5V (via o resistor de pull-up) e ao ler o pino, obtemos HIGH.


Quando o interruptor fechado (pressionado), ocorre a conexo entre seus
terminais, de forma que o pino do Arduino ligado ao GND e obtemos LOW. (O
pino ainda se mantm conectado aos 5 volts, mas o resistor de pull-up faz com
que o pino esteja mais prximo do GND.).

Ativar os resistores de PULL UP para as entradas do Arduino,


colocando-as em nvel lgico HIGH, usando a funo
digitalWrite(pin, HIGH);.
digitalWrite(0,1);
digitalWrite(1,1);
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);

Aps concluir o SETUP e as configuraes iniciais, foi implementada a lgica


para a funo void loop() com o acionamento e a leitura das entradas e
sadas, usando as funes do Arduino e a bagagem da lgica de programao
em C#.
Inicialmente declaramos todas as variveis responsveis por realizar o
armazenamento do status das entradas. E em simultneo com a declarao foi
realizado a leitura da entrada atravs da funo digitalRead(Pin) como segue
abaixo:
void loop(){
int leitura1 = digitalRead(3); //LUZ DE FREIO
int leitura2 = digitalRead(1); //FAROL ALTO
int leitura3 = digitalRead(2); //FAROL BAIXO
int leitura4 = digitalRead(0); //LUZ DE RE
int leitura5 = digitalRead(4); //BUZINA
int leitura6 = digitalRead(5); //SETA DIREITA
int leitura7 = digitalRead(6); //SETA ESQUERDA
E finalmente usando o lao if faz-se a comparao da varivel que armazena
a informao da entrada atravs do ==, e usando a funo digitalWrite,
aciona-se ou no a respectiva sada. Ou seja, se a entrada foi 0 a sada 1,
seno a sada 0. Como segue:
//ACIONANDO A LUZ DE FREIO
if (leitura1 == 0){
digitalWrite(7,1);
}else{
digitalWrite(7,0);
}

//ACIONANDO FAROL ALTO


if (leitura2 == 0){
digitalWrite(8,1);
}else{
digitalWrite(8,0);
}
//ACIONANDO FAROL BAIXO
if (leitura3 == 0){
digitalWrite(9,1);
}else{
digitalWrite(9,0);
}
//ACIONANDO A LUZ DE R
if (leitura4 == 0){
digitalWrite(10,1);
}else{
digitalWrite(10,0);
Para simular as setas do automvel foi feita uma pequena implementao no cdigo
inserindo a funo delay(), que permitiu que consegussemos simular o oscilao da
sada em 0,5 segundos.
//ACIONANDO A SETA DIREITA
if (leitura6 == 0){
digitalWrite(12,1);
delay(500);
digitalWrite(12,0);
delay(500);
}else{
digitalWrite(12,0);
}
//ACIONANDO A SETA ESQUERDA
if (leitura7 == 0){
digitalWrite(13,1);
delay(500);
digitalWrite(13,0);
delay(500);
}else{
digitalWrite(13,0);
}

E dessa forma, com o cdigo pronto realizamos experimentos de ensaio via


software (PROTEUS) para garantir o perfeito funcionamento do mesmo.
Podendo partir para a montagem.

2.4.

Hardware

Depois de feita a simulao em software e com os componentes


preparados e devidamente testados, deu-se incio ao processo de montagem
em protoboard.
Um ganho que obtivemos durante o projeto foi o uso dos resistores
interno de PULL UP do microcontrolador, a estratgia se mostrou bastante
eficiente, visto que eliminamos resistores externos que dificultavam a
montagem em protoborad e tornou o experimento completamente funcional
alm de mais enxuto.

Figura 2 Protoboard com o resistor externo.

Figura 3 Simulao com o resistor interno.

Para simular as chaves de farol alto, farol baixo e marcha r foram


usadas chaves de duas posies ON/OFF de duas terminaes:

Figura 4 Chave Liga/Desliga.

Para simular o freio e a buzina, foram usados push bottons normalmente


abertos:

Figura 5 Push Bottons normalmente abertos de dois terminais.

Para simular a chave das setas, esquerda e direita foi utilizada uma chave de
trs posies, posio desligada, posio seta esquerda e posio seta direita:

Figura 6 Chave Liga/Desliga com trs posies.

Para os circuitos dos LEDs foram usados as cores Branca para os faris alto e
baixo, Vermelha para a luz de freio, Azul para a luz de r e Amarela para as
setas. Foram usados tambm resistores XXX Ohms para limitar a corrente dos
LEDs e um resistor de XXX Ohms para o LED de farol baixo, para diferencia-lo
do farol alto.

Figura 7 Leds .

Figura 8 Resistores 130 Ohm .

Para simular a buzina de um automvel foi usado um Buzzer:

Figura 9 Buzzer.

Para montagem do projeto utilizamos uma caixa comum de MDF para


acomodar um protoboard juntamente com os curcuitos de acionamento, alm
do Arduino.

Figura 10 Caixa de MDF

Figura 11 Curcuito interno da caixa.

Figura 12 Curcuito das chaves na parte superior da caixa.

Figura 13 Projeto finalizado.

Aps todo o experimento concludo e funcionando, podemos observar


que obtivemos xito diante da proposta do experimento. Sem dvida, pr em
pratica os conhecimentos da sala de aula uma experincia que nos leva a
adquirir uma forma mais consistente e duradoura de contedo, amadurecendo
nosso conhecimento, as dificuldades enfrentadas e as situaes inusitadas,
nos levam a buscar verdadeiramente as informaes, afim de esclarecer
definitivamente as dvidas. Tiramos, portanto, boas lies e aprendizados.

Você também pode gostar