Carrinho Controlado por Wi-Fi. Autor: Álvaro Fernandes de Abreu Justen Disciplina: Microprocessadores Professor Marcos Tadeu von Lutzow Vidal

Documentos relacionados
AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Introdução à Plataforma ARDUINO

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Arquitetura do Microcontrolador Atmega 328

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

ARDUINO. Profº. Engº. Robson Dias Ramalho

Introdução à robótica

Arduino Básico: As versatilidades desta plataforma na prática

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

Introdução do Arduino para aquisição de dados e controle de instrumentos

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CCET - Centro de Ciências Exatas e de Tecnologia Engenharia de Computação. Display POV

Sistemas Embarcados:

Introdução ao Arduino

Arduino. Aula 3 motores

INTRODUÇÃO: MICROCONTROLADORES

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO - CAMPUS TRINDADE

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO.

Estudo de alternativas tecnológicas

Introdução aos microcontroladores Microcontroladores e microprocessadores Tecnologia em Manutenção Industrial

Montagem do Robô. Especificações. domingo, 28 de agosto de 11

Placa Eletrônica para Robôs Móveis

Arquitetura e Organização de Computadores. Conjunto de Instruções da Arquitetura CompSim

Curso Arduino ESP8266. Aula #1 - Introdução

INFORMAÇÕES GERAIS DO TRABALHO

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

Arduino. Introdução aos Componentes Básicos. Leonardo Mauro P. Moraes. Universidade Federal de Mato Grosso do Sul - UFMS.

Pequenos Projetos com Arduino

Oficina de Introdução ao Arduino

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Autorização Eletrônica PESQUISA DE PREÇOS. Endereço : SIA TRECHO 02,0 LOTES SIA. Vailson Alexandre da Silva COPEC/DIAF

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Disciplina : Microcontroladores AVR

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

PIBIC/PIBITI/IC Jr Relatório das Atividades de Pesquisa 23ª SEMIC

Manual Técnico Protuino FTDi

ERIK LEÃO JULIANA CECÍLIA GIPIELA CORRÊA DIAS LEONARDO COSTA EX - LADDER

Hardware Livre Arduino. Givanaldo Rocha de Souza

Anatomia do Arduino Bootloader

Família de Microcontroladores AVR

Robótica com Arduino Professor: Paulo Marcos Trentin

PLATAFORMA PARA ESTUDO EM PROGRAMAÇÃO DE MICROCONTROLADORES FAMÍLIA 8051

O que você pode fazer com o Arduino

CONTROLE DE UM SERVO MOTOR

Programação C para Arduino

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA ENGENHARIA DE COMPUTAÇÃO PROJETO SCATMAN S DIMMER

Minicurso de Arduino

Programação em linguagem C para microcontroladores ARM Cortex-M3

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Estudo da placa de prototipagem Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

CURSO ARDUINO BÁSICO. Luiz Antonio de Oliveira Nunes/ Antenor Fabbri Petrilli Filho

Arduino. Gilmar Aquino

- Clique aqui e veja o video deste curso - Clique aqui para ver as imagens deste curso

CURSO DE ROBÓTICA PARA ENSINO MÉDIO

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

Guia da Placa de desenvolvimento PD Mega16 N1

SISTEMA CNC APLICADO À CARACTERIZAÇÃO DE ACOPLAMENTO INDUTIVO

Arduino - Primeiros Passos

Autorização Eletrônica PESQUISA DE PREÇOS. Endereço : SIA TRECHO 02,0 LOTES SIA. Rosália Viviane Almeida de COPEC/DIAF

Suporta os microcontroladores: R. Leonardo da Vinci, Campinas/SP CEP F.: (19) Kit de Desenvolvimento ACEPIC 28

Microcontroladores. Vanderlei Alves S. Silva

Curso: Tecnologias educacionais de baixo custo. Conector Ciência:

Minicurso de Arduino. Laboratório de Inovação em Sistemas em chip npiti - UFRN

TRABALHO DE CONCLUSÃO DE CURSO TÉCNICO EM ELETRÔNICA. Reutilização de água

Microcontroladores e Microprocessadores

Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf

Período Saulo O. D. Luiz

Acionamento de Motores: PWM e Ponte H

Jadsonlee da Silva Sá

Arduino. Prof. Maurício Dias

Comparação entre Arduino, FPGA, ASIC e SoC

Programação do Arduino. Parte 1. IDE Wiring

Apêndice B Sistema Sem Fios Adotado 171 B.1 SISTEMA ADOTADO

Microcontroladores PIC16 - XM 116 -

Controladores programáveis de motores enrolados em série Modelos 1204M / 1205M / 1209M / 1221M

Projetos Eletrônica 1. CIn UFPE

ARDUINO. Níveis lógicos de referência VCC e GND Entradas e saídas digitais e analógicas.

Mundo Arduino: Vamos começar a programar?

Arduino. Prof. Jener Toscano Lins e Silva

GUIA RÁPIDO DE PLACAS ARDUINO

Projeto Panzer. Fabio Henrique Mazarotto Margareth Suchÿ

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

CURSO: ENGENHARIA DE CONTROLE E AUTOMAÇÃO EMENTAS º PERÍODO

Lab2. Germano Maioli Penello IF-UFRJ aula 16.

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

Microprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;

julho 2017 pequeno guia de eletrônica essencial para makers helder da rocha

Comunicação USB com o PIC Vitor Amadeu Souza

ARDUINO E RASPBERRY PI : UMA COMPARAÇÃO DE ESPECIFICAÇÕES E APLICAÇÕES DE MINICOMPUTADORES

Guia do Projeto MULTÍMETRO DIGITAL

Parte II Arquitetura. professorferlin.blogspot.com. professorferlin.blogspot.com. Sociedade Paranaense de Ensino e Informática

Introdução DrumShield A Bateria Eletrônica Montagem Lista de Materiais Exemplo de Montagem... 10

MSP430 Lab 01 Instalação do Code Composer Studio e teste da Launchpad

Programação Básica em Arduino

Intel Galileo: Acesso ao GPIO General Purpose Input/Output

// Arduino {? } Mais o que é?..

Transcrição:

Carrinho Controlado por Wi-Fi Autor: Álvaro Fernandes de Abreu Justen Disciplina: Microprocessadores Professor Marcos Tadeu von Lutzow Vidal Universidade Federal Fluminense Niterói/RJ julho de 2010

Introdução Nesse trabalho será mostrado como foi feito o processo de criação e implementação (partes física e lógica) do projeto Carrinho controlado por Wi-Fi, baseado no projeto Arduino e incentivado pelo professor Marcos Tadeu von Lutzow Vidal, a fim de exercitar os conceitos aprendidos na disciplina Microprocessadores, no primeiro período letivo de 2010, na Universidade Federal Fluminense. Motivação Alguns motivos foram importantes para a escolha desse projeto e não de outros temas, como: Já existia uma versão inicial de um carrinho, porém controlado por luz: existiam 4 sensores de luminosidade onde o usuário apontava uma lanterna e poderia conduzir o carrinho para frente, para trás ou para um dos lados. Existia o interesse dos autores da versão inicial do carrinho em aprimorá-la. Exercitar e aprender sobre eletrônica, desenvolvimento de software e conhecimentos na área de redes de computadores. Figura 1: Versão inicial do carrinho, controlado por luz

O Projeto Visão Geral O projeto é composto de um carrinho que possui, além de outras coisas, um netbook acoplado. O netbook é responsável por fazer a comunicação Wi-Fi com o usuário (que controlará o carro); além disos, o netbook se comunica com o Arduino, que então faz o controle de toda a parte eltrônica (motores, LEDs e buzzer). O diagrama a seguir ilustra a estrutura do projeto: Figura 2: Diagrama do projeto Áreas do Conhecimento Esse projeto abrangiu várias áreas do conhecimento e, por isso, foi um grande desafio fazer com que tudo fosse integrado para funcionar de forma eficiente. As grandes áreas envolvidas foram: Mecânica Telecomunicações Computação Eletrônica Nas próximas será mostrada como foi feita a implementação do projeto da ótica de cada uma das áreas citadas. O Projeto Parte Mecânica A parte mecânica do carrinho foi basicamente feita de alumínio e acrílico, onde os motores e uma terceira roda foram presos. No lado da frente, foram presos dois motores (cada um preso a uma roda) e na parte traseira foi presa uma roda pivotada (que roda livremente, através de um rolamento). Além disso, foram colados LEDs para simbolizar os faróis, a seta e neon. Seguem imagens do desenvolvimento:

Figura 3: Álvaro Justen cortando acrílico Figura 4: Estrutura de acrílico e alumínio pronta

Servomotores Servomotores são motores controlados por um trem de pulsos, onde o duty-cycle do trem de pulsos indica o sentido de rotação do motor. A utilização de servomotores facilitou o projeto, uma vez que são alimentados com 5V, são fáceis de se controlar e já possuem uma caixa de redução (conjunto de engrenagens que diminuem a rotação, aumentando o torque). A figura a seguir ilustra o uso de PWM no Arduino para controlar os servomotores, onde um dutycycle maior que 50% (e menor que 100%) faz o motor girar para um lado, maior que 0% e menor que 50% faz o motor girar para o outro lado; em 0 e 100% o motor fica parado. Figura 5: Pulse Width Modulation no Arduino Foram utilizados dois servomotores, que foram modificados exclusivamente para o carrinho. As modificações foram: Troca do antigo eixo, para que fosse possível prendê-lo à roda; Eliminação da trava de rotação do servomotor (servomotores giram até 180, porém precisamos que eles girassem 360 ). Para fazer as modificações foi utilizado o Laboratório de Tecnologia Mecânica da Universidade Federal Fluminense, com a ajuda dos técnicos Alain, Edivaldo e Pedro e do professor John Reed (do Instituto de Computação da mesma universidade). Lá foram criadas buchas para que o novo eixo pudesse ser acoplado às engrenagens do motor (uma broca foi utilizada como eixo pela rigidez do material com o qual é feita). Seguem fotos do processo de construção das buchas no torno mecânico:

Figura 6: Álvaro Justen utilizando o torno mecânico do LTM Figura 7: Bucha da roda sendo torneada

Após a confecção das peças, o motor foi desmontado para que fossem coladas e o novo eixo fossem encaixado. Como novo eixo foi utilizada uma broca de 1.19mm de diâmetro. Seguem fotos do processo: Figura 8: Servomotor desmontado Figura 9: Servomotor com novo eixo colado

Após o fechamento dos motores, o eixo deles foi colado com Durepóxi às rodas. Foram utilizadas rodas de aeromodelos, por conta de serem bastante leves: Figura 10: Eixo sendo colado à roda Após esse processo os motores foram fixados à estrutura de alumínio: Figura 11: Estrutura de alumínio e acrílico com motores e rodas

LEDs e Buzzer LEDs foram utilizados para simular os faróis, setas e neon no carrinho. O buzzer simula a buzina do carro. Eles foram fixados a partir de buracos na parte de alumínio, conforme a foto ilustra: Figura 12: LEDs fixados e soldados O Projeto Parte Eletrônica Na parte eletrônica do projeto foram utilizados os seguintes componentes: 6 LEDs brancos para simbolizar os faróis, alimentados pela USB do netobok 2 LEDs amarelos para simbolizar as setas, alimentados pelo Arduino 2 LEDs azuis para simbolizar o neon, alimentados pela USB do netobok 1 buzzer para a buzina, alimentado pelo Arduino 1 transistor que funciona como chave, para ligar e desligar os faróis, comandado pelo Arduino Resistores para limitar a corrente dos LEDs e da base do transistor 1 Arduino Nano Os LEDs dos faróis são alimentados pela USB do netbook, porém passam por um transistor NPN que funciona como chave, assim o Arduino consegue controlar o desligamento dos faróis ou acionamento como farol baixo ou alto (a luminosidade é controlada através de PWM). Todos os componentes foram interligados através de uma protoboard, formando o seguinte circuito elétrico:

Figura 13: Circuito elétrico do carrinho Figura 14: Protoboard com os componentes interligados

Arduino Nano O Arduino é uma plataforma de hardware e software livres para a prototipagem de projetos de eletrônica que necessitam de uma CPU. Ele é composto por um microcontrolador (ATMega328) e outros componentes, como uma interface de comunicação USB (FTDI). São utilizadas as linguagens C/C++ para desenvolver software para seu microprocessador, e uma IDE (que roda em GNU/Linux, Mac OS e Windows) é utilizada para fazer o upload do software compilado, via USB. O compilador utilizado pela IDE é o avr-gcc, uma variante do GNU C Compiler, que dá suporte aos microprocessadores da AVR (fabricante do ATMega328). Todo o software do carrinho que roda no Arduino está disponível em: http://www.justen.eng.br/turiquinhas/v2.tar.gz Figura 15: Arduino Nano - visão frontal Figura 16: Arduino Nano - Visão traseira Assim como qualquer microcontrolador, o ATMega328 possui um microprocessador, memórias (RAM, Flash e EEPROM), clock, timers, pinos de entrada e saída (analógica e digital), sistema de interrupções, dentre outras. Dentre as diversas funcionalidades do Arduino Nano utilizado, podemos destacar: Microcontrolador ATMega328 Clock de 16MHz 32kB memória Flash 2kB memória RAM 1kB memória EEPROM I/O: 14 digitais (6 com PWM), 6 analógicas (ADC 10 bits)

32 registradores (8 bits cada, uso geral) Timers (2 de 8 bits e 1 de 16 bits) Seguem um esquema lógico do microcontrolador ATMega328 de do microprocessador que está dentro do mesmo: Figura 17: Esquema lógico do ATMega328

Figura 18: Esquema lógico do microprocessador do ATMega328 O Projeto Rede Wi-Fi Foi criada uma rede Wi-Fi do tipo Ad-Hoc no netbook para que o cliente pudesse se conectar. O endereço de rede utilizado foi 192.168.55.0, com máscara de subrede 255.255.255.0. Também foi instalado um software servidor DHCP no netbook para dar IP aos clientes que se conectarem à rede. Ao se conectar à rede, basta que o cliente abra o IP do netbook em seu navegador Web: http://192.168.55.1 O sistema operacional utilizado no netbook foi o Ubuntu 9.10 Netbook Remix. Os scripts de iniciação da rede Wi-Fi estão disponíveis em: http://www.justen.eng.br/turiquinhas/v2.tar.gz

O Projeto A Interface Web Foi desenvolvida uma aplicação Web para que o cliente consiga controlar os movimentos do carrinho, além da buzina e dos faróis e ver a câmera do netbook. Foram utilizadas várias linguagens e ferramentas para a construção dessa interface, como: 1. 2. 3. 4. 5. 6. 7. 8. HTML CSS JavaScript jquery framework JavaScript que facilita e agiliza o desenvolvimento de aplicações interativas Python web2py framework para desenvolvimento Web escrito em Python pyserial biblioteca para comunicação serial escrita em Python streamer programa que tira fotos da webcam Os 4 primeiros itens rodam no navegador do cliente e são responsáveis pela interação do cliente com o netbook. Já os 4 últimos rodam no servidor (netbook) e são responsáveis por se comunicar com o cliente e enviar as informações para o Arduino. Figura 19: Interface Web do carrinho Todo o código da interface Web está disponível em: http://www.justen.eng.br/turiquinhas/v2.tar.gz

Versão Final Conclusões Figura 20: Versão final do carrinho Unir diversas tecnologias e várias áreas do conhecimento foi um grande desafio para esse projeto que, ao final, foi implementado com sucesso, agregando bastante conhecimento a todos os envolvidos. Todo o material construído durante seu desenvolvimento (textos, fotos, vídeos e código) está sendo disponibilizado gratuitamente na Internet, através do endereço: http://www.justen.eng.br/turiquinhas/ Além disso, Álvaro Justen foi convidado a palestrar sobre o projeto nos seguintes eventos: Fórum Internacional de Software Livre (FISL) 21 a 24 de julho de 2010, Porto Alegre/RS Congresso Internacional de Software Livre e Governo Eletrônico (CONSEGI) 18 a 20 de agosto de 2010, Brasília/DF O projeto também deu origem à lista de usuários de Arduino do estado do Rio de Janeiro, ArduInRio.org, e será utilizado na disciplina Fundamentos de Programação e Especificação de Protocolos, na qual Álvaro Justen é monitor, para incentivar os alunos a praticar desenvolvimento de software de forma a integrar conceitos de outras disciplinas, como eletrônica.

Trabalhos Futuros Controle via Internet Trocar motores e rodas por mais robustos Pré-programar os movimentos do carro e armazená-los na EEPROM Utilizar nova bateria com maior autonomia Agradecimentos Professor John Reed Instituto de Computação da Universidade Federal Fluminense Técnicos do Laboratório de Tecnologia Mecânica: Alain Edivaldo Pedro Marcelo José Justen