relatório micro concluido

Upload: moises-ferrari

Post on 13-Jan-2016

234 views

Category:

Documents


1 download

DESCRIPTION

e

TRANSCRIPT

FACULDADE PITGORASCOORDENAO DO CURSO DE ENGENHARIA DE CONTROLE E AUTOMAO

RAYAN FREITAS MENDESJOS MARIA CORDEIROMOISS LEOCDIOHELEN DAYANEBONIEX MONTEIRO

ARTIGO DE PROJETO COM MICROCONTROLADORProjeto com Arduino

So Luis2015RAYAN FREITAS MENDESJOS MARIA CORDEIROMOISS LEOCDIOHELEN DAYANEBONIEX 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 Luis20151. 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 FREIOpinMode(8,OUTPUT); //FAROL ALTOpinMode(9,OUTPUT); //FAROL BAIXOpinMode(10,OUTPUT); //LUZ DE RpinMode(11,OUTPUT); //BUZINApinMode(12,OUTPUT); //SETA DIREITApinMode(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 RpinMode(1,INPUT); //FAROL ALTOpinMode(2,INPUT); //FAROL BAIXOpinMode(3,INPUT); //LUZ DE FREIOpinMode(4,INPUT); //BUZINApinMode(5,INPUT); //SETA ESQUERDApinMode(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 FREIOint leitura2 = digitalRead(1); //FAROL ALTOint leitura3 = digitalRead(2); //FAROL BAIXOint leitura4 = digitalRead(0); //LUZ DE REint leitura5 = digitalRead(4); //BUZINAint leitura6 = digitalRead(5); //SETA DIREITAint 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 ALTOif (leitura2 == 0){digitalWrite(8,1);}else{digitalWrite(8,0);}

//ACIONANDO FAROL BAIXOif (leitura3 == 0){digitalWrite(9,1);}else{digitalWrite(9,0);}

//ACIONANDO A LUZ DE Rif (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 DIREITAif (leitura6 == 0){digitalWrite(12,1);delay(500);digitalWrite(12,0);delay(500);}else{digitalWrite(12,0);}

//ACIONANDO A SETA ESQUERDAif (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.