1 Open Hardware & Arduino Jeronimo Avelar Filho [email protected] .
Arduino - Desenvolvendo com hardware livre
-
Upload
marcelo-laranjeira-melo -
Category
Technology
-
view
3.188 -
download
0
description
Transcript of Arduino - Desenvolvendo com hardware livre
ARDUINO
DESENVOLVENDO COM HARDWARE LIVRE
Marcelo Melo
Massimo Banzi & Arduino Team
Massimo Banzi é responsável pelo projeto Arduino, trabalhou por muitos anos como arquiteto de software em Milão e Londres, em projetos para clientes como a Itália Online, Sapient, do Partido Trabalhista, a BT, a MCI WorldCom , SmithKlineBeecham , StorageTek, a BSkyB e boo.com.
Foi professor durante quatro anos no " Interaction Design Institute Ivrea“. Lecionou, também em instituições como: CIID - Copenhaga, Architectural Association - Londres, Central Saint Martin - Londres, Bartlett - Londres, Basel Hyperwerk, Hochschule für Gestaltung und Kunst Basel, Hochschule für Gestaltung Schwäbisch Gmünd, FH Potsdam, na Domus Academy, Medialab Madrid, Escola Superior de Disseny Barcelona, o Ars Electronica em Linz, Amsterdam Mediamatic dentre outas.
O que é Arduino?
O projeto Arduino (http://www.arduino.cc) iniciou-se na cidade de Ivrea, Itália, em 2005, tinha como objetivo interagir em projetos escolares de forma a ter um orçamento menor que outros sistemas disponíveis naquela época.
Obteve reconhecimento através de uma menção honrosa na categoria Comunidades Digitais em 2006, pela Prix Ars Eletronica, além da marca de mais de 50.000 placas vendidas até outubro de 2008.
É uma placa de desenvolvimento aberta, que facilita criação de projetos eletrônicos e interativos de fácil acesso as pessoas.
Vantagens» Hardware e Software livres – além disso você pode fazer o download dos
arquivos de confecção da placa, comprar os componentes e montar sua placa sem pagar nada aos mantenedores do Arduino;
» Hardware de baixo custo, na maioria das placas o microcontrolador fica "espetado" em um soquete podendo ser facilmente removido para projetos Stand Alone ou substituido em caso de pane;
» Linguagem de fácil compreensão, já que eh baseada em C;
» A maioria das placas não necessita de harwdware adicional para fazer a gravação no microcontrolador, podendo ser feita pela porta USB, Serial ou Paralela!
» Tem um Ambiente de desenvolvimento multiplataforma, podendo rodar em Windows, Linux e Macintosh;
» Com a IDE de programação Processing, o desenvolvimento fica mais fácil, é muito utilizado por artistas e designers.
» Comunidade cada vez mais crescente e atuante, diariamente são postado dezenas de projetos, portanto há muita gente para auxiliá-lo;
» O Projeto Arduino foi concebido para pessoas comuns, designers, artista e engenheiros - pela facilidade no aprendizado- criarem hardwares interativos, de baixo custo, que proporcionem uma grande interação homem-máquina.
"A CRIATIVIDADE É O LIMITE!"
A filosofia Arduino
O ambiente de programação
O Hardware
A comunidade
O hardware
A placa do Arduino é composta por um microcontrolador com Atmel AVR de 8 bits da série megaAVR, especialmente os ATmega8, ATmega168, ATmega328 e a ATmega1280, e contam, na maioria, com uma estrutura de conectores fêmeas de 0,25 centímetros para facilitar a incorporação de outras placas(shields) ou até mesmo fios e conectores de pinos. Esses microcontroladores vêm pré-programado com o bootloader, que simplifica o processo de de carregamento do firmware para o chip de memória flash embutido no mesmo. Os Arduinos fabricados por usuários também se utilizam desses microcontroladores!
A comunicação do Arduino é serial, portanto as placas mais atuais contam com um chip FTDI FT232 para converter os sinais dos níveis RS-232 para uma comunicação via USB. Placas que não possuem esse chip necessitam de uma placa ou cabo especial para a comunicação com o PC.
A maioria dos pinos de I/O dos microcontroladores são para uso externo, seja com botões, sensores ou atuadores. A versão UNO, disponibiliza 14 pinos digitais, dos quais 6 podem produzir sinais PWM, além de 6 entradas analógicas.
O que precisa pra começar?
-Arduino (usb)-Protoboard-Fios-Resistores-Leds-Botões-LDR ou potenciometro-IDE Arduino
Vontade de aprender!
A IDE A IDE (Integrated Development Environment) do
Arduino é desenvolvida em Java, portanto, multiplataforma, tendo uma linguagem derivada do Processing (www.processing.org) e Wiring, tais características tornam mais fáceis a programação por pessoas não familiarizadas com o desenvolvimento de software sendo capaz de compilar e carregar programas para a placa com um único clique. Com isso não há a necessidade de editar Makefiles ou rodar programas em ambientes de linha de comando. A biblioteca chamada "Wiring", possui a capacidade de rodar códigos em C/C++ permitindo criar interações I/O com o mundo externo!
Quando pressionado o botão que envia o Sketch para a placa: o código é traduzido em linguagem C (que geralmente é muito difícil para
um iniciante de usar), e é passado para o compilador avr-gcc,este faz a tradução língua compreendida pelo microcontrolador.
ESTRUTURA DO FIRMWARE
/*Comentários de 2 linhas ou mais (opcional)
*/
void setup() //Inicializa as configurações
{ // Instruções}void loop() //Bloco que se repete até o microcontrolador seja reiniciado
{ // Instruções
}
Exemplo: BLINK (“Hello World”)/* Blink V1.0 rev.:0.0.Arduino-ce
Comunidade de Hardware Livre do Ceará*/
#define ledPin 13 // Pino em que o LED está conectado
void setup() { pinMode(ledPin, OUTPUT); // habilita o pino 13 para saída digital }
void loop(){ digitalWrite(ledPin, HIGH); // Põe o pino do led em nível alto (liga o led) delay(1000); // Aguarda 1000ms = 1segundo! digitalWrite(ledPin, LOW); // Põe o pino do led em nível baixo (desliga o led) delay(1000); // Aguarda 1000ms }
ARDUINO SERIAL» Microcontrolador: ATmega8» Voltagem de operação: 5V» Voltagem de entrada(recomendada): 7-12V» Limites de voltagem de entrada: 6-20V» Pinos de I/O digitais: 14 (dos quais 3 podem ser de saída PWM)» Pinos de entrada analógica: 6» Corrente DC por pino de I/O: 40 mA» Corrente DC para pino de 3.3V: 50 mA» Memória Flash: 8 KB dos quais 0.5 KB é utilizado no bootloader» Memória SRAM: 1 KB » Memória EEPROM: 512 bytes» Velocidade de Clock: 16 MHz
DUEMILANOVE» Microcontrolador: ATmega168» Voltagem de operação: 5V» Voltagem de entrada(recomendada): 7-12V» Limites de voltagem de entrada: 6-20V» Pinos de I/O digitais: 14 (dos quais 6 podem ser de saída PWM)» Pinos de entrada analógica: 6» Corrente DC por pino de I/O: 40 mA» Corrente DC para pino de 3.3V: 50 mA» Memória Flash: 16 KB ou 32KB (ATmega328) dos quais 2 KB são utilizados no bootloader» Memória SRAM: 1 KB ou 2KB(ATmega328)» Memória EEPROM: 512 bytes ou 1KB (ATmega328)» Velocidade de Clock: 16 MHz
ARDUINO NANO» Microcontrolador: ATmega168 ou ATmega328» Voltagem de operação: 5V» Voltagem de entrada(recomendada): 7-12V» Limites de voltagem de entrada: 6-20V» Pinos de I/O digitais: 14 (dos quais 6 podem ser de saída PWM)» Pinos de entrada analógica: 8» Corrente DC por pino de I/O: 40 mA» Memória Flash: 16 KB ou 32KB (ATmega328) dos quais 2 KB são utilizados no bootloader» Memória SRAM: 1 KB ou 2KB(ATmega328)» Memória EEPROM: 512 bytes ou 1KB (ATmega328)» Velocidade de Clock: 16 MHz
ARDUINO MEGA
» Microcontrolador: ATmega1280» Voltagem de operação: 5V» Voltagem de entrada(recomendada): 7-12V» Limites de voltagem de entrada: 6-20V» Pinos de I/O digitais: 54 (dos quais 14 podem ser de saída PWM)» Pinos de entrada analógica: 16» Corrente DC por pino de I/O: 40 mA» Memória Flash: 128KB dos quais 4 KB são utilizados no bootloader» Memória SRAM: 8KB» Memória EEPROM: 4KB» Velocidade de Clock: 16 MHz
LILYPAD ARDUINO» Microcontrolador: ATmega168 ou ATmega328» Voltagem de operação: 2,7V-5,5V» Voltagem de entrada(recomendada): 7-12V» Limites de voltagem de entrada: 2,7V-5,5V» Pinos de I/O digitais: 14 (dos quais 6 podem ser de saída PWM)» Pinos de entrada analógica: 6» Corrente DC por pino de I/O: 40 mA» Memória Flash: 16 KB dos quais 2 KB são utilizados no bootloader» Memória SRAM: 1 KB » Memória EEPROM: 512 bytes » Velocidade de Clock: 8 MHz
LILYPAD ARDUINO
LILYPAD ARDUINO
LILYPAD ARDUINO
Leah BuechleyAssistant Professor of Media Arts and SciencesAT&T Career Development ProfessorDirector, High-Low Tech GroupMIT Media Labhttp://web.media.mit.edu/~leah/index.html
ARDUINO PRO MINI» Microcontrolador: ATmega168 » Voltagem de operação: 3,3 ou 5V (dependendo do modelo)» Voltagem de entrada: 3,35V-12V (modelo 3,3V) ou 5V-12V (modelo 5V)» Pinos de I/O digitais: 14 (dos quais 6 podem ser de saída PWM)» Pinos de entrada analógica: 6» Corrente DC por pino de I/O: 40 mA» Memória Flash: 16 KB dos quais 2 KB são utilizados no bootloader» Memória SRAM: 1 KB» Memória EEPROM: 512 bytes» Velocidade de Clock: 16 Mhz (modelo 3,3V) ou 16MHZ (modelo 5V)
ARDUINO UNO» Microcontrolador: ATmega328» Voltagem de operação: 5V» Voltagem de entrada(recomendada): 7-12V» Limites de voltagem de entrada: 6-20V» Pinos de I/O digitais: 14 (dos quais 6 podem ser de saída PWM)» Pinos de entrada analógica: 6» Corrente DC por pino de I/O: 40 mA» Corrente DC para pino de 3.3V Pin : 50 mA» Memória Flash: 32 KB (ATmega328) dos quais 0.5 KB é utilizado no bootloader» Memória SRAM: 2 KB (ATmega328)» Memória EEPROM: 1 KB (ATmega328)» Velocidade de Clock: 16 MHz
ARDUINO UNO ETHERNET
Arduino+Ethernet em uma placa compacta com suporte a cartão microSD para armazenamento de dados.
Não tem uma porta USB integrada devendo-se utilizar um cabo FTDI (usb-serial) para gravar os sketches.
O QUE VEM POR AI...
(http://shieldlist.org/)
Faça o seu também!Paperduino
Loveduino
Severino
Ardupilot
Freeduino
CRACKER
Avião Snifferhttp://www.mundodoshackers.com.br/hackers-criam-aviao-sniffer
Shields
Shields são placas auxiliares que possuem uma (ou mais funções) aumentando assim, as funcionalidades no Arduino, ficam geralmente "plugadas" direto na placa. As
Shields podem ser compradas ou feitas :-)
Ethernetshield
Ethernetshield SD
Wishield
Wishield da AsyncLabs
Waveshield
Ladyada.net & Adafruit Industries (www.adafruit.com)
GPS LOGGER
Adafruit Industries (www.adafruit.com)
DATALOGGER
Adafruit Industries (www.adafruit.com)
OS SENSORES/ ATUADORES
Módulo de Rele da
Seedstudios
Driver de motor DC
Sensor de temperatura LM35
Sensor de luz
Alguns projetos
Android + Arduino http://www.amarino-toolkit.net
OBRIGADO!
http://arduino-ce.blogspot.com