Vous êtes sur la page 1sur 23

Faculdade Pitgoras Poos de Caldas

Grupo: Bluetooth

Aldinei de Paula
Alexander Gonalves
Andr Lus Domingos
Cintia Muniz
Gilsidieny Edewirges
Lucas Caponi da Silva
Lus Henrique Ferreira
Reinaldo Emiliano
Vinicius Scalia

1 perodo de Engenharia de Controle e
Automao/Eltrica

Introduo Engenharia

Professor: Tiago Cavelagna

05/06/2014
Sumrio:
Agradecimentos ............................................................................................................................ 3
Resumo .......................................................................................................................................... 4
Introduo: .................................................................................................................................... 5
Desenvolvimento: ......................................................................................................................... 6
Arduno: ......................................................................................................................................... 7
Arduno UNO: ................................................................................................................................ 7
Programao do Arduno: ............................................................................................................. 8
PWM: ............................................................................................................................................. 9
Bluetooth:.................................................................................................................................... 10
Mdulo Bluetooth ....................................................................................................................... 10
O Aplicativo: ................................................................................................................................ 11
Layout do programa: ................................................................................................................... 17
O programa: ................................................................................................................................ 18
Diagrama Eltrico do Circuito: .................................................................................................... 20
Outros Modelos: ......................................................................................................................... 21
Cronograma: ................................................................................................................................ 22
Referncias Bibliogrficas: .......................................................................................................... 23




Agradecimentos

Gostaramos de agradecer Faculdade Pitgoras Poos de Caldas-MG, pela
oportunidade de podermos fazer um trabalho, o qual nos ajudou muito entender
melhor o que um projeto de engenharia, e a se envolver um pouco melhor com o
campo tcnico.
Alm disso, agradecemos aos professores e coordenadores Tiago Cavelagna e
Emerson Batista, por nos disponibilizarem ajuda no que precisssemos, mesmo que
com a mudana do rumo do trabalho, no recorremos esta, mas estavam sempre ali
para ajudar quando precisssemos.
Agradecemos tambm ao grupo AEDA (Associao de Engenheiros Depressivos
Annimos) e da equipe de suporte da rede social LabdeGaragem, que nos auxiliou
iniciar os estudos na rea de programao e eletrnica destinados Arduno.
Agradecemos ao colega Alessandro Milan, que no auxiliou a reforar a
segurana de nosso projeto e entender como funcionava um diagrama eletrnico.
Agradecemos ao senhor Jos Carlos da Silva Silva, por nos prestar ajuda,
fornecendo alguns equipamentos que precisvamos.
Por fim, aos colegas da turma Wallison Borelli e Talmer Thiago por tambm nos
auxiliar quanto iniciao em programao e eletrnica, respectivamente.
Alm disso, agradecemos todos outros que de alguma forma contriburam
para a realizao desse trabalho.

Resumo

Este trabalho constituiu-se no desenvolvimento de um sistema de controle para
Automao cotidiana, de lmpada e ventiladores via acesso remoto via celular.
Para a construo foram utilizados o Arduno UNO, um mdulo Bluetooth HC-06, uma
protoboard, dois transistores de Potncia TIP 120, dois diodos 1N4007, um rel
auxiliar de 12v, 30A, um led de 5mm vermelho, trs resistores de 100, um resistor de
330 , um resistor de 220, um resistor de 1000 e dois resistores de 470, todos
estes de 1/4Watts.
Utilizamos duas fontes externas de alimentao, uma para alimentao do
mdulo e do Arduno, e outra para alimentao da lmpada e motor.
O ventilador usado no modelo icnico foi um D34080 da Intel, cooler exclusivo
para processadores modelo Celeron, e a lmpada uma E12gL 12v, 5w.
O intuito do trabalho fornecer uma maior facilidade para tais controles.

Introduo:

O trabalho surgiu com a identificao de um problema em nossa prpria sala de
aula; O controle dos ventiladores da sala, tanto das luzes deveras algo incmodo,
pois sempre que algum que se senta longe do controle destes, tem de se locomover
at o outro lado da sala para faz-lo, ou ficar gritando pedindo para algum faz-lo
manualmente. Alm disso, o Datashow da sala tem um controle parecido,
necessitando pegar uma chave para o controle do mesmo, ou subir numa mesa ou
escada para liga-lo ou desliga-lo.
Aps isso decidimos procurar alguma forma mais cmoda de fazer esse
comando, e em discusso foi decidido que a maneira mais cmoda seria cada um
poder faz-lo de seu prprio Smartphone, desde que este fosse dotado de tecnologia
Android.
Mantivemo-nos a fazer o controle de uma lmpada e da velocidade de um
ventilador desta forma.




















Desenvolvimento:
Primeiros Passos: Encontrar a melhor forma de fazer um controle Bluetooth
Comeamos procurando uma forma de fazer isto, e encontramos uma forma,
utilizando um Microcontrolador e um Mdulo Bluetooth.
Porm parecia invivel por no termos um gravador de PIC, porm com a ajuda
de um coordenador e de um colega, conseguimos disponibilidade dois destes para
fazermos nossas gravaes.
Aprendemos a dimensionar com a ajuda de alguns colegas da rea o melhor PIC
para desenvolver o trabalho e o circuito impresso eletrnico.
Porm o controle de microcontroladores acabou sendo demasiado difcil e
impossvel com o tempo que dispnhamos para aprendermos eletrnica e
programao em Assembly, uma linguagem de programao com um nvel muito mais
avanado de aprendizado, j que nenhum de ns dispunha de tais conhecimentos e
como no tnhamos conosco o gravador (apenas disponibilidade para marcar um dia e
gravar), para treinarmos e aprendermos.
Foi quando decidimos buscar algo mais prximo de aprendermos tempo de
entregar o trabalho. Ento descobrimos o Arduno, o qual foi utilizado para realizar
esse trabalho.
Arduno:
O Arduno uma plataforma de prototipagem eletrnica criado com o objetivo de
permitir o desenvolvimento de controle de sistemas interativos, de baixo custo e acessvel a
todos. ERUS Equipe de Robtica - UFES.

Tem o objetivo de ser uma ferramenta acessvel, com baixo custo, que apresenta
facilidade e flexibilidade na utilizao por profissionais e amadores. Principalmente para
aqueles que no teriam alcance aos controladores mais sofisticados e de ferramentas mais
complicadas (OXER, 2009).

Ou seja, o Arduno uma placa de microcontrolador, porm pr-montada, j
com sistemas reguladores de tenso e corrente, sistemas de segurana, retificao,
cristal oscilador, Fonte de Alimentao, Microcontrolador, Entradas e Sadas digitais e
analgicas e pinos com funes especiais.
Porm o que mais nos interessou nele foi que ele no necessita de uma plataforma de
gravao externa, e sim apenas de um cabo USB conectado a um computador.
Outro motivo que nos fez escolher o Arduno, foi ele trabalhar com uma linguagem de
programao de aprendizado mais simples, especificamente C.

Arduno UNO:

Entre as tantas plataformas diferentes de Arduno, optamos por utilizar o
Arduno UNO, primeiramente por ser o mais simples, e tambm por ser o mais barato.

O Arduno UNO, deve ser alimentado de 6vcc 12vcc, podendo no mximo ser
alimentado em 20vcc.
Ele pode ser alimentado tanto por cabo USB, quanto por conector Jack X1, ou
diretamente na placa, no pino indicado como Vin.
Quanto corrente mnima desta alimentao deve ser de no mnimo 300mA.
Na placa, prximo ao pino Vin, se encontram dois pinos indicados como 5v e
3,3v, onde a fonte filtra e depois regula a tenso de entrada para duas sadas
fornecendo estas tenses que podem ser utilizadas para alimentar seus projetos se
possvel.

O Arduno Uno baseado no microcontrolador ATMega328p, e conta com a
Arquitetura padro Harvard, e memrias Flash, facilitando assim sua reprogramao
quando necessrio.
As entradas e sadas do Arduno UNO, vm do microcontrolador do Arduno,
sendo 28 pinos de conexes eltricas, 14 de cada lado. atravs desses pinos que
podemos acessar as funes do micro controlador, enviar dados para dentro de sua
memria e acionar dispositivos externos.
Destes, 6 so entradas/sadas analgicas, 14 so entradas/sadas digitais, sendo
que destes 6 podem ser utilizados como PWM, e 8 so pinos de alimentao e funes
especiais.


Programao do Arduno:
O Arduno tem como programao padro, a programao em C.
Escolhemo-la por ser uma linguagem mais fcil de aprender, porm mesmo
assim demoramos a aprender a fazer nossos primeiros programas.
A Programao do Arduno segue dois blocos funcionais principais:
O Bloco Setup() e o Bloco Loop(), onde servem respectivamente, para definir
algumas configuraes iniciais do programa, como o hardware que vai ser utilizado e
inicializaes, sendo executado apenas uma vez, e o outro, loop(): funo principal do
programa. O qual fica executando indefinidamente.
Primeiramente so declaradas constantes, bibliotecas e variveis, depois vem o
bloco Setup() configurando o que ser utilizado no sistema, e por fim vm as demais
sub-rotinas que quiser inserir, encerrando a programao com o loop que ser o
programa que ser executado continuamente.
O programa construdo a partir de funes, estas so limitadas por blocos,
construdos com chaves, respectivamente { para iniciar o bloco e } para finaliz-lo.
Podendo ou no dependendo da funo, existirem blocos dentro de blocos. Desde que
fechados posteriormente.

As funes que utilizamos foram as seguintes:

Serial.Begin(9600): Funo que indica inicio de uma comunicao Serial, e que ela
operar em frequncia de 9600hz.

pinMode(x,y): Funo que indica se um pino especfico vai ser sada ou entrada.

If,Then,Else e Else If:
If: Funo condicional SE, indica uma lgica onde: Se acontecer alguma coisa a qual
depende de uma segunda funo, a funo Then,
Apresenta a seguinte estrutura: if(condio){funo Then};
Then: Indica Ento faa, deve vir depois de uma funo if, no qual segue o
contexto: SE acontecer alguma coisa, ENTO faa outra coisa. Pode ser ou no
seguida da funo Else ou Else if.
Else If: indica Seno Faa, e pode ser colocada mltiplas vezes. Deve vir
depois de uma funo Then, ou outra Else If, no qual segue o contexto: SE
acontecer alguma coisa, ENTO faa uma outra coisa. SENO faa X ou SENO faa Y,
ou SENO faa Z... etc
Apresenta a seguinte estrutura: else if(condio){faa};
Else: Indica Seno Faa, mas pode ser utilizada apenas uma nica vez. Deve
vir depois de uma funo Then, e segue o contexto: SE acontecer alguma coisa,
ENTO faa outra, SENO faa outra.
Apresenta a seguinte estrutura: else{faa};




Serial.Available(): Funo que indica os dados vindos de uma porta serial.

Serial.read(): Funo que indica para fazer leitura do barramento serial

digitalWrite(x,y): Funo que manda um valor digital (HIGH = Zero e LOW = Um)
para um pino de sada digital.

analogWrite(x,y): Funo que manda um valor analgico (de zero a 255) para
um pino de sada analgico ou PWM.

PWM:

PWM a abreviao de ou Modulao de Largura de Pulso (Pulse Width
Modulation).
Em sua forma mais simples, o PWM implica em ligar-se e desligar-se uma sada
digital num determinado intervalo de tempo (indicado no Arduno como Duty Cicle)
modulando ou alterando a largura do pulso de um sinal de onda quadrada que pode ser dados ser
transmitidos, um efeito de udio ou potncia fornecida ou regulada.
Quando o interruptor est aberto no h corrente na carga e a potncia
aplicada nula. No instante em que o interruptor (um tiristor STD de potncia interno)
fechado, a carga recebe a tenso total da fonte e a potncia aplicada mxima.
Assim, dependendo do tempo que fica aberto ou fechado, mede-se uma mdia
de tenso e corrente que fica efetivamente alimentando a carga.
Utilizamos este controle para controlar a velocidade do ventilador.
Para utiliz-lo, utilizamos a instruo analogWrite e o pino 3 do Arduino (uma
sada digital PWM).
Para calcular o quanto de tenso sair na sada do PWM, existem alguns
clculos que devem ser levados em conta.
Abreviadamente, ser Vsaida = E/T.tligado, onde:
tligado = tempo em alta
tdesligado = tempo em baixa
E = tenso de entrada
Para chegar necesse clculo necessrio resolver uma integral.
No caso pegamos seu valor do prprio Arduno.
Foram utilizados os valores 10%,20%,30%,40%,50%,60%,70%,80%,90% e 100%.
Especificamente as Tenses de sada foram:

5v/255 = 0,0196078v
10% = 25,5 (255/10) |25,5 * 0,0196078v = 0,5v
20% = 51 (255/10) |51 * 0,0196078v = 1v
30% = 76,5 (255/10) |76,5 * 0,0196078v = 1,496v
40% = 102 (255/10) |102 * 0,0196078v = 1,999v
50% = 127,5 (255/10) |127,5 * 0,0196078v = 2,497
60% = 153 (255/10) |153 * 0,0196078v = 2,999
70% = 178,5 (255/10) |178,5 * 0,0196078v = 3,498
80% = 204 (255/10) |204 * 0,0196078v = 3,99
90% = 229,5 (255/10) |229,5 * 0,0196078v = 4,499
100% = 255 (255/10) |255 * 0,0196078v = 5 v

Bluetooth:

Para fazer a comunicao do sistema, com o Bluetooth foi utilizado o
Bluetooth.
Bluetooth um padro para comunicao sem fio que utiliza um sistema de
rdio de curto alcance, e utilizado para Interconectar com segurana os mais
variados dispositivos eletrnicos, como: televisores, home theaters, smartphones,
impressoras, fones de ouvido, joysticks, computadores, mouses e teclados.
Entre as principais caractersticas dessa tecnologia, destaca-se a robustez, o
baixo custo, o pequeno consumo de energia e a capacidade de trabalhar com
transmisses e dados e de voz ao mesmo tempo
Porm, uma combinao entre hardware e software se faz necessria para que
a comunicao, atravs de radiofrequncia, permita que um dispositivo detecte o
outro independente de suas posies, dentro de um limite de proximidade.
Dentro da tecnologia Bluetooth, existem potncias e frequncias diferentes,
estas sendo de um dos tipos seguir:
Classe 1: potncia mxima de 100 mW (miliwatt), alcance de at 100 metros;
Classe 2: potncia mxima de 2,5 mW, alcance de at 10 metros;
Classe 3: potncia mxima de 1 mW, alcance de at 1 metro.

Mdulo Bluetooth
Utilizamos o mdulo Bluetooth HC-06 (BC417 143BGQ).
Este mdulo trabalha com Classe 2, e apenas em regime Slave (Escravo).
Para alimentao, alimentamos o mdulo nos 3,3v do Arduno Uno, o RX
diretamente em TXD, porm para ligar o TX no RTD foi necessrio fazer um divisor de
tenso:

Para fazer a comunicao com o mdulo bluetooth, utilizamos conexo serial
entre o mdulo bluetooth e o arduino, tivemos de fazer um divisor de tenso,
regulando a tenso de 5v (Arduino) para se comunicar com o Mdulo (3,3v).

Utilizamos dois resistores de 100 ohms, um de 470 ohms e um de 1k ohms para
isso.

Vide clculo feito:

R1 = 470+100ohms
R2 = 100+1000ohms

Vsada = R2/R1+R2 * Ventrada
3,3v = 1100/570+1100 * 5
3,3v = 2,994v


Para ligar os circuitos, foram utilizados dois transistores como chaves

A corrente especificada no motor era de 0,55A em 12vcc.

A corrente na lmpada teve de ser calculada seguindo a seguinte frmula:

5W/12v = 0,411A.

Baseado nisso, procuramos o transistor de potncia que possusse a corrente
necessria nos transistores para chavear a carga, e optamos por utilizar o TIP120, que
oferece uma boa relao de temperatura.

Para estes transistores utilizamos dois resistores de 330ohms para estabilizar
sua corrente.

Corrente de Base Mxima do Transistor = 0,004A
5v / 2200ohms = 0,002A
Ficando menor que a corrente mxima o transistor ir funcionar.

Procuramos tambm um rel, para o caso de precisar acionar cargas maiores e
escolhemos este Rel Auxiliar D25045 que aciona com 0,04A.




O Aplicativo:

O aplicativo foi construdo utilizando o Software Open Source App Inventor
beta 2, disponvel no endereo eletrnico: ai2.appinventor.mit.edu

Como no sabamos programar, tivemos de recorrer a essa interface grfica em
Java.

Google App Inventor beta 2, uma ferramenta desenvolvida pela Google que
permite a criao de aplicativos para smartphones que rodam o sistema operacional
Android, sem que seja necessrio conhecimento em programao.
Ele possui duas interfaces, uma onde voc cria seu programa, e outra onde
voc simplesmente faz a programao, com o auxilio de blocos, montando um quebra-
cabeas.
O algoritmo que utilizamos foi o seguinte:
Primeiro declaramos todas as variveis e constantes que vamos utilizar no
programa.
Caso o Bluetooth no estiver habilitado, mostra-se uma mensagem de avisa na
tela, avisando para habilit-lo, e alm disso o programa no funciona enquanto o
Bluetooth no for habilitado, para acentuar a segurana do projeto.
Ao clicar em conectar, abre-se uma lista de dispositivos encontrados.
Ao clicar em algum deles, o cliente tenta se conectar com o mesmo. Caso no
consiga, volta para a tela anterior com uma mensagem de erro.
Aps se conectar, o resto das funes do programa so habilitadas.
Caso clicar em conectar novamente, o Bluetooth desconectado e abre a lista
novamente.
Agora era a hora de criar um protocolo de comunicao. A ideia foi enviar
caracteres seguindo as letras do alfabeto.
Caso clicar em qualquer uma das dez velocidades, o programa enviar um
caractere para o Arduno que as traduzir conforme o especificado no programa que
colocamos nele.
Caso clicar no boto de ligar lmpada, ele muda de cor, e altera o texto para
Desligar Lmpada, alm disso, envia um caractere para o Arduno para que ele ligue
ou apague a lmpada.
Para finalizar, fizemos uma animao visual com um vdeo .3gp simulando um
Gif Animado (pois um formato no aceito pelo aplicativo) e outra utilizando duas
imagens simulando lmpada ligada e lmpada desligada, se alternando conforme clica-
se nos botes ligar/desligar lmpada.
Para isso convertemos o Gif para .3gp utilizando o programa Format Factory e o
enviamos para o programa, tendo de configurar para aps ser iniciado o ventilador
com qual comando, abrir a animao do ventilador e deixa-la reproduzindo
continuamente enquanto o ventilador estiver ligado.
Fizemos tambm um display para indicar a velocidade em que o motor
atualmente est.



Vide diagrama de blocos com a programao que fizemos:

















Layout do programa:
Para desenvolver o Layout do programa, utilizamos a interface Designer do App
Inventor beta 2, onde na paleta de objetos esquerda, escolhemos os elementos que
utilizaramos no projeto, e arrastamo-las para o lado direito, inserindo-as ao projeto.
Na barra Properties, configuramos o tamanho, cor e texto dos botes utilizados
No canto inferior direito, enviamos as imagens e vdeo utilizado no trabalho.
O Layout que desenvolvemos ficou da seguinte forma:



O programa:
Para criar o programa do Arduno, utilizamos a IDE do Arduno, uma aplicao
multiplataforma derivada dos projetos Processing e Wiring.
Ele inclui um editor de cdigo com recursos de realce de sintaxe, parnteses
correspondentes e identao automtica, sendo capaz de compilar e carregar
programas para a placa com um nico clique. Com isso no teve a necessidade
de editar Makefiles ou rodar programas em ambientes de linha de comando.
Nosso cdigo foi o seguinte:

const int ledPin = 3;
const int leddois = 12;
char Dadosrecebidos = 0;

void setup(){
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
pinMode(leddois,OUTPUT);
}
void loop(){
if (Serial.available()> 0) {
Dadosrecebidos = Serial.read();
}
if (Dadosrecebidos == 'a'){
digitalWrite(leddois,HIGH);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'b'){
digitalWrite(leddois,LOW);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'c'){
analogWrite(ledPin,10);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'd'){
analogWrite(ledPin,20);
Dadosrecebidos = 10;
}
if (Dadosrecebidos == 'e'){
analogWrite(ledPin,30);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'f'){
analogWrite(ledPin,50);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'g'){
analogWrite(ledPin,70);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'h'){
analogWrite(ledPin,100);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'i'){
analogWrite(ledPin,130);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'j'){
analogWrite(ledPin,160);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'k'){
analogWrite(ledPin,190);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'l'){
analogWrite(ledPin,255);
Dadosrecebidos = 0;
}
if (Dadosrecebidos == 'm'){
analogWrite(ledPin,0);
Dadosrecebidos = 0;

}}
















Diagrama Eltrico do Circuito:





Outros Modelos:

Colocamos um Led para indicar que o motor estava funcionando corretamente. Devido isso
tivemos de calcular uma resistncia para no queimar o led.
Resistor do Led:
E = R*I
0,0255A * R = 12v
R = 470ohms




0
1000
2000
3000
4000
5000
6000
Velocidade em
RPM
Cronograma:

Semana 1 Semana 2 Semana 3 Semana 4 Legenda
Segunda








Estudo sobre PIC
Tera








Criao do Aplicativo
Quarta








Pesquisa de Preos
e Compras
Quinta







Elaborao do Circuito
Impresso PIC
Sexta






Programao
Sbado






Estudo sobre Arduno
Domingo






Montagem do Circuito
na Protoboard
Trabalho escrito


*Cada quadrante equivale a 3 horas do dia destinadas execuo do trabalho








Referncias Bibliogrficas:

https://www.youtube.com/watch?v=GJToWyEu3xU

http://control-aut.com/2013/04/20/utilizando-o-app-inventor-para-criar-aplicacoes-
android-e-usar-com-o-arduino/

http://labdegaragem.com/forum/topics/tutorial-criando-aplica-o-para-android-
para-controlar-o-arduino?id=6223006%3ATopic%3A164130&page=4

http://control-aut.com/2013/04/20/utilizando-o-app-inventor-para-criar-aplicacoes-
android-e-usar-com-o-arduino/

http://www.arduinoecia.com.br/2013/03/acionando-portas-do-arduino-
usando.html

http://123d.circuits.io/users/71688

http://arduino.labdegaragem.com

http://alianpitta.wordpress.com/2013/01/27/controle-de-led-com-arduino/

https://sites.google.com/site/grcbyte//electronica/arduino/serial-bluetooth

http://alianpitta.wordpress.com/2013/01/27/controle-de-led-com-arduino/

http://labdegaragem.com/forum/topics/controle-simult-neo-digital-e-anal-gico-de-
leds

http://www.techtudo.com.br/tudo-sobre/s/google-app-inventor.html

Vous aimerez peut-être aussi