MÁRCIO LÚCIO DIAS PEREIRA
Desenvolvendo Projetos de Automação e Robótica com Arduino
Sumário Sobre o Autor .............................................................................................. Introdução ................................................................................................... Capítulo 1 – Conhecendo o Arduino ....................................................... 1.1 O que é o Arduino ....................................................................... 1.2 O microcontrolador .................................................................... 1.3 Tipos e fabricantes ...................................................................... 1.4 Conhecendo o hardware ........................................................... 1.5 Portas de comunicação .............................................................. 1.6 Shields ........................................................................................... 1.7 IDE do Arduino ............................................................................. 1.8 A linguagem de programação ................................................... 1.9 Bibliotecas (Libraries) ................................................................ 1.10 Usando uma Protoboard ......................................................... 1.11 O aplicativo Fritzing ................................................................... 1.13 Montando um kit básico .......................................................... Capítulo 2 – Leds, Displays e outros componentes ............................. 2.1 Conceitos básicos de eletricidade ............................................ 2.2 LED ................................................................................................. 2.3 Resistores...................................................................................... Projeto 01 – Led Piscante ................................................................. Projeto 02 – Semáforo ......................................................................
2.4 Led Padrão RGB ........................................................................... Projeto 03 – Combinando Cores com Led RGB............................ Projeto 04 – Sequência de Leds ...................................................... 2.5 Potenciômetro ............................................................................. Projeto 05 – Efeitos de Leds e Potenciômetro ............................. 2.6 Chave Táctil (Push Button) ....................................................... Projeto 06 – Ligar/Desligar Leds com Push Button ..................... 2.7 Display de 7 segmentos ............................................................. Projeto 07 – Contador com Display de 7 segmentos .................. 2.8 Buzzer (Sonorizador Piezoelétrico) ........................................ Projeto 08 – Sirene com Sonorizador ............................................ 2.9 Display LCD ................................................................................... 2.10 Biblioteca LiquidCrystal .......................................................... Projeto 09 – Mostrando dados no display LCD ............................ Capítulo 3 – Trabalhando com Sensores ............................................... 3.1 LDR (Sensor de Luminosidade) ............................................... Projeto 10 – LDR com Leds e Buzzer ............................................. 3.2 HC-SR04 (Sensor Ultrassônico) ............................................... Projeto 11 – Medindo distâncias com HC-SR04 ........................... 3.3 PIR (Sensor de Presença e Movimento) ................................ Projeto 12 – PIR com Leds e Buzzer ............................................... 3.4 TCRT5000 (Sensor Óptico Reflexivo) ...................................... Projeto 13 – TCRT5000 com Leds ................................................... 3.5 DHT11/DHT22 (Sensor de Temperatura e Umidade) .........
Projeto 14 – Medindo Temperatura Umidade com DHT11 ....... 3.6 Sensor de Umidade de Solo ...................................................... Projeto 15 – Medindo umidade de solo......................................... 3.7 Sensor de Gás/Álcool (MQ) ...................................................... Projeto 16 – Usando sensor de gás/álcool .................................... 3.8 Sensor de Chamas (Fogo) ........................................................ Projeto 17 – Alarme de incêndio com Leds e Buzzer .................. 3.9 Sensor Infravermelho ................................................................. Projeto 18 – Acendendo Leds com sensor IR ............................... Capítulo 4 – Automação de Dispositivos ................................................ 4.1 Usando um Multímetro .............................................................. Projeto 19 – Fazendo testes com um Multímetro ........................ 4.2 Relés............................................................................................... Projeto 20 – Ligar/Desligar lâmpadas com relés .......................... Projeto 21 – Ligar/Desligar lâmpadas pela porta serial .............. 4.3 Automação residencial ............................................................. Projeto 22 – Ligar/Desligar lâmpadas com sensores .................. Capítulo 5 – Introdução à Robótica ......................................................... 5.1 O que é robótica .......................................................................... 5.2 Motores ......................................................................................... 5.3 Servo-motor.................................................................................. 5.4 Biblioteca Servo ........................................................................... Projeto 23 – Controlar um servo com Potenciômetro ................ 5.5 Motor DC (Corrente Contínua) ................................................
5.6 Transistor ...................................................................................... 5.7 Transistor, Motor e Arduino ...................................................... 5.8 Diodo ............................................................................................. Projeto 24 – Motor DC com Transistor e Potenciômetro ........... 5.9 Motor de Passo (Stepper) ........................................................ 5.10 Biblioteca Stepper ..................................................................... Projeto 25 – Controlando um Motor de Passo ............................. 5.11 Ponte H ....................................................................................... 5.12 Circuito Integrado L293D......................................................... Projeto 26 – Controlando Motores DC com L293D ..................... 5.13 Construindo um robô ............................................................... Projeto 27 – Robô seguidor de luz .................................................. Projeto 28 – Robô seguidor de trilha.............................................. Projeto 29 – Robô que desvia de obstáculos ................................ Projeto 30 – Controlando um Robô com vários sensores .......... Capítulo 6 – Recursos Avançados ............................................................ 6.1 Motor Shield ................................................................................. Projeto 31 – Usando um Motor Shield ........................................... 6.2 Sensor Shield................................................................................ Projeto 32 – Usando um Sensor Shield ......................................... 6.3 Bluetooth ...................................................................................... Projeto 33 – Controlando dispositivos com bluetooth ............... 6.4 Ethernet Shield ............................................................................ Projeto 34 – Controlando dispositivos via internet ......................
6.5 Reconhecimento de voz ............................................................. 6.6 Adaptador USB/TTL ..................................................................... Projeto 35 – Controlando dispositivos por voz ............................. Referências ................................................................................................ Anexos ........................................................................................................ Anexo A – Linguagem – Estrutura ................................................... Anexo B – Linguagem – Variáveis e Constantes ........................... Anexo C – Linguagem – Funções ..................................................... Anexo D – Bibliotecas padrões ........................................................
Sobre o Autor Márcio Lúcio Dias Pereira é graduado em Matemática e Tecnologia em Gestão de Ti, Pós-Graduado em Docência para o Ensino Superior pela Universidade Paulista (Unip) e Mestre em Ciências e Matemática pela Universidade Cruzeiro do Sul (Unicsul). Tem 28 anos de experiência na área de informática, atuando como Consultor, Encarregado e Gerente em empresas de auditoria, escolas, prestadoras de serviços, concessionárias de veículos e supermercados. Tem experiência em coordenação de escolas de informática, docência em cursos de qualificação profissional, tecnologia de educação à distância, desenvolvimento de sistemas e implantação de projetos de automação comercial. Atualmente é docente de Matemática, Física, Informática e Estatística, em cursos Técnicos, Médio e Superior. Ministra palestras, seminários e cursos em escolas, órgãos públicos e empresas promovendo o desenvolvimento da excelência pessoal e profissional, através de temas atitudinais, motivacionais e técnicos. Desenvolve materiais de apoio técnico e didático para cursos da área de educação e informática, em diversos segmentos como lógica de programação, desenvolvimento de sistemas, administração de redes, teleprocessamento, automação comercial e extensão universitária. É autor de alguns cursos de extensão universitária como "Uso de Calculadoras Científicas em Sala de Aula", “Gerenciamento de Projetos com MS-Project”, “Uso do Microsoft Excel para Análises Estatísticas” e "Projetos de Automação e Robótica com Arduino".
Introdução Se você tem interesse em robôs ou outros recursos eletrônicos automatizados, fique atento a esse nome, Arduino, ele está no centro de várias invenções modernas e o mais interessante é que você também pode criar a suas. O projeto Arduino é open-source, ou seja, é baseado numa plataforma de hardware e software livres e flexíveis, o que significa que você pode criar seus próprios projetos, modificar os já existentes, além de poder contribuir para diversas comunidades colaborativas de desenvolvimento disponibilizando seus projetos. O interessante do Arduino, está na facilidade de criar sistemas que podem ajudar a melhorar o dia-a-dia das pessoas, pois, dispositivos que utilizam estes recursos podem ser encontrados em inúmeros aparelhos eletrônicos, como telefones celulares, GPS, televisores, aparelhos de micro-ondas, refrigeradores, alarmes de segurança, instrumentos musicais, sistemas de automação residencial e industrial, roupas inteligentes, brinquedos, automóveis modernos, aeromodelos, impressoras, mouses, cartões de crédito com chip, etc. A plataforma Arduino está presente em muitos projetos de automação e robótica existentes em nosso cotidiano, porém para quem está iniciando nesta área geralmente sente dificuldade de ter um ponto de partida. O objetivo deste livro é apresentar o Arduino, através de conceitos e práticas de desenvolvimento de sistemas de automação e robótica, onde serão abordados sistemas de hardware e software dessa plataforma, através de diversos experimentos. Serão desenvolvidas tarefas de programação, operação, manutenção, medições e testes de pequenos projetos de automação e robótica que utilizarão diversos componentes elétricos e eletrônicos,
além de pequenos motores, o que sem dúvida se tornará uma experiência enriquecedora para os participantes. Uma grande vantagem da plataforma Arduino, está na facilidade de sua utilização, pois, pessoas que mesmo não sendo da área técnica, podem aprender de forma rápida os recursos básicos e desenvolver seus próprios projetos. A compreensão dos recursos tecnológicos presentes em nosso cotidiano é indispensável para possibilitar o uso adequado e seguro de aparelhos e equipamentos, além de fornecer condições para fazer análises e otimizações no uso desses recursos. O estudo desses recursos, fazem parte da computação física, ou seja, uma área da computação em que o software interage diretamente com o hardware, tornando possível a integração com sensores, motores e outros dispositivos eletrônicos. Assim, ao estudarmos melhor como estes recursos funcionam, passamos a entender melhor como funcionam alguns mecanismos que estão presentes em nosso cotidiano, além obviamente nos tornarmos profissionais mais preparados para enfrentarmos o mercado de trabalho que se torna cada vez mais influenciado pelas transformações tecnológicas. O avanço dos conhecimentos científicos e tecnológicos cada vez mais presentes nas empresas e também no cotidiano das pessoas, são evidências das transformações estruturais que modificam os modos de vida, as relações sociais e as relações do mundo do trabalho. Consequentemente, estas demandas impõem novas exigências às pessoas que buscam pela melhoria da formação profissional, já que o conhecimento das tecnologias presentes na sociedade moderna, se faz necessário para qualquer profissional. Os sistemas de automação e robótica passaram por inúmeras transformações ao longo do tempo e o crescente avanço tecnológico ajudou bastante para que esse processo ocorresse. Um agente recente
nesse processo de desenvolvimento tecnológico se deve ao uso de microcontroladores. Atualmente é comum o uso desses dispositivos no controle de processos industriais, automação residencial e também nos dispositivos robóticos. Seu uso reduz o custo da automação e também propicia mais flexibilidade. Dentre as plataformas de desenvolvimento que utilizam estes microcontroladores, a plataforma Arduino tem ganhado um grande destaque, o que se faz necessário a sua divulgação através de cursos, seminários, palestras e feiras científicas, para que cada vez mais pessoas possam ter acesso a esses avanços tecnológicos.