Escolar Documentos
Profissional Documentos
Cultura Documentos
SO PAULO
CAMPUS SO JOS DOS CAMPOS
Olho Robtico
BANCA EXAMINADORA
Celso Farnese
...............................................
Orientador(a)
............................................
Coorientador(a)
............................................
Especialista
ii
iii
Agradecimentos
Agradecemos primeiramente a Deus e aos nossos familiares que incentivam
os nossos estudos, e apoiam os caminhos escolhidos para os nossos futuros.
Aos professores e colaboradores do IFSP/Campus So Jos dos Campos e
ao IEAv/DCTA, que nos ajudaram a concluir mais uma etapa de nossas vidas.
De maneira especial, aos professores Celso Farnese por ser nosso
orientador, Dr. Alvaro Jos Damio por ser nosso coorientador. Aos professores
Andr Moura e Matheus Urban por nos ajudarem a realizar o trabalho de concluso
de curso.
Aos nossos contribuidores do IEAv/DCTA, IFSP e a empresa E.P. Servios
pelo o fornecimento dos materiais e auxlio financeiro.
Por fim, aos nossos amigos Roberto Kawashima, tcnico do IEAv/DCTA,
Prof. Rmulo de Campos Gomes, Prof. Jos Renato Borelli, Profa. Dra. Vnia
Battestin e Prof. Lineu Filho do IFSP, Eng. Jos Antnio do IEAv/DCTA e Paulo
Eduardo que nos ajudaram a concluir no desenvolvimento e concluso do trabalho.
iv
Gabriel Pensador
SUMRIO
INTRODUO ..................................................................................................... 1
2.
OBJETIVO ........................................................................................................... 2
vi
LISTA DE TABELAS
vii
LISTA DE FIGURAS
Figura 1: Dados sobre segurana no Brasil................................................... 2
Figura 2: Software Arduino 1.0.5 (Arduino) ................................................... 3
Figura 3: Motor de passo (Kalec Automao) ............................................... 5
Figura 4: Driver ULN2803..............................................................................
11
12
12
14
16
17
18
21
CC
Corrente contnua
PWM
I/O
Input/Output (Entrada/Sada)
MHz
Mega Hertz
Volts
Segundo
Amperes
GND
Ground (Terra)
Vac
Tenso Alternada
Vdc
Tenso Contnua
PCB
AC
Sinal alternado
CAM
ix
RESUMO
Este trabalho apresenta o desenvolvimento de uma cmera mvel, baseada
na movimentao de pessoas, que pode integrar sistemas de segurana,
proporcionando uma melhor cobertura espacial e aproveitamento das cmeras. Para
tanto, a cmera acoplada a um motor de passo controlado por um
microprocessador e sensores. O controle est baseado na plataforma Arduino e sua
movimentao se d de acordo com a deteco de movimento por sensores de
presena, que faz com que o motor de passo se movimente at um determinado
ngulo. Os sensores sero colocados em trs pontos especficos, 0, 90 e 180,
para que se tenha maior ngulo de viso e, assim, pode-se colocar apenas uma
cmera ao invs de trs para monitorar a mesma rea. A plataforma Arduino ser
responsvel pela recepo do sinal do sensor, processamento e o envio do
comando para o motor girar at o ngulo correto. O sistema, alm de diminuir o
nmero de cmeras, ir economizar no consumo de energia e aumentar a
segurana do local monitorado. A segurana um fator que vem crescendo cada
vez mais no Brasil, portanto o projeto visa aprimorar e aumentar a eficincia de tal
sistema.
ABSTRACT
This paper presents the development of a mobile camera, based on the
movement of people, which may include security systems, providing better spatial
coverage and use of cameras. Therefore, the camera is attached to a stepper motor,
microprocessor and sensors controlled. The control is based on the Arduino platform
and its movement takes place according to the detection of a presence sensor, which
make the stepper motor to move up to a determined angle. The sensors are placed in
three specific points, 0 , 90 and 180 , to get a wider viewing angle and thus can
be placed just one camera instead of three for monitoring the same area. The
Arduino platform will be responsible for the sensor signal reception, processing and
sending the command to the motor rotate to the correct angle. In addition, the system
will save energy and increase the safety of the monitored location. Security is a factor
that has grown increasingly in Brazil, so the project aims to improve and increase the
efficiency of such a system.
xi
1. INTRODUO
comuns,
tanto
em empresas,
quanto
em residncias,
vrios
sistemas
de
segurana
como:
cmeras,
sensores,
2. OBJETIVO
Registrar imagens em uma rea maior do que as reas cobertas por cmeras
convencionais, atravs da robotizao, utilizando um motor de passo, sensores e
uma placa microcontrolada Arduino. Isto faz com que o custo seja menor do que o
encontrado comercialmente em sistemas de segurana, devido a diminuio do
nmero de cmeras.
3. REVISO BIBLIOGRFICA
Esta reviso bibliogrfica descreve os principais componentes envolvidos
neste desenvolvimento.
2
baseado
numa
simples
placa
microcontrolada,
com
entradas
ATmega328
Tenso de funcionamento
5V
Tenso de entrada(recomendado)
7-12V
6-20V
3
40 mA
50 mA
Memria Flash
32 KB
SRAM
2 KB
EEPROM
1 KB
Clock
16 MHz
NPN
50 V
DC Corrente do Coletor
500 mA
-40C
85 C
DIP
Nmero de pinos
18
MSL
SVHC
No SVHC (20-Jun-2013)
Nmero da base
2803
500 mA
IC Nmero Genrico
2803
5V
2803
Mdulo de Configurao
Temperatura de operao
-40C a +85C
500 mA
50 V
7g
Dimenses:
Tenso de Operao
4,5-20V
Tenso de Sada:
Distncia detectvel
3-7m (Ajustvel)
Tempo de Delay
Tempo de Bloqueio
2,5seg (Default)
(L)-No Repetvel (H)-Repetvel (Default:
Trigger
H)
Temperatura de Trabalho
-20 a +80C
3.5. Monitor
O monitor um dispositivo de sada para o computador ou cmeras, que
mostra em sua tela os resultados de suas operaes [6]. Este conhecido como um
7
Pixels
480*RGB*272
Sistema de Sinal
PAL/NTSC automtico
Tenso de Operao
DC 12V/24V
Consumo
2 W (MAX)
Temperatura de Operao
10 a +50 C
-30 a +70C
Sinal de Vdeo
7 Vp-p 75 C
Peso
140 g
Onde:
Transformador - Transforma a tenso AC e corrente de entrada para um valor
utilizvel em AC.
Ponte retificadora - Retifica os pulsos de modo a produzir uma sada
polarizada DC.
Filtragem - Filtra a tenso.
Regulador - Regula a sada de modo a ter uma tenso constante.
3.7. Minicmera
Resoluo Horizontal
420 TVL
0,3 lux/F2.0
Iluminao mnima (P e B)
0,08 lux/F2.0
9
Lente
3,6mm
Relao sinal/rudo
>48dB
Formato de vdeo
1,0 Vpp 75
Nmero de pixels
510(H)x492(V)
Varredura
ris
Eletrnica
Obturador eletrnico
1/60 a 1/100000 s
Alimentao
12 VDC
Corrente consumida
100 mA
Temperatura de operao
-10C a 50C
Dimenses do produto
45x45x35 mm
Peso
79 g
10
11
4. MATERIAIS E MTODOS
4.1. Materiais
No presente trabalho, foi utilizado o motor de passo a fim de movimentar a
cmera, que ser acoplada em seu eixo de sada, de acordo com o sinal do sensor
de presena, conforme a Figura 9.
Usa-se um transformador com uma tenso de entrada de 127 Vac que reduz
a tenso para 12 Vac. Foi confeccionada uma placa retificadora, onde feita a
transformao 12 Vac para 12 Vdc.
14
4.2. Mtodos
15
90
180
Boto 1
Boto 2
Boto 3
16
18
A usinagem foi feita atravs da mquina LPKF (Figura 8), onde colocou-se
uma placa de cobre. Com a utilizao de vrias brocas, fez-se a usinagem com
brocas para a formao das trilhas e os furos das ilhas do circuito, para soldar os
componentes descritos acima. Resultando-se conforme a Figura 22.
4.2.1 Problemas
No projeto inicial, utilizar-se-ia um servo motor para movimentao da
cmera, no entanto, foi encontrado problemas na utilizao deste. Com isso, houve
a substituio do servo motor por um motor de passo, que no apresentou o mesmo
problema, assim funcionando corretamente conforme o esperado.
Outro problema foi confeco da placa de circuito impresso, onde houve o
erro na pinagem do circuito integrado. Para correo deste problema foi necessria
a utilizao de jumpers (uma ligao mvel entre dois pontos de um circuito
eletrnico), para o funcionamento desta.
Pelo fato da extrema sensibilidade da cmera, tambm houve problemas em
sua instalao, de tal forma que uma chegou a ser danificada devido dimenso do
19
5. RESULTADOS E DISCUSSES
Este trabalho buscou uma forma mais eficaz de realizar um monitoramento
para a melhora da segurana. Foi utilizada para a sua construo a plataforma
Arduino, que uma maneira mais didtica e simples para construo de prottipos.
O projeto desenvolvido utilizou trs sensores com o objetivo de economizar energia.
A placa de circuito impresso possibilita a utilizao dos sensores e de botes,
que so duas formas para o funcionamento do sistema, conforme a Figura 23.
20
6. REFERNCIAS BIBLIOGRFICAS
[1] Beto Carlomagno, Mercado de segurana residencial cresce 20%
<http://www.diarioweb.com.br/novoportal/Noticias/Economia/137833,,Mercado+de+seg
uranca+residencial+cresce+20.aspx> Acesso em: 16/11/2014
[2]Electrnica, Arduino
<http://www.electronica-pt.com/robotica-app/arduino> Acesso em: 16/09/2014
[5]Laboratrio de Garagem, Como utilizar o Sensor PIR (Passive Infrared) com Arduino
<http://labdegaragem.com/profiles/blogs/tutorial-como-utilizar-o-sensor-pir-passiveinfrared-com-arduino > Acesso em: 16/11/2014
22
23
8. ANEXOS
8. 1. Linhas de cdigo utilizadas na programao do Olho Robtico.
Programao efetuada no Arduino Uno:
const int sens1=5;
const int sens2=3;
const int sens3=4;
const int saida1=8;
const int saida2=9;
const int saida3=10;
const int saida4=11;
int i=0;
int j=0;
int k=0;
int l=180;
void setup() {
pinMode (saida1, OUTPUT);
pinMode (saida2, OUTPUT);
pinMode (saida3, OUTPUT);
pinMode (saida4, OUTPUT);
pinMode (sens1, INPUT);
pinMode (sens2, INPUT);
pinMode (sens3, INPUT);
digitalRead(sens1);
digitalRead(sens2);
digitalRead(sens3);
}
void loop() {
if(digitalRead (sens1)==HIGH && digitalRead (sens2)==LOW && digitalRead (sens3)==LOW){
l=0;
if (k==0 && j==0){
delay(1000);
}
if (k==100){
for (i=0;i<100;i++){
digitalWrite(saida4, HIGH);
delay(10);
digitalWrite(saida4, LOW);
delay(10);
digitalWrite(saida3, HIGH);
delay(10);
digitalWrite(saida3, LOW);
delay(10);
24
digitalWrite(saida2, HIGH);
delay(10);
digitalWrite(saida2, LOW);
delay(10);
digitalWrite(saida1, HIGH);
delay(10);
digitalWrite(saida1, LOW);
delay(10);
k=0;
}
}
if (j=50){
for (i=0;i<50;i++){
digitalWrite(saida4, HIGH);
delay(10);
digitalWrite(saida4, LOW);
delay(10);
digitalWrite(saida3, HIGH);
delay(10);
digitalWrite(saida3, LOW);
delay(10);
digitalWrite(saida2, HIGH);
delay(10);
digitalWrite(saida2, LOW);
delay(10);
digitalWrite(saida1, HIGH);
delay(10);
digitalWrite(saida1, LOW);
delay(10);
}
j=0;
}
}
if(digitalRead (sens1)==LOW && digitalRead (sens2)==HIGH && digitalRead (sens3)==LOW){
j=50;
if (k==0 && l==180){
delay(1000);
}
if(l==0){
for (i=0;i<50;i++){
digitalWrite(saida1, HIGH);
delay(10);
digitalWrite(saida1, LOW);
delay(10);
digitalWrite(saida2, HIGH);
25
delay(10);
digitalWrite(saida2, LOW);
delay(10);
digitalWrite(saida3, HIGH);
delay(10);
digitalWrite(saida3, LOW);
delay(10);
digitalWrite(saida4, HIGH);
delay(10);
digitalWrite(saida4, LOW);
delay(10);
}
l=180;
}
if(k==100){
for (i=0;i<50;i++){
digitalWrite(saida4, HIGH);
delay(10);
digitalWrite(saida4, LOW);
delay(10);
digitalWrite(saida3, HIGH);
delay(10);
digitalWrite(saida3, LOW);
delay(10);
digitalWrite(saida2, HIGH);
delay(10);
digitalWrite(saida2, LOW);
delay(10);
digitalWrite(saida1, HIGH);
delay(10);
digitalWrite(saida1, LOW);
delay(10);
}
k=0;
}
}
if(digitalRead (sens1)==LOW && digitalRead (sens2)==LOW && digitalRead (sens3)==HIGH){
k=100;
if (j==0 && l==180){
delay(1000);
}
if (j==50){
for (i=0;i<50;i++){
digitalWrite(saida1, HIGH);
delay(10);
digitalWrite(saida1, LOW);
26
delay(10);
digitalWrite(saida2, HIGH);
delay(10);
digitalWrite(saida2, LOW);
delay(10);
digitalWrite(saida3, HIGH);
delay(10);
digitalWrite(saida3, LOW);
delay(10);
digitalWrite(saida4, HIGH);
delay(10);
digitalWrite(saida4, LOW);
delay(10);
}
j=0;
}
if (l==0){
for (i=0;i<100;i++){
digitalWrite(saida1, HIGH);
delay(10);
digitalWrite(saida1, LOW);
delay(10);
digitalWrite(saida2, HIGH);
delay(10);
digitalWrite(saida2, LOW);
delay(10);
digitalWrite(saida3, HIGH);
delay(10);
digitalWrite(saida3, LOW);
delay(10);
digitalWrite(saida4, HIGH);
delay(10);
digitalWrite(saida4, LOW);
delay(10);
}
}
}
}
27
/*testando os LEDs */
int led1 = 8;
int led2 = 9;
int led3 = 10;
int sensor1 = 3;
int sensor2 = 4;
int sensor3 = 5;
int sen1;
int sen2;
int sen3;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
}
void loop() {
delay (25);
int sen1 = digitalRead (sensor1);
int sen2 = digitalRead (sensor2);
int sen3 = digitalRead (sensor3);
if (sen1 == HIGH){
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
}
else if (sen2 == HIGH){
digitalWrite(led2, HIGH);
28
delay(1000);
digitalWrite(led2, LOW);
delay(1000);
}
else if (sen3 == HIGH){
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW);
delay(1000);
}
}
29