Mini Curso Arduino Parte I
Mini Curso Arduino Parte I
Parte I
Prof. Rogério Neves
Conteúdo – Parte I
• O que é Arduino?
• Hardware e Software
• Dispositivos e conexões
• Interface e linguagem
• Entrada e saída de dados
• Prática de desenvolvimento 101
Parte II
• Projetos com Arduino
O que é Arduino?
• Proposta
• Vantagens
• Origens
• Modelos
Proposta
• Interface de desenvolvimento Open-Source com licença pública
• Disponibiliza uma linguagem simples e familiar (similar a C/C++)
• Permitir a hobbistas, artistas, estudantes e a comunidade “DIY”
• ter acesso a prototipação rápida sem a necessidade de
conhecimento aprofundado de eletrônica e microprocessadores
• Compartilhar projetos na comunidade aberta (Forum)
• Conectar uma variedade de instrumentos e sensores
http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino/0
Vantagens
• Projeto aberto (hardware e software)
• Permite prototipação rápida
• Sem conhecimento de operação de micro controladores
• Conhecimento básico de eletrônica *
• Conhecimento básico de programação
• Gravação simples
• Bootloader
• Arduino IDE
• Bibliotecas prontas
* https://arduinohistory.github.io/
Sistemas embarcados
• Sistemas que contém microprocessadores dedicados
• Embutidos no aparelho/equipamento a que se destina
• Soluções para prototipação
• PIC
• Basic Stamp
• Arduino
• ESP8266 e ESP-12
• Raspberry PI
• Intel Galileo
• Vários outros
Hardware
• Inicialmente utilizava mico controladores ATMEL
(ATMEGA8)
• Utiliza hoje uma variedade de micro controladores
• Os modelos mais populares utilizam o chip ATMEGA328
(Arduino UNO, Duemilanove)
• Os novos modelos usam ARM CORTEX de 32 bits
• Varias variações, clones e projetos feitos pela comunidade
Modelo original
Diecimila, Duemilanove, Extreme 2, NG Rev. C, NG, Extreme, NG, USB 2.0, USB
Modelos oficiais
Aduino Duemilanove
ZERO
Compact
Wearable
Descontinuados
Modelos da comunidade
DILduino Latuino
Versões nacionais
Garagino
Severino
Marminino
Arduino com ATMEGA 328-P/-PU
Shields
Módulos
ESP8266
Dedicado a IOT
Compatível com Arduino
Interface e
Linguagem
Processing
• Linguagem baseada em C/C++
• Open-source
• Escrita em Java, Multi-plataforma
• Exigido conhecimento de programação (C, Java ou similar)
• Extensões para controle de entrada/saída e fluxo de dados
Wiring
• Projeto open-source derivado de Processing voltado para
prototipação de circuitos eletrônicos
• Permite remapeamento e chaveamento dinâmico de
entradas e saídas por comandos de software
Interface Arduino (Software)
• IDE – Integrated Development Interface
• Derivada de Wiring
• Escrita em Java, cross-platform
• Editor de código de programa verificador de sintaxe
• Incorporada omunicação com os dispositivos suportados
• Traz bbibliotecas para operação de módulos e shields
• Suporte a múltiplos dispositivos/compiladores
• Integração com compilador/gravador AVR (AVRDude)
https://ardudino.wordpress.com/programacao/
Arduino IDE
Entrada e saída
Componentes
Pinout ATMEGA328
Pinout Arduino UNO
Exemplo de conexão:
Potenciômetro
Exemplo: Servo
Código
https://ardudino.wordpress.com/programacao/
Servo + Bluetooth
Exemplos de projetos
• https://dheera.net/projects/sesame
• https://youtu.be/nnbeROOT_dg
• https://youtu.be/hqNZ1ul2BPc
• https://youtu.be/ySpeL8WkUEM
Ferramentas
• Arduino IDE
• Fritzing
• http://arduino.cc
Prática 101
Basic Examples
Arduino IDE Arquivos Exemplos
• Basics/Blink
Libraries
Arduino IDE Arquivos Exemplos
• Servo/Knob