UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTOS ACADÊMICOS DE INFORMÁTICA E DE
ELETRÔNICA
CURSO DE ENGENHARIA DE COMPUTAÇÃO
ELIS CASSIANA NAKONETCHNEI DOS SANTOS
FERNANDO CARVALHO DE SOUZA
FERNANDO CROZATTI
MÁQUINA SEPARADORA DE M&M’S
POR COR
RRELATÓRIO DE PROJETO
CURITIBA 2015
ELIS CASSIANA NAKONETCHNEI DOS SANTOS
FERNANDO CARVALHO DE SOUZA
FERNANDO CROZATTI
MÁQUINA SEPARADORA DE M&M’S
POR COR
RRelatório de Projeto apresentado para a disciplina de Oficina de Integração II, do Curso de Engenharia de Computação dos Departamentos Acadêmicos de In-formática e de Eletrônica da Universidade Tecnoló-gica Federal do Paraná.
Orientador: João Alberto Fabro
CURITIBA 2015
AGRADECIMENTOS
Agradecemos aos professores Dr. Heitor Silvério Lopes, Dr. Mário Sérgio Teixeira de Freitas e o Dr. César Manuel Vargas Benitez da Universidade Tecnológica Federal do Paraná pelas orientações e apoio no decorrer do desenvolvimento do projeto. Agradecemos em especial ao professor Dr. João Alberto Fabro da Universidade Tecnológica Federal do Paraná, orientador deste projeto.
“Imagination is more important than knowledge...”.
RESUMO
Crozatti, Fernando; Santos, Elis Cassiana Nakonetchnei; Souza,Fernando Carvalho . MÁ-QUINA SEPARADORA DE M&M’S POR COR. 20 f. Relatório de Projeto – Departamen-R
tos Acadêmicos de Informática e de Eletrônica, Universidade Tecnológica Federal do Paraná. Curitiba, 2015.
A “MÁQUINA SEPARADORA DE M&M’S POR COR” tem por objetivo receber M&M’SR R
de diversas cores em um grande recipiente, cores essas cadastradas em um sistema de reconhe-cimento através de um sensor RGB. A partir do reconhereconhe-cimento dessas cores foi desenvolvido um mecanismo de separação dos confetes de chocolate em recipientes, podendo cada um conter apenas um tipo de cor, esse sistema foi projetado através da programação de dois servos moto-res de rotação contínua e a confecção de uma base sólida com mecanismos giratórios que tem por meta analisar um M&M’S por vez e lançá-los ao seu respectivo local.R
Palavras-chave: Servo-motor, rotação-contínua, separador, confetes-de-chocolate, sensor-RGB, programação, mecanismos-giratórios
LISTA DE FIGURAS
–
FIGURA 1 Diagrama de Blocos. . . 9
–
FIGURA 2 Arduino Uno. . . 10 –
FIGURA 3 IDE. . . 12 –
FIGURA 4 Sensor de reconhecimento de cor TCS3200. . . 13 –
FIGURA 5 Diagrama de bloco do TCS3200. . . 14 –
FIGURA 6 Servo Motor . . . 15
–
FIGURA 7 Tabela de Preços . . . 17 –
LISTA DE SIGLAS
ACR Arduino Code Repository GPS Global Positioning System
RGB Vermelho (Red), Verde (Green) e Azul (Blue) UNO ”Modelo do Arduino”
SUMÁRIO 1 INTRODUÇÃO . . . 7 1.1 MOTIVAÇÃO . . . 7 1.2 DESCRIÇÃO DO DISPOSITIVO . . . 7 1.2.1 Descrição do hardware . . . 8 1.2.2 Descrição do software . . . 8 1.3 OBJETIVOS . . . 8 1.3.1 Objetivo Geral . . . 8 1.3.2 Objetivos Específicos . . . 8
1.3.3 Relação de dependência entre as tarefas . . . 9
2 FUNDAMENTAÇÃO TEÓRICA . . . 10
2.1 ARDUINO UNO E ARDUINO IDE . . . 10
2.2 ARDUINO UNO – HARDWARE . . . 10
2.3 ARDUINO UNO – SOFTWARE . . . 12
2.4 SENSOR DE RECONHECIMENTO DE COR TCS3200 . . . 13
2.5 SERVO MOTOR DE 360◦GRAUS CONTÍNUO . . . 15
3 METODOLOGIA . . . 16
3.1 TAREFAS NECESSÁRIAS PARA EXECUÇÃO DO PROJETO . . . 16
4 RESULTADOS E DISCUSSÕES . . . 17 4.1 TRABALHOS FUTUROS . . . 17 4.2 ORÇAMENTOS . . . 17 4.3 CONCLUSÕES . . . 18 4.4 CRONOGRAMA . . . 19 REFERÊNCIAS . . . 20
7
1 INTRODUÇÃO
1.1 MOTIVAÇÃO
Com a tecnologia cada dia mais presente em nossas vidas, percebemos que os sensores cada vez mais fazem parte do nosso cotidiano. Seja no celular, no carro, e até mesmo na rua, sempre existe um sensor tentando tornar a vida do ser humano mais fácil. Por este motivo, neste projeto, desenvolveremos uma máquina capaz de separar confetes coloridos através de sua cor. Para isso, será necessária a utilização de um sensor de cor RGB, que nos permitirá perceber qual a coloração de cada confete e assim separá-lo corretamente. Ao final, todos estarão devidamente separados em seus recipientes por suas cores. Este projeto envolve as áreas de eletrônica, mecânica e programação, gerando desafios interessantes e motivadores.
1.2 DESCRIÇÃO DO DISPOSITIVO
O dispositivo desenvolvido nesse trabalho consiste em um sistema capaz de separar M&M’s por sua cor. A princípio, insere-se confetes como entrada para serem encaminhadosR
um a um, através de uma base circular rotacionada por meio de um primeiro servo Motor, até o local onde se encontra o sensor de cor RGB, que fará o reconhecimento de sua cor. Após essa etapa, o segundo servo Motor será acionado para deslocar o funil de forma que sua saída estará apontada para o recipiente determinado para aquela cor especifica. Por último, o primeiro servo Motor rotacionará novamente, derrubando o confete sobre o funil e escorregará até o recipiente. Esse processo se repete até não existirem mais confetes de entrada.
8
1.2.1 DESCRIÇÃO DO HARDWARE
Os elementos de hardware utilizados no sistema são um Arduino UNO, que controla toda a parte de software e hardware, um sensor de cor RGB (TCS-3200), que identifica as cores dos M&M’s e dois servo motores de 360 graus com rotação contínua, onde o primeiro ficaR
responsável por encaminhar o M&M’s até o sensor e depois até o funil, e o segundo tem aR
função de rotacionar o funil até o recipiente correto.
1.2.2 DESCRIÇÃO DO SOFTWARE
O software desenvolvido é capaz de controlar o sensor de cor RGB, recebendo a leitura sobre o M&M’s feita pelo sensor e classificando-o, e os servo motores, rotacionando-os naR
velocidade e direção correta para a realização das suas funções.
1.3 OBJETIVOS
A seguir são descritos, de maneira sucinta, os objetivos gerais e específicos que norte-aram esse trabalho.
1.3.1 OBJETIVO GERAL
Construção de um dispositivo automatizado através de um microcontrolador, um sen-sor de cor RGB e dois servo motores, que em conjunto possuem a capacidade de classificar e separar M&M’s a partir de sua cor, comparando-os com as cores já pré-definidas no códigoR
presente no microcontrolador.
1.3.2 OBJETIVOS ESPECÍFICOS
1. Criação da Estrutura Base.
2. Fazer um software capaz de integrar o sensor de cor RGb e fazer um ele reconhecer as cores.
3. Implementar um software capaz de integrar os servo motores e o sensor de cor RGB, separando os mms corretamente.
9
1.3.3 RELAÇÃO DE DEPENDÊNCIA ENTRE AS TAREFAS
O sistema de rotação, tanto da parte de movimentação do M&M’s para o sensor,R
quanto o de direcionamento do funil para o recipiente correto, depende do código contido no Arduino, que também é responsável pelo reconhecimento e classificação de cor que acontece através do sensor de cor. Todo o projeto está interligado ao Arduino UNO.
Na figura 1, temos o diagrama de blocos, para melhor entendimento do funcionamento do projeto.
Figura 1: Diagrama de Blocos. Fonte: Autoria Própria
10
2 FUNDAMENTAÇÃO TEÓRICA
A seguir será apresentada uma visão geral da fundamentação dos assuntos presentes nesse estudo.
2.1 ARDUINO UNO E ARDUINO IDE
O Arduino é uma plataforma de prototipagem eletrônica, composta por duas partes: Hardware e Software. Por ter baixo custo e material sobre licença open-source, facilita o acesso e permite a criação de sistemas interativos. O modelo utilizado neste projeto é o Arduino UNO, o qual terá algumas características descritas a seguir.
2.2 ARDUINO UNO – HARDWARE
Figura 2: Arduino Uno.
11
A figura 2 representa a placa do Arduino Uno, que é composta por três partes princi-pais: núcleo de processamento e entradas/saídas digitais e analógicas e fonte de alimentação.
Núcleo de processamento
Utiliza um micro controlador do tipo ATmega328, da empresa ATMEL, que permite receber, processar e devolver informações ao ambiente externo.
Entradas/Saídas Digitais e Analógicas
Possui seis saídas analógicas, que possuem a capacidade de medir a tensão aplicada. Elas permitem a utilização de sensores, que transformam grandezas físicas em valores de ten-são. Também possui 14 entradas digitais, que podem ser programadas nos estados “HIGH” e “LOW”, ou seja, o pino pode estar sendo alimentado com zero ou cinco volts.
Fonte de Alimentação
É a parte que recebe a alimentação externa de energia, que variam entre 7 e 35 volts e corrente de 300mA. Após receber a energia, a fonte transforma a tensão de entrada para alguma de suas duas saídas (5 ou 3,3 volts).
Há muitas diferentes maneiras de alimentar seu projeto no Arduino. Projetos que de-mandam baixa potência, podem ser alimentados pela própria entrada USB ou baterias. Proje-tos que utilizam dispositivos que demandam muita potência como solenoides, servo motores, muitos LEDs e afins, é melhor utilizar uma fonte externa(transformador) ou uma bateria de capacidade alta.(Tradução Própria)(OXER; BLEMINGS, 2009)
12
2.3 ARDUINO UNO – SOFTWARE
Figura 3: IDE. Fonte: Autoria Própria
Os sistemas criados para o Arduino são chamados de sketches, escritos em um ambi-ente Integrated Development Environment (IDE) próprio para a plataforma Arduino, que per-mite a transferência dos programas criados para a placa.
Estrutura do Programa
Programas Arduino podem ser divididos em três partes principais: estrutura , valores (variáveis e constantes), e funções.(ARDUINO, 2015)
Os sketches possuem basicamente duas funções: o setup e o loop, sendo possível criar funções extras à medida que o desenvolvimento do projeto necessite.
A função setup contém as instruções gerais para inicializar os pinos e bibliotecas utili-zadas no programa. É executada apenas uma vez, ao inicializar a placa. Já a função loop contém
13
todas as instruções de funcionamento do programa, e é executada até a placa ser reinicializada ou desligada.
2.4 SENSOR DE RECONHECIMENTO DE COR TCS3200
O sensor representado na figura 4 é composto por 64 fotodiodos, os quais são divididos por filtros: 16 para a cor vermelha, 16 para a cor verde, 16 para a cor azul e 16 sem filtro algum.
Figura 4: Sensor de reconhecimento de cor TCS3200.
Fonte: http://3.bp.blogspot.com/-KUkMqSRkhNs/Uvzl0gLTENI/AAAAAAAAB5I/0e3IDD-YhIA/s1600/M%25C3%25B3dulo+TCS230.jpg
O sensor combina os fotodiodos de silício configuráveis com um conversor de corrente para frequência em um único circuito integrado monolítico CMOS. A saída é uma onda qua-drada (50% ciclo de trabalho) com frequência diretamente proporcional à intensidade da luz (irradiância). O TCS-3200 lê uma matriz 8x8 de fotodiodos.
14
Figura 5: Diagrama de bloco do TCS3200. Fonte: Autoria própria
No sistema proposto neste projeto, o sensor será calibrado para detectar o valor de cada uma das cores e assim separar corretamente os M&M’s .R
Especificações:
1. Operação Single-de Abastecimento (2.7V a 5.5V);
2. De alta resolução de conversão da intensidade da luz de Frequência;
3. programável a cores e em escala total Frequência de saída;
4. Power Down recurso;
5. Se comunica diretamente com o microcontrolador;
6. S0 S1: entradas de seleção de escala de frequência de saída;
7. S2 S3: tipo fotodiodo Entradas seleção;
8. OUT Pin: Freqüência de saída;
9. OE Pin: Frequência de saída permitir pin (ativo baixo), pode ser iminente ao usar;
10. Suporte lâmpada LED controle suplemento luz;
15
2.5 SERVO MOTOR DE 360◦GRAUS CONTÍNUO
Servo Motores são máquinas constituídas por três partes principais: sistema atuador, sensor e circuito de controle, que são responsáveis por receber um sinal de controle, verificar a posição original, e depois atuar no sistema em busca da posição desejada.
Graças à biblioteca Servo.h, que acompanha o IDE do Arduino, é muito fácil controlar servos.(MCROBERTS, 2011)
O sistema atuador é um motor, geralmente de corrente contínua, e um conjunto de en-grenagens que formam uma caixa de redução com uma relação longa, pra aumentar o torque. O sensor é normalmente um potenciômetro acoplado ao eixo do servo que através da sua resis-tência determina a sua posição. O circuito de controle é um circuito composto de componentes eletrônicos discretos ou circuitos integrados que tem a capacidade de receber o sinal do sensor e o sinal de controle e posicionar o motor no eixo da direção desejada.
O Servo Motor AS3103PG, utilizado neste trabalho, é um exemplo de servo motor que pode ser programado para se deslocar livremente para ambos os lados. Ao programa-lo define-se simultaneamente uma velocidade e direção, que varia de zero, velocidade máxima para a direita, a 180, velocidade máxima para a esquerda. Também define-se um delay, que será a forma de regular o ângulo do servo motor através do tempo que ele rotacionará naquela direção a uma determinada velocidade.
Figura 6: Servo Motor
16
3 METODOLOGIA
3.1 TAREFAS NECESSÁRIAS PARA EXECUÇÃO DO PROJETO
1. Estudos sobre a parte Mecânica do Projeto - pesquisas sobre a maneira mais eficiente possível de construir e a base que sustenta todo o sistema, o recipiente, a base circular;
2. Estudos sobre a parte Eletrônica/Programação do Projeto – pesquisas sobre o funciona-mento do sensor de cor RGB e do servo Motor 360 contínuo utilizando a plataforma Arduino;
3. Construção da parte Mecânica do Projeto – Construção da base, o funil e o recipiente, e montou-se o sistema mecânico, integrando junto ao restante os servo Motores, o sensor de cor RGB e o Arduino UNO.
4. Construção de uma shield – Construção de uma shield para auxiliar na conexão eletrônica do sistema.
5. Preparação do ambiente de Programação – instalação da biblioteca MD_TCS230, para o reconhecimento do sensor de cor RGB.
6. Desenvolvimento do código – elaboração do código, calibrando o sensor de cor RGB e os servo motores.
7. Teste – transferência do código para o Arduino e iniciação dos testes, fazendo os ajustes finais do sistema.
17
4 RESULTADOS E DISCUSSÕES
Devido a imprevisto encontrados no decorrer da execução do projeto, como a falta de ferramentas adequadas para o desenvolvimento, criaram-se obstáculos que inpediram a conclu-são do projeto, tornando inviavel a execução de testes finais que gerariam a taxa de erro do projeto em execução com todas suas partes integradas.
4.1 TRABALHOS FUTUROS
Fica proposto como trabalho futuro melhorias na estrutura do projeto, utilizando im-pressão 3D, possibilitando uma melhor calibração do sensor e dos servo motores.
4.2 ORÇAMENTOS
O orçamento deste projeto está descrito na Figura 7.
Figura 7: Tabela de Preços Fonte: Autoria Própria
18
4.3 CONCLUSÕES
Este trabalho apresentou uma máquina separadora de M&M’s por cor empregandoR
como hardware um Arduino UNO, dois servos motores de rotação continua, um sensor de cor RGB(TCS-3200), uma fonte externa para o Arduino UNO e a Base do Sistema em madeira. O software foi criado utilizando as bibliotecas Servo.h e MD_TCS230 que correspondem respec-tivamente aos servo motores e ao Sensor de Cor RGB(TCS-3200).
Apesar da existência de projetos similares com o desenvolvido, a maioria foi elabo-rada no exterior, com peças impressas em 3D, facilitando a criação da parte mecânica, porém elevando seu custo. Como a impressão em 3D da parte mecânica não era algo viável, foi optado pelo desenvolvimento manual demandando tempo, esforço e gerando um grande desafio para o grupo, assim como a parte eletrônica.
Após a conclusão da parte mecânica foram feitos vários testes para desenvolver o có-digo presente no Arduino para que tudo funcione em conjunto, o primeiro passo do sistema é calibrar o sensor de cor RGB, a partir disto foi possível calibrar os servo motores superior e inferior. Uma observação importante a ser colocadas é que o maior desafio nosso foi com a parte mecânica, demandando muito tempo e novas soluções para novos problemas. A inclusão de 2 servos motores de rotação continua e um sensor de cor RGB(TCS-3200) no Arduino UNO diretamente demandou uma fonte externa para suportar o funcionamento correto do sistema.
Diversas contribuições para o conhecimento foram adquiridas durante a elaboração do projeto, mas destaca-se a complexidade da integração mecânica/eletrônica, considerando que nenhum dos membros da equipe esperava os problemas encontrados e a parcela de tempo gasto com essa etapa, e a introdução a uma área muito presente na Engenharia de Computação: a integração software/hardware, que nenhum dos membros havia trabalhado até então.
19
4.4 CRONOGRAMA
As tarefas foram subdividias entre os integrantes do grupo e a execução e o tempo levado total para realização de todos as tarefas em média por cada participante está apresentado no cronograma a seguir:
Figura 8: Cronograma Fonte: Autoria Própria
20
REFERÊNCIAS
ARDUINO. Referência da Linguagem. 2015. Disponível em: <http://www.arduino.cc/en/Reference/HomePage>.
MCROBERTS, M. Arduino Básico. [S.l.: s.n.], 2011.