sistema automatizado de coleta de dados para experimentos ... · dados em experimentos ... uso de...
TRANSCRIPT
UNICENP – Centro Universitário Positivo
Núcleo de Ciências Exatas e Tecnológicas
Curso de Engenharia da Computação
Sistema automatizado de coleta de dados para experimentos biológicos
baseados em labirintos e animais do tipo “ratos brancos”
Autora: Natasha Krassuski Fortes
Prof. Orientador: Álvaro R. Cantieri
Curitiba
2003
i
SUMÁRIO
LISTA DE FIGURAS ....................................................................................................................................................IV
LISTA DE TABELAS ....................................................................................................................................................V
RESUMO ..........................................................................................................................................................................VI
ABSTRACT....................................................................................................................................................................VII
1 INTRODUÇÃO ......................................................................................................................................................1
1.1 DESCRIÇÃO DOS OBJETIVOS .........................................................................................................................2 1.2 JUSTIFICATIVA ................................................................................................................................................2
2 REVISÃO TÉCNICA E BIBLIOGRÁFICA..................................................................................................3
2.1 ANÁLISE DE COMPORTAMENTO DE ANIMAIS ..............................................................................................3 2.2 EXPERIMENTOS COM RATOS OU CAMUNDONGOS NAS ÁREAS DE FARMACOLOG IA E PSICOLOGIA......3
2.2.1 Caixa de Skinner .......................................................................................................................................4 2.2.2 Labirinto aquático....................................................................................................................................4 2.2.3 Caixa de esquiva.......................................................................................................................................4
2.3 OS ANIMAIS DE TESTE....................................................................................................................................6 2.3.1 Características dos Camundongos........................................................................................................7
2.4 FERRAMENTAS PARA O PROJETO..................................................................................................................8 2.4.1 Câmera .......................................................................................................................................................8 2.4.2 Microcontrolador .....................................................................................................................................9 2.4.3 Conversor analógico/digital ADC 0808............................................................................................. 10 2.4.4 Linguagem de Programação C++...................................................................................................... 11 2.4.5 Linguagem de Programação Assembly para 8051........................................................................... 11
3 O PROJETO .......................................................................................................................................................... 12
3.1 VISÃO GERAL................................................................................................................................................ 12 3.2 EXPERIMENTO DE VALIDA ÇÃO ................................................................................................................... 12 3.3 FUNCIONAMENTO......................................................................................................................................... 13
3.3.1 Módulos de hardware e software utilizados ...................................................................................... 13 3.3.2 Módulo de Aquisição de imagens........................................................................................................ 13 3.3.3 Módulo de Processamento de Imagens .............................................................................................. 14 3.3.4 Módulo Microcontrolado ...................................................................................................................... 15 3.3.5 Módulo de Sensores e Atuadores......................................................................................................... 16
3.4 D IAGRAMAS .................................................................................................................................................. 17 3.4.1 Hardware................................................................................................................................................. 17 3.4.2 Software.................................................................................................................................................... 21
ii
3.5 INTERFACES................................................................................................................................................... 26 3.6 DESCRIÇÃO DA BASE DE DADOS ................................................................................................................ 29
4 IMPLEMENTAÇÃO .......................................................................................................................................... 30
4.1 HARDWARE................................................................................................................................................... 30 4.1.1 Conversor A/D de Sensores Analógicos............................................................................................. 31 4.1.2 Controlador de Sensores Digitais, Atuadores e Endereçamento................................................... 33 4.1.3 Emissor do Sensor de Passagem .......................................................................................................... 36 4.1.4 Receptor do Sensor de Passagem ........................................................................................................ 37 4.1.5 Placa de Barramento............................................................................................................................. 38 4.1.6 Sensor de Luminosidade e Temperatura ............................................................................................ 40
4.2 SOFTWARE ..................................................................................................................................................... 42 4.2.1 Linguagem C++ ..................................................................................................................................... 42 4.2.2 Linguagem Assembler para 8051 ........................................................................................................ 44
4.3 ANÁLISE DE CUSTOS ..................................................................................................................................... 44
5 TESTES................................................................................................................................................................... 45
5.1 TESTES D E VALIDAÇÃO....................................................................................................................... 45 5.1.1 Módulo de Aquisição de Imagens........................................................................................................ 45 5.1.2 Módulo de Processamento de Imagens .............................................................................................. 46 5.1.3 Módulo Microcontrolado ...................................................................................................................... 46 5.1.4 Módulo de Sensores e Atuadores......................................................................................................... 46 5.1.5 Validação do Protótipo......................................................................................................................... 46
6 CONCLUSÕES ..................................................................................................................................................... 47
7 REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................................................... 48
ANEXO 1 – ESQUEMÁTICO DA PLACA MICROCONTROLAD ORA ..................................................... 50
ANEXO 2 – CRONOGRAMA FÍSICO .................................................................................................................... 53
ANEXO 3 - LABIRINTO ............................................................................................................................................. 54
iii
LISTA DE ABREVIATURAS
ADC – Analog to Digital Converter;
CI – Circuito Integrado;
CMOS – Complementary Metal Oxide Semi-Conductor;
CPU – Central Processing Unit;
DFD – Diagrama de Fluxo de Dados;
EEPROM – Electrically Erasable Programmable Ready Only Memory;
EPROM – Erasable Programmable Ready Only Memory;
E/S – Entrada / Saída;
LCE – Labirinto em cruz elevado;
LDR – Light Depending Resistor;
LSB – Lower Signifcative Bit;
LTG – Lamotrigina;
MDF - Fibras de Madeira de Média Densidade (Medium Density Fiberboard)
NAT – Natação;
ODBC – Open Database Computing Driver;
PC – Personal Computer;
PIC – Projeto de Iniciação Científica;
RAM – Random Access Memory;
REC – Resposta Emocional Condicionada;
RGB – Red-Green-Blue;
ROM – Ready Only Memory;
UART – Universal Assynchronous Receiver Transmitter;
USB – Universal Serial Bus;
VGA – Video Graphics Adapter / Array;
WDM – Windows Device Manager.
iv
LISTA DE FIGURAS
FIGURA 1 - MUS MUSCULUS ...............................................................................................................................................6 FIGURA 2 – DIVISÃO DO LABIRINTO PARA PROCESSAMENTO DAS IMAGENS............................................................. 14 FIGURA 3 - ESQUEMÁTICO DO SENSOR DE PASSAGEM................................................................................................. 17 FIGURA 4 – CIRCUITO ELETRÔNICO DOS SENSORES DE LUMINOSIDADE E TEMPERATURA.................................... 17 FIGURA 5 – DIAGRAMA EM BLOCOS DO HARDWARE ...................................................................................................... 18 FIGURA 6- ESQUEMÁTICO DO ALARME........................................................................................................................... 18 FIGURA 7 - ESQUEMÁTICO DO CIRCUITO DOS SENSORES ANALÓGICOS ..................................................................... 19 FIGURA 8 - ESQUEMÁTICO DO CIRCUITO DOS SENSORES DIGITAS, ATUADORES E LÓGICA DE ENDEREÇAMENTO 20 FIGURA 9 - DIAGRAMA DE CASO DE US O........................................................................................................................ 21 FIGURA 10 - D IAGRAMA DE SEQÜÊNCIA DE CONFIGURAÇÃO DO 8051 ..................................................................... 22 FIGURA 11 - D IAGRAMA DE SEQÜÊNCIA DO EXPERIMENTO........................................................................................ 22 FIGURA 12 - D IAGRAMA DE SEQÜÊNCIA DE SALVAR RESULTADOS .......................................................................... 23 FIGURA 13 - D IAGRAMA DE SEQÜÊNCIA DE ABRIR RESULTADOS.............................................................................. 23 FIGURA 14 - DFD DE PESQUISA ....................................................................................................................................... 24 FIGURA 15 - DFD DE EXCLUSÃO ..................................................................................................................................... 24 FIGURA 16 – FLUXOGRAMA............................................................................................................................................. 25 FIGURA 17 - T ELA PRINCIPAL DO SOFTWARE DO COMPUTADOR ................................................................................ 26 FIGURA 18 - T ELA DE CONFIGURAÇÃO........................................................................................................................... 27 FIGURA 19 – T ELA DE RESULTADOS ............................................................................................................................... 27 FIGURA 20 - T ELA DE PESQUISA ...................................................................................................................................... 28 FIGURA 21 - INTERFACE DE EXCLUSÃO.......................................................................................................................... 28 FIGURA 22 - T ELA DE INFORMAÇÕES.............................................................................................................................. 28 FIGURA 23 – LAYOUT DA PLACA DO CONVERSOR A/D DE SENSORES ANALÓGICOS .............................................. 31 FIGURA 24 - LAYOUT DA PLACA DO CONTROLADOR DE ATUADORES....................................................................... 33 FIGURA 25 - LAYOUT DA PLACA DO EMISSOR DO SENSOR DE PASSAGEM ................................................................ 36 FIGURA 26 - LAYOUT DA PLACA DO RECEPTOR DO SENSOR DE PASSAGEM ............................................................. 37 FIGURA 27 - ESQUEMÁTICO DO CIRCUITO DAS INTER-CONEXÕES DE PLACAS ......................................................... 38 FIGURA 28 - LAYOUT DA PLACA DA PLACA DE B ARRAMENTO................................................................................... 39 FIGURA 29 - LAYOUT DA PLACA DE SENSORES DE LUMINOSIDADE E T EMPERATURA............................................ 40 FIGURA 30 - ESQUEMÁTICO DO K IT DO MICROCONTROLADOR 8051......................................................................... 50 FIGURA 31 - D IMENSÕES DO LABIRINT O......................................................................................................................... 54 FIGURA 32 - POSICIONAMENTO DAS TÁBUAS NO LABIRINTO. ..................................................................................... 55
v
LISTA DE TABELAS
T ABELA 1 - TABELA DE EXPERIMENTOS ........................................................................................................................ 29 T ABELA 2 - TABELA DE PONTOS ...................................................................................................................................... 29 T ABELA 3 - CUSTOS ........................................................................................................................................................... 44 T ABELA 4 - TÁBUAS DO LABIRINTO. ............................................................................................................................... 55
vi
Resumo
O sistema apresentado nesse projeto tem a finalidade de automatizar coleta de
dados em experimentos biológicos com pequenos animais, principalmente do tipo análise
de comportamento com ratos brancos ou camundongos. Essa automatização será feita por
meio da aquisição e processamento de imagens dos movimentos dos animais em um
labirinto, retornando os dados de interesse dentro de um conjunto pré-determinado, e do
uso de um sistema microcontrolado que realizará a automação do controle de variáveis de
um ambientes e de possíveis estímulos aplicados aos animais. O sistema tem como
principal característica à flexibilidade de aplicação, pois pequenas alterações nas
configurações e no código do software possibilitam sua utilização em diversos tipos de
experimentos similares.
Palavras -chave: experimentos biológicos, análise de comportamento, coleta automática de
dados.
vii
Abstract
The system presented on this project has the purpose to automatize the acquisition
of data in biological experiments with small animals, preferentially the type used to
analyses the behavior with mices or rats . This automatization will be made by means of
the acquisition and image processing of animals movement on a labyrinth, returning the
interest data on a pré-determinated group, and the use of a micro controlled system that
will carry through the automation of ambient variable control and possible stimulus
applied on the animals. The system has as principal characteristic the application
flexibility, therefore small configuration changes and alterations on software make
possible his utilization on a large type of similar experiments.
Key Words: b iological experiments, behavior analyses, automatic data collection.
1
1 INTRODUÇÃO
A análise de comportamento de animais é uma técnica já antiga de estudo aplicada
a vários ramos da ciência humana. Sua utilização permite aos estudiosos a busca de
respostas para muitas questões relacionadas as mais diversas áreas do conhecimento
humano. Dentre elas, possivelmente uma das áreas que mais influenciam o dia a dia do
homem é o desenvolvimento de medicamentos, onde todos os testes preliminares devem
ser feitos com a utilização destes animais, devido ao risco envolvido. Este tipo de análise
necessita de um número grande de testes em vários grupos de animais, pois a confirmação
da ação dos fármacos é baseada em análise estatística do resultado obtido para cada animal
em separado. Dessa forma o número de repetição de coleta de dados envolvida é grande,
realizada pelo experimentador, muitas vezes de forma manual, o que pode gerar
imprecisões devido aos métodos utilizados.
Com o surgimento dos computadores, estas ativida des podem se tornar mais simples
de serem resolvidas com uma maior precisão através da coleta automática desses dados. A
tecnologia necessária para o desenvolvimento de sistemas desse tipo com o grau de
precisão exigida está atualmente disponível para uso geral a baixo custo, o que é um
grande incentivo a este tipo de desenvolvimento.
Dessa forma, procurou-se neste trabalho realizar o desenvolvimento de um protótipo
de sistema de coleta de dados para este tipo de experimento, buscando os melhores
resultados com relação à eficiência nas aplicações dos mesmos nas áreas de biologia,
farmacêutica e psicologia, que se utilizam deste tipo de análise mais diretamente, mas que
pode também ser facilmente adaptado a experimentos de outras áreas. A base fundamental
deste sistema é o processamento de imagens utilizando-se o MICROCOMPUTADOR,
auxiliada pelo controle automático de variáveis de interesse baseado em um módulo de
controle microprocessado.
2
1.1 Descrição dos Objetivos
O projeto tem por objetivo viabilizar o estudo do comportamento de animais
estimulados por fatores externos, tais como drogas, pulsos elétricos, alimentação, etc. O
objetivo geral é a criação de um sistema flexível de coleta de dados e automação de
estímulos para a utilização em experimentos de análise de comportamento com animais do
tipo “ratos brancos” ou camundongos.
Os objetivos específicos são:
ü Criar um protótipo de sistema de controle de sensores e atuadores, com oito
entradas analógicas, oito entradas digitais e oito saídas com acionadores de relês, baseado
em microcontrolador, com interligação com o MICROCOMPUTADOR e software de
interação com usuário para programação do sistema, para utilização na manipulação das
variáveis ambientes no experimento.
ü Criar um sistema de coleta e processamento de imagem proveniente de uma câmera
do tipo Web Câmera, com o devido processamento e armazenamento dos dados relevantes
ao experimento para uma análise posterior.
ü Desenvolver o sistema para que o mesmo possua flexibilidade de aplicação,
podendo ser utilizado posteriormente em diversos tipos de experimentos desde que sejam
realizadas alterações necessárias no hardware e software.
1.2 Justificativa
Um problema relevante encontrado atualmente nos experimentos biológicos com
animais em ambiente de laboratório é o fato de não existirem sistemas digitais flexíveis e
de baixo custo para a aquisição de dados comportamentais das mesmas. Todo o processo é
geralmente feito manualmente gerando imprecisões e lentidão. Dessa forma, o estudo de
um dispositivo para automatização deste processo é um problema relevante e possui uma
aplicação prática importante no desenvolvimento deste tipo de experimento.
3
2 REVISÃO TÉCNICA E BIBLIOGRÁFICA
2.1 Análise de comportamento de animais
O estudo do comportamento dos animais não é uma área nova na ciência humana.
No entanto, este estudo nunca possuiu um grau de importância tão grande no
desenvolvimento das ciências que afetam diretamente o ser cidadão comum,
principalmente nas áreas médica e psicológica, como agora. Dentre os experimentos
baseados em comportamentos de animais, os relacionados às áreas da psicologia do
comportamento e da farmacologia possuem um nível de importância prática muito grande.
Dentre os experimentos destas áreas, os mais importantes são descritos a seguir.
2.2 Expe rimentos com ratos ou camundongos nas áreas de farmacologia e
psicologia
Os experimentos relacionados à área de farmacologia são bastante utilizados para o
teste dos efeitos de um determinado medicamento sobre o comportamento, memória ou
outras variáveis que podem ser diretamente afetadas por este. Um exemplo de experimento
deste tipo é um estudo realizado na UNICAMP, intitulado “Efeitos da administração
crônica de lamotrigina sobre a aprendizagem e a memória em ratos submetidos ao teste do
labirinto em cruz elevado” [ 11 ]. Neste experimento notamos claramente a necessidade da
análise dos dados relacionados ao comportamento, mais especificamente a movimentação
do rato sobre o labirinto. O número de repetições da análise é grande, o que nos demonstra
a utilidade da automação do processo.
Já no caso da psicologia, o estudo geralmente tem como objetivo a verificação de
alteração nos padrões de comportamento devido a condicionamentos, memórias, traumas
ou outras variáveis deste tipo. Um exemplo de estudo deste tipo é o experimento intitulado
“Influência da temperatura da água sobre o comportamento de ratos submetidos a estresse
por natação” [ 12].
Dentre os experimentos possíveis, os mais comumente utilizados para os fins
descritos anteriormente são os definidos a seguir.
4
2.2.1 Caixa de Skinner
Um dos experimentos mais utilizados para teste de comportamento em ratos é a
caixa de Skinner [ 9 ]. Tipicamente, um rato é colocado dentro de uma caixa fechada que
contém apenas uma alavanca e um fornecedor de alimento. Quando o rato aperta a
alavanca sob as condições estabelecidas pelo experimentador, uma bolinha de alimento cai
na tigela de comida, recompensando assim o rato. Após o rato ter forne cido essa resposta o
experimentador pode colocar o comportamento do rato sob o controle de uma variedade de
condições de estímulo. Além disso, o comportamento pode ser gradualmente modificado
ou modelado até aparecerem novas repostas que ordinariamente não fazem parte do
repertório comportamental do rato.
2.2.2 Labirinto aquático
Criado em 1982 por Richard Morris, consistia de uma piscina circular de 132 cm de
diâmetro e 53cm de altura, preenchida com água a 26 °C e tornada opaca pela adição de
leite. Em um local pré-estabelecido, havia uma plataforma submersa, 1 cm abaixo do nível
da água, na qual o animal podia subir para escapar da água. Como não existiam pistas
locais que identificassem a posição da plataforma o animal tinha que navegar para um local
particular do espaço, baseando-se nas pistas externas ao aparelho. Isto é, o animal devia
localizar uma plataforma que ele não podia ver, ouvir ou cheirar [ 10 ].
2.2.3 Caixa de esquiva
É uma caixa que possui dois compartimentos ligados através de uma porta onde
existe um sensor de passagem. Em um dos compartimentos coloca-se o animal e no outro,
comida. No compartimento onde existe a comida, uma grade metálica ligada a um gerador
elétrico é acionada cada vez que o rato entra, fornecendo assim um choque de baixa
corrente, suficientemente forte para causar uma dor incômoda no mesmo. O objetivo deste
experimento é a verificação da memória do animal, uma vez que cada vez que este entra no
compartimento da comida pode-se deduzir que o mesmo tenha perdido a lembrança do
evento anterior. É um dos experimentos utilizados para o teste de drogas com efeito sobre a
memória.
5
Esquiva passiva (ou inibitória) step-down: o objetivo desse teste, formado por
uma caixa que contém uma plataforma estreita localizada uma polegada acima a um piso
de metal, é de observar o animal descendo o assoalho recebendo choques nas patas. O
tempo que o animal demora para descer é medido, é realizado uma média dos valores e é
avaliado o índice de aprendizagem pelo tempo de demora que o animal leva para descer a
plataforma.
Esquiva passiva step-through: o objetivo desse teste, formado por uma caixa com
um pequeno compartimento intensamente iluminado, conectado a uma porta que por sua
vez liga um compartimento escuro com barras metálicas, é o de, colocado o animal no
compartimento iluminado, é testar o índice de retenção do animal quando esse tenta ir para
o compartimento escuro e recebe choques nas patas.
Esquiva ativa em uma caixa de Skinner (lever press box ): o objetivo desse teste,
composto por uma caixa com uma barra em uma das quatro paredes e um emissor do
estímulo condicionado (luz ou som), é o de avaliar a intuição do animal em pressionar a
barra evitando assim o choque. O animal realiza o aprendizado ao perceber que antes de
cada choque o emissor de estímulo condicionado é acionado. Caso ele pressione a barra,
esse emissor não é acionado.
Esquiva ativa em uma shuttle box: o objetivo desse teste, composto por uma caixa
dividida em dois compartimentos com grades do assoalho eletrificadas e separadas por
uma porta em forma de guilhotina ou por uma barreira transponível, é o de avaliar o teste
de retenção, bem como a caixa de esquiva ativa de uma via, porém, o choque não é dado
quando o animal emite uma resposta de esquiva, isto é, quando o animal corre do
compartimento de punição para o compartimento seguro dentro de um determinado tempo.
A latência de entrada no compartimento seguro é aferida como o índice de retenção da
tarefa [ 13 ].
6
2.3 Os animais de teste
Os animais de laboratório mais comumente utilizados em experimentos do tipo
citado no trabalho são os chamados “ratos brancos” e camundongos do tipo Mus musculus
(Figura 1). São comumente utilizados em experimentos porque são animais inteligentes e
aprendem rápido, além serem semelhantes aos humanos em alguns aspectos como:
amamentam seus filhotes com leite materno e também constroem comunidades.
Estes animais são produzidos e criados em ambiente controlado de forma a evitar
estímulos que poderiam alterar o resultado dos experimentos. São geralmente realizadas
reproduções consangüíneas de forma a se obter um grupo de animais com as mesmas
características genéticas, o que nos garante a repetibilidade dos experimentos dentro dos
“grupos teste”.
Figura 1 - Mus musculus
De modo geral, os ratos apresentam hábitos noturnos, (embora a visão deles seja
pouco desenvolvida diferenciando apenas claro e escuro), possuem paladar e olfato
bastante apurados. A audição e o tato são os sentidos mais aperfeiçoados, que auxiliam na
locomoção, busca de alimentos e abrigo. Através da audição, conseguem escapar do perigo
com antecedência. A presença de vibrissas “bigodes” e pêlos sensoriais dispos tos ao longo
do corpo “pêlo-guarda” possibilitam a sua movimentação em ambientes escuros, caminhar
junto às paredes e dentro de túneis subterrâneos.
O camundongo de laboratório difere-se do camundongo doméstico apenas pelo fato
dele ser completamente branco, albino, possuindo a pelagem branca e a coloração dos
olhos vermelha. No demais, ambos possuem as seguintes mostradas a seguir.
7
2.3.1 Características dos Camundongos
As características dos camundongos listadas a seguir foram extraídas da referência [
5 ] .
Tempo de vida: aproximadamente um ano;
Maturidade sexual: 6 semanas;
Gestação: 19 a 21 dias;
Filhotes: 3 a 8 por ninhada;
Procriação: 5 a 6 vezes pro ano;
Tamanho médio (incluindo a cauda): 18 cm;
Orelhas: grandes;
Olhos: grandes e salientes;
Focinho: pequeno;
Peso: aproximadamente 15 gramas;
Fezes (tamanho / forma): 3 mm / finas, lisas e afiladas nas pontas;
Hábitos: Domiciliares; vivem em grupo; familiares ou casais;
Habitat: Intradomiciliares;
Ninhos: Buracos nas paredes, dispensas e outros;
Distância (Abrigo/Alimento): Mais ou menos 10 metros no máximo;
Alimentos preferidos: Cereais e alimentos açucarados;
Comportamento: Neofílico;
Quantidade de alimento diário: Aproximadamente 3 gramas.
8
2.4 Ferramentas para o projeto
2.4.1 Câmera
Uma câmera digital é um dispositivo capaz de digitalizar em forma de quadros,
imagens que posteriormente podem compor um vídeo digital. Essas câmeras são produtos
de uso geral e atualmente seu custo é acessível para a maior parte dos usuários de
informática. Por meio desse dispositivo é que será efetuada a captura da movimentação da
cobaia pelo labirinto, para posterior processamento. O funcionamento básico de uma
webcam USB genérica é:
ü Passo 1: Ao estar conectada ao computador, ela envia um sinal de requisição para a
porta USB e aguarda;
ü Passo 2: O driver da câmera detecta um valor vindo por um endereço específico da
câmera e retorna o sinal, indicando a possibilidade de transferência para o computador e
para o software gerenciador do driver do dispositivo (WDM - Windows Device Manager);
ü Passo 3 - A câmera envia os dados para o software e ao final, envia um último
sinal, dizendo para finalizar a conexão com o dispositivo USB.
A câmera utilizada para o desenvolvimento do protótipo foi do tipo Creative Labs
WebCam Go. As especificações desta são as seguintes:
ü Sensor de imagem do tipo CCD, VGA colorido de resolução 640x480 pixels;
ü 4 MB de memória não volátil para armazenamento de imagem;
ü Resistência a choque;
ü Foco ajustável;
ü Lente de alcance de 75mm até o infinito;
ü Focalizador ótico;
ü Captura de vídeo em até 30 quadros por segundo (fps) nas seguintes resoluções:
160x120 e 320x240;
ü Captura de vídeo em até 15 quadros por segundo (fps) nas seguintes resoluções:
640x480;
ü Qualidade de 24 bits RGB e 16 bits RGB de cor em todas as resoluções;
ü Conector Universal Serial Bus (USB). [ 3 ]
9
Apesar da resolução baixa, os testes iniciais demonstraram que a mesma é
adequada para a aplicação em questão. O principal motivo que justifica a escolha da
câmera em questão foi seu baixo custo e grande disponibilidade no mercado. Devido a
essas características, o protótipo final deve ter seu custo reduzido, o que é um dos objetivos
principais, pois possibilita sua larga aplicação prática.
2.4.2 Microcontrolador
O microcontrolador é a parte fundamental do sistema microcontrolado. É dele a
responsabilidade de processar as informações provenientes dos sensores analógicos/digitais
e de realizar as ações dos atuadores presentes no experimento. O microcontrolador
escolh ido para a aplicação no protótipo é o 8031 da família 8051, processadores de
aplicações gerais.
O microcontrolador 8051 é rápido, com um clock típico de 12 MHz. Suas
características de hardware e software permitem a sua utilização como um poderoso
controlador, sobretudo em sistemas para lógica seqüencial e combinatória. Como o 8031
não possui memória interna, no projeto da Intel existe a possibilidade de expansão para a
utilização de memória externa. Possui 2 temporizadores/contadores de 16 bits; oscilador de
clock interno e também um canal de comunicação serial do tipo UART full-duplex. Cujo
propósito do UART é converter dados para bits, enviá-los pela linha serial e reconstruir os
dados novamente na outra extremidade da linha. Pode trabalhar com dados lógicos e
aritméticos complexos além de trabalhar com banco de registradores nominais. As
principais especificações técnicas do microcontrolador são as seguintes:
10
2.4.2.1 Características do Microcontrolador 8051
A seguir temos algumas características do microcontrolador 8051 extraídas de [ 7 ].
ü CPU de 8-bits otimizada para aplicações de controle;
ü Processamento Booleano Amplo (lógica Single -bit);
ü Espaço de endereçamento de Memória de Programa de 64K;
ü Espaço de endereçamento de Memória de Dados de 64K;
ü 4K bytes de Memória de Programa embutidos no microcontrolador;
ü 128 bytes de RAM de Dados embutidos no microcontrolador;
ü 32 linhas de E/S programáveis;
ü Dois contadores/timers de 16-bits;
ü UART Full duplex;
ü Estrutura de interrupção com dois níveis de prioridade;
ü Oscilador de relógio embutidos no microcontrolador.
2.4.3 Conversor analógico/digital ADC 0808
Os conversores analógico-digitais são circuitos ou componentes que ao terem suas
entradas excitadas por uma tensão ou corrente provenientes de um sinal o qual deseja -se
medir produzem um código digital equivalente que pode ser processado pelo controlador.
[ 6 ]
Os ADC’s são usados para compatibilizar a interface entre instrumentos digitais ou
computadores com o mundo analógico. Em qualquer sistema de instrumentação típico,
algum tipo de sinal deve ser aplicado ao computador. Este sinal, geralmente proveniente de
um amplificador, representará o valor de algum fenômeno analógico que foi convertido
para sinais elétricos através de transdutores.
Existem vários tipos de conversores A/D. As características de cada tipo definem as
aplicações típicas. São importantes em aplicações industriais, comerciais e militares. O uso
de circuitos integrados tem reduzido o tamanho, aumentado a confiabilidade, e criadas
novas aplicações.
O desenvolvimento da tecnologia tem produzido conversores A/D de baixo custo
permitindo a utilização destes circuitos integrados em áreas de controle de processo,
sinalização, telemetria e indústria automotivas.
11
O conversor A/D escolhido para utilização nesse projeto foi o circuito integrado
ADC0808 pela quantidade de níveis de codificação, bem como pelo fato dele possuir um
mutiplexador para as suas oito entradas, tornando mais simples o circuito responsável
pelos sensores analógicos , que precisam de uma conversão para que os dados sejam
enviados ao microcontrolador.
2.4.4 Linguagem de Programação C++
A linguagem C e C++ é utilizada na implementação científica, por permitir uma
maior abrangência à implementação em baixo, médio e alto nível. Com a orientação por
objetos, através do C++, consegue -se além desse leque amplo de implementação, uma
maior organização no código e, conseqüentemente, um melhor entendimento pós-criação
do código. Como nesse projeto foi utilizada, além da interface com o usuário, a
comunicação em baixo nível com dispositivos, como câmera e microcontrolador (através
da porta serial do computador), a utilização da linguagem C++ está justificada, pois ela
permite essa implementação facilitada, bem mais acessível do que com as demais
ferramentas presentes no mercado. Além disso, durante a graduação, utilizou-se como
padrão de referência em programação, a linguagem C++.
2.4.5 Linguagem de Programação Assembly para 8051
A linguagem de programação em assembler utilizada no projeto é voltada para
programação do microcontrolador 8051. Esta programação possui sintaxe própria e por
isso ela não é portável para outros processadores a não ser os da família 8051. Assim como
todas as linguagens assembler (pois essa sofre alterações para cada tipo de processador que
é aplicada), ela é de baixo nível, o que faz com que os programas feitos nessa linguagem
serem processados diretamente no dispositivo.
12
3 O PROJETO
3.1 Visão Geral
O projeto consiste em um sistema automatizado de coleta de dados para
experimentos em labirintos com animais do tipo mus musculus, ou “ratos brancos”. É
composto de duas partes fundamentais: a primeira de coleta e processamento de imagens
para verificação de grandezas como deslocamento, velocidade, trajetória, etc., e a outra, de
interface de sensores e atuadores programáveis para desenvolvimento de experimentos
com interações mais complexas.
O primeiro sistema faz a captura digital do vídeo com a movimentação do animal
pelo labirinto para depois poder realizar o processamento de informações cabíveis, que são
armazenadas em um banco de dados para uma análise posterior.
O segundo sistema é responsável pela interação com o animal. Através dele é
realizada a programação dos sensores e dos atuadores e também, a verificação dos eventos
ocorridos durante o experimento. Foi utilizado um sensor de passagem, indicando a
localização atual do animal no labirinto.
3.2 Experimento de validação
Para a validação do protótipo, planejava -se realizar algum dos diversos
experimentos definidos na seção 2.2. Entretanto, não foi possível realizar um experimento
em conjunto com o Curso de Psicologia da instituição por falta de um professor orientador
para o experimento de verificação do projeto. Então, tomou-se a decisão de realizar um
experimento com um labirinto (Figura 31 e Figura 32) e com hamisters russos, adquiridos
à parte, para efeito de verificação de condicionamento. Os hamisters serão utilizados para
demonstrar todas as funcionalidades do sistema. Foi escolhido o hamister tipo russo,
devido ao seu porte bastante semelhante ao rato branco.
13
3.3 Funcionamento
Inicialmente o usuário deverá escolher no computador, quais serão os parâmetros
dos sensores analógicos que estarão habilitados. Em seguida, deverá realizar a
transferência dessa configuração para o microcontrolador. Após isso, será definida a
duração do experimento e deverá ser ativada a gravação ou o usuário irá determinar
manualmente quando o experimento acaba ou até mesmo cancela a ação. Durante a
gravação, os quadros são armazenados no computador. Após o término do experimento, o
sistema processa estes valores, gerando a posição do animal em cada instante de tempo e
retorna as variáveis importantes para este, além de salvar esses dados em um banco para
uma análise posterior.
3.3.1 Módulos de hardware e software utilizados
O hardware base do projeto é composto pelo kit do microcontrolador 8051, cujo
esquemático é mostrado no ANEXO 1, das interfaces de sensores analógico/digitais,
atuadores e da câmera digital.
O software do projeto é composto de três partes. A primeira é um programa
elaborado em assembler para o microcontrolador 8031, que trata do controle dos sensores e
dos atuadores. As outras duas são feitas na linguagem C++. Um delas é responsável pela
programação dos componentes (sensores/atuadores) a serem habilitados no
microcontrolador através da porta serial. A outra, é responsável pelo processamento das
imagens capturadas através da Web Câmera e da composição dos resultados. Elas, então,
são processadas, mostradas na tela e salvas em um banco de dados.
3.3.2 Módulo de Aquisição de imagens
Este módulo é responsável por capturar as imagens do labirinto e armazená -las em
local apropriado. As imagens são armazenadas no formato bitmap com resolução de 320 x
240 pixels e profundidade de cor de 24 bits. Para fazer as aquisições das imagens são
utilizadas macros do Windows. A câmera é acoplada ao labirinto a uma altura mínima de
40 centímetros, devido a sua capacidade mínima de focalização. A transferência dos dados
é dada por meio de uma interface USB da câmera até o computador que processa os dados.
14
3.3.3 Módulo de Processamento de Imagens
Neste módulo as imagens são analisadas, obtendo-se os dados de interesse para os
experimentos. Essas imagens são processadas por um programa feito na linguagem C++,
capaz de reconhecer a variação de cores entre o labirinto de cor bege claro fosca e o
hamister, que quase na sua totalidade é cinza escuro, obtendo os pontos em que o animal se
encontra em cada intervalo de tempo de aquisição. Para cada frame (quadro) do filme
capturado, os pixels são agrupados em quadrantes, cada qual com 300 pixels, resultado da
divisão da imagem de 320 x 240 pixels em 16 linhas por 16 colunas. Para cada quadrante,
o total de pixels é varrido e é realizada uma análise que separa os pixels considerados
“claros” e “escuros” presentes neste, ou seja, pixels com valores abaixo ou acima do limiar
especificado para a diferenciação de cor entre o rato e o labirinto. Isto é realizado tomando-
se a média dos seus valores RGB, e comparando-se o valor obtido com o limiar padrão
adotado, o que indica se ele é um pixel claro ou escuro. O quadrante que possuir maior
quantidade de pixels escuros é marcado como local onde o rato se encontra, ou seja, é
armazenada a coordenada matricial da posição deste. Esse procedimento é repetido para
todas os quadros capturados, sendo que para cada um deste a nova coordenada é
armazenada. A Figura 2 ilustra a divisão da imagem em 16 linhas por 16 colunas.
Figura 2 – Divisão do labirinto para processamento das imagens
15
O valor de 16 linhas por 16 colunas foi escolhido empiricamente através da análise
do espaço ocupado pelo hamster na imagem adquirida. Este valor pode ser alterado para
que se possa adequar o sistema ao labirinto a ser utilizado. A quantidade de linhas e
colunas deve ser proporcional ao tamanho da imagem, no caso 320 x 240 pixels, para que
não haja espaçamentos entre os quadrantes, o que resultaria em perda de dados das
imagens.
O valor limiar para diferenciação do labirinto e do hamster também é configurável
via software, de forma que diversos tipos de experimentos podem ser realizados com uma
certa precisão, desde que estas cores sejam razoavelmente distintas.
3.3.4 Módulo Microcontrolado
O módulo microcontrolador possui oito entradas analógicas e oito entradas digitais
para sensores e oito saídas para atuadores. As entradas analógicas permitem o acoplamento
de dispositivos sensores que em um determinado valor, acionam um evento que pode ser,
por exemplo, um alarme para o operador em uma situação de erro. As entradas digitais
servem para acoplar mecanismos sensores que enviam os dados na forma binária , como
por exemplo, os módulos de sensores infravermelhos utilizados no experimento de
validação. As saídas para atuadores podem acionar cargas de até 1A, o que permite acoplar
controle automático a dispositivos diversos de interesse, como por exemplo, um módulo
solenóide para controle de portas do labirinto.
16
3.3.5 Módulo de Sensores e Atuadores
Este módulo é responsável pela aquisição de parâmetros presentes avaliados através
dos sensores analógicos e digitais utilizados no experimento, bem como a ativação de
qualquer dispositivo necessário para a realização deste, conforme a necessidade do usuário.
Foi desenvolvido de forma a tornar flexível a utilização do sistema em diversos tipos de
experimentos. Desta forma, possibilita a ligação de qualquer sensor previamente
construído que entregue em sua saída o dado analógico ou digital dentro dos valores de 0V
a 5V, valores padrões de interface do sistema. Neste módulo, estão previstas oito entradas
analógicas e oito entradas digitais, além de oito saídas de atuadores que ativam relês que
podem ligar qualquer dispositivo que consuma corrente de até 1A. O módulo realiza a
varredura constante de todos os sensores em loop. As entradas analógicas são ativadas
através da comparação do valor lido no sensor presente na porta correspondente e um valor
padrão limite armazenado na memória do microcontrolador antes do início do
experimento. As entradas digitais são ativadas em nível lógico alto, individualmente. Os
atuadores estão ligados a saída de cada sensor, sendo cada um destes compartilhados por
uma porta analógica e uma digital, por motivo de economia de hardware. Uma expansão
no sistema para evitar tal compartilhamento é simples de implementar, não sendo, portanto
um limitador do projeto.
Para testar essas entradas e saídas, foram implementados um o sensor digital do tipo
infravermelho capaz de detectar a passagem do rato por um determinado lugar do labirinto,
cujos esquemáticos dos circuitos de recepção e transmissão podem ser visualizados na
Figura 3, um sensor analógico de luminosidade que indica se a lâmpada que garante a
iluminação do labirinto para a filmagem, está acesa ou não (Figura 4) e dois atuadores, um
led que indica o acionamento do sensor digital e um buzzer (Figura 6), que indica se o
sensor analógico está acionado.
17
J2
vcc2
1
J1
vcc
1
J3
gnd
1
D1
LED
J4
gnd2
1
VCC
R1RESISTOR
VCCCON1
1
D1
LED
GNDCON1
1
VCC
OUTCON1
1
0
R1RESISTOR
Figura 3 - Esquemático do Sensor de Passagem
GND3CON1
1
-
+
U4A
TL084
3
21
411
VCC4CON1
1VCC1CON1
1
R1RESISTOR
NTC
CON2
12
LDR
CON2
12
R2RESISTOR
OUT_ADC2CON1
1
GND4CON1
1
VCC3CON1
1
0
GND2CON1
1
VCC2CON1
1
GND1CON1
1
VCC
R3RESISTOR
-
+
U4B
TL084
5
67
41
1
OUT_ADC1CON1
1
Figura 4 – Circuito Eletrônico dos Sensores de Luminosidade e Temperatura
3.4 Diagramas
3.4.1 Hardware
A seguir temos o diagrama em blocos do funcionamento da parte de hardware do
sistema:
R1 -1kΩ
R2 -10kΩ
R3 -4,7kΩ
R1 -56kΩ R1 -220Ω
18
Figura 5 – Diagrama em blocos do hardware
O esquemático do kit microcontrolador encontra-se no ANEXO 1 deste documento.
A seguir, serão tratadas as interfaces de sensores e de atuadores.
O alerta do sensor analógico de luminosidade que atingiu seu valor crítico é dado
através de uma sirene (buzzer), conforme o esquemático a seguir:
VCC
1 2
BUZZER
1
2
Figura 6- Esquemático do alarme
A interface de leitura dos sensores analógicos foi dada da seguinte maneira: têm-se
as entradas analógicas conectadas a um ADC que está projetado para o modo de conversão
contínua com um clock ajustado para aproximadamente 640kHz que converte e envia os
valores para o barramento de dados do microcontrolador. A entrada a ser lida é habilitada
através do mutiplexador do conversor que está conectado aos pinos P1.0, P1.1 e P1.2 da
porta P1 do microcontrolador que sempre mantém os valores dessa porta. O pino que
habilitará o envio de dados para o barramento virá da lógica de endereçamento será
equivalente ao endereço 1001h.
Este conversor foi configurado para estar em conversão contínua, pois isso facilita
as operações do microcontrolador, tirando dele a responsabilidade de acionar a conversão.
Sistema de sensores
Sistema de atuadores
Interface dos sensores
Interface dos atuadores
Microcontrolador
8031
MICROCOMPUTADOR
(interface de programação)
RS-232
Hardware
KRE
19
D21
VCC
U3B
74LS04
3 4
D11
IN2
VRES11
3
2
OE 1
IN3
U2
ADC0808
262728
12345
1216
10
97
171415818192021
252423
622
1113
IN0IN1IN2IN3IN4IN5IN6IN7
REF+REF-
CLK
OEEOC
D0D1D2D3D4D5D6D7
A0A1A2
STARTALE
VC
C
GN
D
IN4
J1
CON212
GND 1
IN5
J4
CON212
U3A
74LS04
1 214
7
IN6
D61
IN0
A21
IN7
D41
VCC 1
C1
D71
D51
A11
D31
IN1
J2
CON212
J3
CON212
D01
A01
Figura 7 - Esquemático do circuito dos sensores analógicos
As portas dos sensores digitais estarão conectadas a um latch para poder recuperar
seus valores. O pino de habilitação desse latch vem da lógica de endereçamento e é
correspondente ao endereço C001h. O acionamento dos atuadores, também ligados ao um
latch, será dado por meio da lógica de endereçamento e é correspondente ao endereço
5001h.
R1 -1kΩ
20
CH2
CON2
12
LS2
RELAY SPDT
35
412
U7 ULN2004A
1234567
16151413121110
9
8
1B2B3B4B5B6B7B
1C2C3C4C5C6C7C
COM GN
DCH50
OE_ADC1
LS7
RELAY SPDT
35
412
CH51
LS4
RELAY SPDT
35
412
J7
CON2
12
LS5
RELAY SPDT
35
412
CH21
CH60
CH6
CON2
12
LS8
RELAY SPDT
35
412
RD1
CH61
D61
U9A
74LS04
1 2
147
WR1
CH0
CON2
12
CH20
D01
D41
CH4
CON2
12
CH11
U8A 74LS139/SO
23
1
4567
168
AB
G
Y0Y1Y2Y3V
CC
GN
D
D51
D31
CH10
CH7
CON2
12
LS1
RELAY SPDT
35
412
CH01
LS3
RELAY SPDT
35
412
J6
CON2
12
J5
CON2
12
0
CH00
J8
CON2
12
U10
74HC573/SO_1 23456789
111
1918171615141312
1020
D0D1D2D3D4D5D6D7
LEOE
Q0Q1Q2Q3Q4Q5Q6Q7
GN
DV
CC
CH31
A141
CH1
CON2
12
D71
CH71
U1274HC573/SO_1
23456789
111
1918171615141312
10 20
D0D1D2D3D4D5D6D7
LEOE
Q0Q1Q2Q3Q4Q5Q6Q7
GN
DV
CC
LS6
RELAY SPDT
35
412
D21
CH40U11A
74LS08
1
23
147
CH3
CON2
12
U6 ULN2004A
1234567
16151413121110
9
8
1B2B3B4B5B6B7B
1C2C3C4C5C6C7C
COM GN
D
VCC
CH30
CH70
U9B
74LS04
3 4
147
GND1
CH5
CON2
12
CH41
D11
VCC1
A151
Figura 8 - Esquemático do circuito dos sensores digitas, atuadores e lógica de endereçamento
21
3.4.2 Software
Os diagramas do programa desenvolvido em C++ são os seguintes:
Diagrama de Caso de Uso
Figura 9 - Diagrama de caso de uso
Configuração 8051
Experimento
Salvar Resultados
Abrir Resultados
Usuário
22
Diagramas de Seqüência
ü Configuração do 8051
Figura 10 - Diagrama de Seqüência de Configuração do 8051
ü Experimento
Figura 11 - Diagrama de Seqüência do Experimento
ü Salvar Resultados
Tem
po
: CControlador
Usuário
1.Iniciar
5.Resultados
2.IniciarExperimeto
: CExperimento
3.LêCâmera
2.ProcessaImagem
Tem
po
: CControlador
Usuário
1.Gravar
3.EnviaConfiguração 2.EnviaValores
: CComunicação : CConfiguração
23
Figura 12 - Diagrama de Seqüência de Salvar Resultados
ü Abrir Resultados
Figura 13 - Diagrama de Seqüência de Abrir Resultados
Tem
po
: CControlador
Usuário
1.Abrir
2.Materializa
: CBrokerBanco
Tem
po
: CControlador
Usuário
1.Gravar
2.Desmaterializa
: CBrokerBanco
24
Diagrama de Fluxo de Dados
Figura 14 - DFD de pesquisa
Figura 15 - DFD de exclusão
Excluir
experimento Pesquisa
Pesquisar
experimento Pesquisa
25
Fluxograma do Programa em Assembler para o 8031
O programa em Assembler que controlará os sensores e atuadores tem o seguinte
fluxograma:
Figura 16 – Fluxograma
Início
Verifica Sensores
Analógicos Aciona
atuadores
Verifica Sensores Digitais
Aciona Atuadores
S
S
N
N
26
3.5 Interfaces
A Figura 17 abaixo, mostra os protótipos de telas do sistema. A primeira imagem
trata da tela principal do sistema. Nela é possível realizar os experimentos, abrir resultados
e configurar os sensores analógicos.
Figura 17 - Tela Principal do software do computador
27
A Figura 18 mostra a parte de configuração dos sensores e atuadores, além da
comunicação entre o MICROCOMPUTADOR e o microcontrolador feita pela serial. Por
meio dessa tela é possível escolher os limites dos sensores analógicos, bem como seu valor
de ativação. Após a escolha das variáveis é feita a gravação dessas configurações no
microcontrolador e o sistema de sensores e atuadores começa a funcionar.
Figura 18 - Tela de Configuração
Após o processamento das imagens, o usuário tem acesso aos resultados do
experimento por meio da seguinte tela na Figura 19:
Figura 19 – Tela de Resultados
28
O sistema permite que o usuário abra os experimentos anteriores procurando pela
data através da seguinte tela:
Figura 20 - Tela de Pesquisa
O usuário também pode excluir os experimentos que ac har necessário por meio da
seguinte tela:
Figura 21 - Interface de Exclusão
Por fim, tem-se a tela de informações sobre o projeto:
Figura 22 - Tela de Informações
29
3.6 Descrição da base de Dados
O sistema gerenciador de banco de dados que foi utilizado nesse projeto é o
Paradox 7, pois o mesmo é parte integrante da ferramenta de desenvolvimento em C++ da
Borland.
Para esse projeto é necessário o uso de duas tabelas, uma que contém os dados do
experimento tais como dia e horário, já a segunda tabela tem os pontos por onde o rato
passou.
A relação entre a tabela de experimentos para a tabela de pontos é de um para n,
sendo que n pode valer de zero até infinito).
Campo Tipo
idExperimento Inteiro
Data String
Tempo String
Velocidade String
Distancia Inteiro
Tabela 1 - Tabela de Experimentos
Campo Tipo
idPontos inteiro
idExperimento inteiro
X inteiro
Y Inteiro
Intensidade inteiro
Horário String
Tabela 2 - Tabela de Pontos
30
4 IMPLEMENTAÇÃO
4.1 Hardware
A partir do capítulo 3 pode-se ter noção do esquemático respectivo dos circuitos
implementados.
Então, foram confeccionadas as seguintes placas:
ü Conversor AD de Sensores Analógicos;
ü Controlador de Sensores Digitais, Atuadores e Endereçamento;
ü Emissor do Sensor de Passagem;
ü Receptor do Sensor de Passagem;
ü Placa de Barramento;
ü Sensor de Luminosidade e Temperatura.
31
4.1.1 Conversor A/D de Sensores Analógicos
Para a integração dos valores aquisicionados pelos sensores, junto ao
microcontrolador, houve a necessidade de criar um circuito que pudesse converter os sinais
provenientes desses sistemas analógicos, para a forma binária, aplicável ao
microcontrolador. Para tanto, implementou-se em um circuito um conversor A/D,
visualizável no esquemático da Figura 7, realizando continuamente a conversão,
facilitando seu uso. O layout da placa de circuito impresso do conversor está apresentado
abaixo, na Figura 23.
Figura 23 – Layout da placa do Conversor A/D de Sensores Analógicos
32
4.1.1.1 Lista de Componentes
Circuitos Integrados:
ü U2 – conversor ADC0808 analógico / digital;
ü U3 – porta 74LS04 inversora;
Soquetes:
ü Soquete 28 pinos;
ü Soquete 14 pinos;
Capacitores:
ü C1 – 1P6;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 4x Borne KRE 2 vias.
4.1.1.2 Comentários
Esta foi a primeira placa a ser confeccionada. Seu circuito foi de fácil
implementação devido ao fato de já ter sido utilizado durante o curso. A única novidade
era o uso de KRE’s para conexões de circuitos externos. Foi bem nessa parte o único
problema encontrado nessa placa, pois ao esquematizá-la no Orcad, o componente
referente ao KRE era diferente do componente adquirido para a confecção dela. A solução
encontrada foi utilizar barras de conectores nos lugares dos KRE’s e fazer na placa de
barramento, conectores para os KRE’s com os furos e espaçamentos corretos.
33
4.1.2 Controlador de Sensores Digitais, Atuadores e Endereçamento
Esta placa é responsável pelo endereçamento dos sensores analógicos, digitais e dos
atuadores. Além, ela possui o latch que armazena os valores dos sensores digitais e os
circuitos das chaves responsáveis pela parte de atuação. O layout da placa de circuito
impresso pode ser visualizado na Figura 24, que foi montada a partir do esquemático da
Figura 8.
Figura 24 - Layout da placa do Controlador de Atuadores
34
4.1.2.1 Comentários
O circuito da lógica de endereços foi baseado na referência [ 4 ], implementado sem
maiores problemas com o auxílio do osciloscópio para a verificação dos pulsos de leitura e
escrita. Como o multiplexador utilizado foi o 74LS139 e este tem sua saídas em nível
lógico baixo, fez-se necessária a inclusão de uma porta inversora para poder fazer as
habilitações do ADC0808 que é ativado em nível alto e do latch 74HC573 responsável
pelo gerenciamento dos atuadores que também é ativado em nível alto.
A parte responsável pelos sensores digitais apresentou o seguinte problema: quando
as entradas estavam livres, o sistema reconhecia o nível “aberto” como nível alto,
acionando os atuadores. A solução encontrada para esse problema foi aterrar todas as
entradas que não estavam sendo utilizadas.
Para fazer a confecção da parte dos atuadores dessa placa, foram comprados relês
de 6 volts, já que não foi encontrado no mercado relês de baixo custo com ativação em 5
volts.
35
4.1.2.2 Lista de Componentes
Circuitos Integrados:
ü U6 – driver de corrente ULN2004A;
ü U7 – driver de corrente ULN2004A;
ü U8 – multiplexador 74LS139;
ü U9 – porta inversora 74LS04;
ü U10 – latch 74HC573;
ü U11 – porta and 74LS08;
ü U12 – latch 74HC573;
Soquetes:
ü 3x Soquete 16 pinos;
ü 2x Soquete 20 pinos;
ü 2xSoquete 14 pinos.
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 12x Borne KRE 2 vias.
Relés:
ü 8x Mini-Relés 5 pinos 6V.
36
4.1.3 Emissor do Sensor de Passagem
É responsável por enviar um sinal de infravermelho que o mantém conectado com a
placa receptor. Enquanto a placa receptora receber esse sinal, ela manterá o valor em nível
zero, o pino de ativação do sensor. Quando esse contato é interrompido, o valor no pino de
ativação vai para nível lógico alto. Seguindo o esquemático da Figura 3, primeira parte,
criou-se o layout de confecção da placa da Figura 25.
Figura 25 - Layout da placa do Emissor do Sensor de Passagem
4.1.3.1 Lista de Componentes
Resistores:
ü R1 – 220O;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
Outros:
ü IF1– Emissor.
4.1.3.2 Comentários
Como o circuito é bem simples, foi necessário apenas fazer o ajuste do resistor para
determinar o alcance do sinal de infra vermelho.
37
4.1.4 Receptor do Sensor de Passagem
É responsável por receber um sinal de infravermelho proveniente do emissor.
Seguindo o esquemático da Figura 3, segunda parte, criou-se o layout de confecção da
placa da Figura 26.
Figura 26 - Layout da placa do Receptor do Sensor de Passagem
4.1.4.1 Lista de Componentes
Resistores:
ü R1 – 56kO;
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
Outros:
ü IF1– Receptor.
4.1.4.2 Comentários
Como o receptor é bastante sensível, foi preciso encapá-lo com fita isolante para
poder direcionar o sinal. Durante os testes com o receptor foi encontrado o seguinte
problema: ao ligar a lâmpada que melhora a iluminação do labirinto, ele ficou menos
sensível. Como a lâmpada só ajuda na iluminação, a solução encontrada foi deixá -la
desligada.
38
4.1.5 Placa de Barramento
Foi necessária a implementação de uma placa de barramento para que os sensores
analógicos, os sensores digitais e os atuadores pudessem compartilhar o barramento de
dados. Além de facilitar a conexão entre as demais placas, devido a utilização do espaço
interno do protótipo ser muito restrito. Portanto, ligações essenciais, em vez de cruzar o de
lado a lado o protótipo, conectam-se com essa placa de conexões e dela, vão para seu real
destino. O esquemático do circuito pode ser visualizado na Figura 27 e o seu layout, na
Figura 28.
D1_ACON1
1
D3_ACON1
1
WR_ACON1
1
D6_ACON1
1
D4_BCON1
1OE_BCON1
1
D2_BCON1
1
I4_ACON1
1
GND_CCON1
1
WR_BCON1
1
D7_BCON1
1
D0_BCON1
1
D4_CCON1
1
BRN_GND
CON2
12
GND_BCON1
1
D5_BCON1
1
A15_A
CON1
1
GND_ACON1
1
D1_CCON1
1
A15_BCON1
1
OE_ACON1
1J3
CON2
12
D7_CCON1
1
D3_CCON1
1
I6_ACON1
1
I1_ACON1
1VCC_A
CON11
D5_ACON1
1
A14_A
CON1
1
VCC_CCON1
1
D3_BCON1
1
I3_ACON1
1RD_A
CON11
I0_ACON1
1
I2_ACON1
1
D1_BCON1
1
I5_ACON1
1
RD_BCON1
1
D5_CCON1
1
VCC_BCON1
1
D6_BCON1
1
J0
CON2
12
D0_CCON1
1
J2
CON2
12
D0_ACON1
1
D7_ACON1
1
D2_ACON1
1
D6_CCON1
1
D2_CCON1
1
A14_BCON1
1
I7_ACON1
1
D4_ACON1
1
J1
CON2
12
Figura 27 - Esquemático do circuito das Inter-conexões de Placas
39
Figura 28 - Layout da placa da Placa de Barramento
4.1.5.1 Lista de Componentes
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 5x Borne KRE 2 vias.
4.1.5.2 Comentários
Como a placa de conversão A/D não pode ter seus KRE’s fixados, foi
implementada nessa placa o circuito dos KRE’s.
40
4.1.6 Sensor de Luminosidade e Temperatura
Essa placa foi criada para poder testar o mecanismo de leitura / conversão e
acionamento dos sensores analógicos. Foi implementado um sensor de temperatura e um
de luminosidade, pois eles podem ser úteis no experimento do projeto.
Figura 29 - Layout da placa de Sensores de Luminosidade e Temperatura
4.1.6.1 Lista de Componentes
Circuitos Integrados:
ü U4 – amplificador operacional TL084;
Resistores:
ü R1 - 1 KO;
ü R2 – 10 KO;
ü R3 – 4K7 O.
Soquetes:
ü Soquete 14 pinos para amplificador operacional TL084;
41
Conectores:
ü Barra de conectores fêmea para pinos de conexões.
ü 2x Borne KRE 2 vias.
Conectores:
ü Barra de conectores fêmea para pinos de conexões;
ü 5x Borne KRE 2 vias.
4.1.6.2 Comentários
A elaboração dessa placa foi simples, pois esse circuito já havia sido implementado
em outras disciplinas do curso.
42
4.2 Software
4.2.1 Linguagem C++
Composta de duas partes, da parte de configuração do sistema gerenciador do
bando de dados e da implementação das classes propriamente dita.
4.2.1.1 Configuração
Para poder rodar o programa do sistema, inicialmente houve a necessidade de
configurar o banco de dados do Paradox no ODBC do Windows. Para isso foi utilizado o
SQL Explorer do Borland Builder. Nele, foram incluídas as tabelas especificadas no
capítulo 3.6.
4.2.1.2 Implementação
Para o desenvolvimento do software desse projeto, foi necessária a criação das
seguintes classes: classe controladora, classe de comunicação serial, classe de
processamento de imagens, classe de configuração dos sensores analógicos, classe de
comunicação com a web câmera, classe de acesso a tabela de experimentos e a classe de
acesso a tabela de pontos.
4.2.1.2.1 Classe Controladora
Essa classe é a classe intermediária entre os formulários e as demais classes. Os
formulários são responsáveis por mostrar e receber valores ao usuário, a classe
controladora envia os dados para as demais classes e passa os resultados delas para os
formulários. Nunca um formulário comunica-se com uma classe que seja diferente da
classe controladora e de outros formulários.
43
4.2.1.2.2 Classe de Comunicação Serial
Como o sistema se comunica pela serial com o microcontrolador, a criação dessa
classe foi necessária. O método de recebimento de dados foi implementado para poder
fazer testes, apesar dele não ser utilizado pelo sistema, pois o programa apenas envia
valores para o microcontrolador, nunca recebendo valores dele.
4.2.1.2.3 Classe de Processamento de Imagens
É nessa classe que as imagens obtidas pela câmera são processadas. Sua função de
localizar ponto binariza as imagens em fundo e rato, divide as imagens em uma matriz de
16 linhas por 16 colunas e marca o ponto onde tem mais pixels do tipo “rato”. Também
possui as funções de salvar, abrir e excluir experimentos do banco de dados.
4.2.1.2.4 Classe de Configuração dos Sensores Analógicos
Como o conversor Analógico / Digital utilizado no circuito dos sensores analógicos
foi o ADC0808, os valores de limite inferior e superior dos sensores analógicos deveriam
ser ajustados dentro dos 256 níveis possíveis de conversão do ADC, e é isto que essa classe
faz, ajusta o nível de ativação dos sensores de acordo com seus limites inferior e superior e
os envia pela serial.
4.2.1.2.5 Classe de Comunicação com a Web Câmera
Essa classe utiliza macros do Windows para fazer a conexão com web-câmeras
USB. Ela se conecta ao driver da câmera, mostra na tela as imagens aquisicionadas na
câmera e salva em arquivos do tipo bitmap os quadros (frames) capturados. Foi a classe
mais difícil de ser implementada, pois o uso dessas macros não é trivial.
44
4.2.1.2.6 Classe de Acesso a Tabela de Experimentos
Nela que é feita a conexão ODBC para executar as instruções SQL de inclusão,
pesquisa e remoção de dados da tabela de experimentos.
4.2.1.2.7 Classe de Acesso a Tabela de Pontos
Nela que é feita à conexão ODBC para executar as instruções SQL de inclusão,
pesquisa e remoção de dados da tabela de pontos.
4.2.2 Linguagem Assembler para 8051
O programa implementado na linguagem Assembler, tem por finalidade verificar se
todos os sensores analógicos atingiram seus valores limites que estão salvos na memória
externa do microcontrolador e verificar os valores dos sensores digitais, e, dependendo
desses valores, acionar os atuadores.
4.3 Análise de custos
Para o desenvolvimento desse projeto foram estimados os seguintes custos:
Ferramenta Custo em reais C++ Builder 6 Enterprise R$ 3,100.00 Kit 8051 R$ 100.00 Creative Labs Web Cam Go R$ 230.00 Computador Celeron 1.4 GHz R$ 2,200.00 Sensores e Atuadores R$ 50.00 Horas de trabalho 200 h R$ 7,000.00 Total R$ 12,680.00
Tabela 3 - Custos
45
5 TESTES
Até o mês de maio foram realizados testes no módulo de aquisição de imagens e no
módulo de processamento de imagens.
O módulo de aquisição de imagens está conseguindo cumprir com a sua finalidade,
salvando em disco imagens no formato 320 x 240 pixels em 24 bits de cores.
O módulo de processamento de imagens está indicando que o algoritmo de
varredura atual de cada imagem está levando em média 2 segundos para analisar os pixels,
tempo esse bastante elevado, de forma que deverá ser aperfeiç oado. De qualquer forma,
para todas as inspeções realizadas, o processamento retornou corretamente a posição do
ponto referente ao hamister sobre o labirinto.
O módulo de sensores e atuadores está funcionando de maneira adequada, a cada
evento gerado pelos sensores, o sistema de atuação analisa seus valores e faz a atuação
devida.
5.1 TESTES DE VALIDAÇÃO
Para cada módulo foi realizado um teste de validação. Esses testes foram feitos com
programas que avaliam as funcionalidades básicas de cada módulo, verif icando seus
parâmetros relevantes destes de forma a garantir que seu funcionamento esteja adequado
ao que foi proposto.
5.1.1 Módulo de Aquisição de Imagens
O objetivo desse teste é a verificação do funcionamento da interface de aquisição
de imagens da câmera. O procedimento foi o seguinte:
- Inicialmente foi construído um programa que se conecta ao driver da
câmera, fazendo a sua inicialização obtendo um quadro no formato de 320 x
240 pixels que é salvo em arquivo no formato bitmap de 24 bits.
- O programa tenta abrir a imagem, e ela estando de acordo com os padrões, é
mostrada na tela.
46
5.1.2 Módulo de Processamento de Imagens
Para realizar o teste desse módulo foi feito um programa que encontra figuras mais
claras em uma imagem com fundo preto. O sistema está retor nando adequadamente o
ponto onde essa figura mais clara se encontra. Nos casos de encontrar dois pontos com
pesos iguais, o programa opta pelo último ponto válido encontrado.
5.1.3 Módulo Microcontrolado
O módulo microcontrolado teve como teste um sistema de envio de dados pela
serial, que ativa alguns leds, de acordo com a programação efetuada pelo usuário.
5.1.4 Módulo de Sensores e Atuadores
O sensor digital utilizado teve como teste a sua variação de sinal de acordo com a
variação de resultado quando havia algo entre o receptor e o emissor. Quando tinha algo
entre o emisssor e o receptor, o valor no pino de resultados variava de 0,1 volts a 4,93
volts. Essa diferença é suficiente para que o sistema acione o atuador correspondente.
O atuador utilizado foi um led, que quando alimentado, acendia. Também foi
utilizada uma buzina, que foi acionada de maneira correta pelo sistema.
O sensor analógico utilizado foi um LDR, que não apresentou uma resposta
satisfatória.
5.1.5 Validação do Protótipo
O sistema é capaz de retornar ao usuário as variáveis de forma correta. Para isso
foram realizados os testes de acordo com o experimento de validação definido no estudo.
Para a parte de processamento de imagens, chegou-se nos seguintes valores:
100% de acerto na localização do animal quando o labirinto estava sem sombras e
bem iluminado.(quantidade de amostras analisadas: 136 imagens em três experimentos
práticos)
47
O tempo médio de processamento de cada imagem é de 1,23s. A média de quadros
capturados por segundo é de 7 imagens, o que resulta em um processamento lento, pois
para um minuto de experimento temos 8 minutos e meio de processamento de imagens.
6 CONCLUSÕES
O sistema desenvolvido atingiu os objetivos inicialmente desejados, como a
flexibilidade de aplicações a abrangê ncia e a eficiência.
Os testes realizados com relação ao processamento de imagens e verificação de
posição mostraram resultados satisfatórios, pois o sistema foi capaz de reconhecer em
todas as imagens os locais em que o rato se encontrava. Com relação ao sistema de
sensores e atuadores, os experimentos realizados demonstraram que os mesmos são
adequados para a maior parte das aplicações estudadas, fornecendo algumas vezes mais
recursos que muitos sistemas similares no mercado, o que pode levar ao incremento da
complexidade dos experimentos sem grandes dificuldades técnicas, inclusive.
Pela sua característica modular, percebe-se essas novas aplicações podem ser
desenvolvidas sem grandes modificações de base, o que torna sua aplicação em áreas
diversas da biologia ou mesmo fora desta também interessante. Uma possível melhoria é a
modificação do software de reconhecimento para a identificação de mais de um animal, o
que pode ser realizado sem maiores dificuldades de programação. Outra melhoria
interessante é a interação em tempo real com o microcontrolador, que apesar de não ser
necessária dentro dos experimentos utilizados como base para o desenvolvimento, pode se
apresentar como uma alternativa para a realização de experimentos mais complexos onde a
interação com o objeto de pesquisa deve ser modificada durante o mesmo. Além de um
sistema de processamento de imagens em tempo real.
48
7 Referências Bibliográficas
[ 1 ] ALCON, “Curiosidad sobre Roedores – Ratón Doméstico (Mus Musculus)”. [on-
line] WEBSITE, Alcon, 2003, visitado em 24/08/2003, Disponível:
http://www.labcon.com.br/versoes/espanhol/curiosidades/roedores/camundongo.htm
[ 2 ] FEHD, “Rodents Pests and Their Control”, [on-line] Website Food and
Environmental Hygiene Departament, 2003, visitado em 24/08/2003, Disponível:
http://www.fehd.gov.hk/fehd/safefood/risk-pest-rodents.html
[ 3 ] LABS, CREATIVE, “Web-Cameras”, [on-line] WEBSITE, Creative Labs, 2003,
visitado em 24/08/2003, Disponível: ht tp://www.americas.creative.com
[ 4 ] PEREIRA DA SILVA JR., VIDAL, “Aplicações Práticas do Microcontrolador
8051”, 1998
[ 5 ] Secretaria Municipal da Saúde, “Construindo um Ambiente Saudável - Caderno
Especial de Saúde e Meio Ambiente para Ensino Fundamental. Ministério da
Saúde” Fundação Nacional da Saúde. Prefeitura Municipal de Curitiba, Curitiba-
2000.
[ 6 ] Prof. João Carlos Giacomin, Universidade Federal de Lavras, Departamento de
Ciência da Computação. “CONVERSORES D/A E A/D - COM 145 Eletrônica
Básica”, 2000
[ 7 ] NICOLOSI, DENYS E.C.. “Microcontrolador 8051 Detalhado ”. Ed. Érica, 2000.
[ 8 ] APASFA, “Associação Protetora de Animais de São Francisco de Assis”, [on-line]
WEBSITE, APASFA, visitado em 24/08/2003, Disponível:
http://www.apasfa.org/futuro/ratos.doc
[ 9 ] Pedagogia em Foco, “Skinner e a máquina de ensinar”, [on-line] WEBSITE
Pedagogia em Foco, visitado em 24/08/2003, Disponível:
http://www.pedagogiaemfoco.pro.br/per07.htm
[ 10 ] Andréa Maria Garrido dos Santos, “Aprendizagem e memória no labirinto
aquático de Morris”, [on-line] WEBSITE, Departamento de Fisiologia, Instituto de
Biociências, Universidade de São Paulo, visitado em 24/08/2003, Disponível:
http://www.ib.usp.br/~gfxavier/cap8.html
[ 11 ] Universidade de Campinas, “Efeitos da administração crônica de lamotrigina
sobre a aprendizagem e a memória em ratos submetidos ao teste do labirinto em
cruz elevado”, Pesquisadores internos, UNICAMP, São Paulo.
49
[ 12 ] Miriam Iwamoto e Fernanda Klein Marcondes, “Influência da temperatura da
água sobre o comportamento de ratos submetidos a estresse por natação ”, VII
Congresso Interno de Iniciação Científica, 28/07/1999.
[ 13 ] Tatiana Rodrigues Nahas, “A Apredizagem da Esquiva”, [on-line] WEBSITE,
Departamento de Fisiologia, Instituto de Biociências, Universidade de São Paulo,
Disponível: http://www.ib.usp.br/~gfxavier/cap12.html.
50
ANEXO 1 – Esquemático da placa microcontroladora
Figura 30 - Esquemático do Kit do microcontrolador 8051.
51
A seguir temos a lista de componentes para a montagem do kit:
Circuitos Integrados:
ü U1 - microcontrolador 80C31;
ü U2 - latch 74LS373;
ü U3 - memória RAM 62256;
ü U4 - memória EPROM 27C256;
ü U5 - regulador de tensão LM7805.
Resistores:
ü R1 - 10 KO;
ü R2, R3, R4, R5 – 4K7 O;
ü R6 - 100 O.
Capacitores:
ü C1 - 10 µF/16V;
ü C2, C3 - 33 ?F;
ü C4 – 470 µF/16V;
ü C5 – 100 µF/16V;
ü C6, C7, C8, C9 – 100 ?F.
Diodos:
ü D1, D2, D3 - 1N4148.
Cristal
ü Xtal - 11,0592MHz.
Transistores:
ü Q1 - BC327B;
ü Q2 - BC337B.
Soquetes:
ü Soquete 40 pinos para microcontrolador;
ü Soquetes 28 pinos para memórias.
Conectores:
ü BAT - clip para bateria 9V;
ü DB9 - conector RS232 fêmea para placa;
ü RESET - push buttom, normalmente aberto;
ü POWER ON - chave liga-desliga;
ü Plug Vcc - conector jack para alimentação;
52
ü Barra de conectores fêmea para barramento de endereços, dados, portas P1 e P3.
Outros:
ü Bateria 9V.
53
ANEXO 2 – Cronograma Físico
As etapas com seus prazos para conclusão serão as seguintes:
Mês Atividade
março/abril
Estudo / pesquisa dos testes a serem aplicados no (s) experimento(s)
maio
Revisão bibliográfica do assunto
Estudo das ferramentas para desenvolvimento do protótipo
junho/julho
Estudo / implementação do sistema de câmera digital
Implementação do sistema de análise de imagens e armazenamento de
dados
setembro
Montagem / confecção / instalação do módulo de sensores e atuadores,
juntamente com o software de interação
outubro/novembro
Realização dos testes de validação do sistema
54
ANEXO 3 - Labirinto
É formado por uma base de madeira MDF de 6 mm de espessura, 700 mm de
largura e 360 mm de profundidade. Suas paredes internas terão uma espessura de 6 mm e
terão altura de 150 mm. Isso forma um corredor de passagem de 60 mm de largura,
suficiente para a mobilização do rato, evitando que ele consiga impulsionar-se para um
possível pulo, conseguindo assim, sair do labirinto.
Para que a imagem desse labirinto possa ser processada de uma forma adequada,
ele é iluminado com uma lâmpada dicróica de 50 W.
Figura 31 - Dimensões do labirinto
150 mm
6 mm
700 mm
360 mm
6 mm
55
Medidas das tábuas utilizadas para a confecção do labirinto:
Tipo Quantidade Dimensões
A 1 700 mm x 360 mm
B 2 580 mm x 150 mm
C 2 360 mm x 150 mm
D 3 200 mm x 150 mm
E 6 60 mm x 150 mm
F 1 150 mm x 150 mm
G 1 120 mm x 150 mm
H 2 220 mm x 100 mm
I 1 348 mm x 100 mm
J 1 220 mm x 360 mm
K 1 90 mm x 150 mm
Tabela 4 - Tábuas do labirinto.
Figura 32 - Posicionamento das tábuas no labirinto.
A- B|
C|
D| E|
F|
G|
H|
I|
J-
K| E| E| E|
E|
E|
D|
D|
B|
C|
H|
Legenda:
| -> tábua na vertical
- -> tábua na horizontal