Beruflich Dokumente
Kultur Dokumente
Exemplos
Shields
Sensores
Projetos
Automao Residencial..
OpenDevice (Hands-On)
Arduino / Raspberry e Similares
Protocolos de Comunicao
Brincando via JavaScript
Comunicao em real-time utilizando WebSockets
Utilizando o Android
Agenda
Apresentao
Ricardo JL Rufino
Esp. em Engenharia de Software
Mestrando em Gesto de TI (UFPE)
GENIAL !!!! = )
Como vim para aqui ?
Resumindo:
2 anos juntando mesada !
E o amplificador ?
E o amplificador ?
Severino
Brasuno
Similares
Digispark Digispark
Similares
O que no temos, podemos criar !
O que no temos, podemos criar !
Dvidas ?
Caractersticas de Hardware
Arduino Uno
Arduino Uno
Microcontrolador: ATmega328p (8-bit AVR RISC);
Tenso de operao: 5V;
Tenso de entrada (recomendada): 7-12V;
Pinos digitais de E/S:14 (6 podem ter sinal PWM);
Pinos com entrada analgica: 6;
Corrente mxima por pino de E/S: 40 mA;
Hardware para comunicao: 1 porta serial (UART TTL), I2C (TWI), SPI;
Memria Flash (de programa): 32 kB (0,5 kB so usados pelo bootloader);
Memria SRAM: 2 kB; EEPROM: 1 kB;
Frequncia de clock: 16 MHz.
http://arduino.cc/en/Main/arduinoBoardUno
Arduino UNO
Arduino Leonardo
Arduino Leonardo
Microcontrolador: ATmega32u4 (Atmel 8-bit AVR RISC);
Tenso de operao: 5V;
Tenso de entrada (recomendada): 7-12V;
Pinos digitais de E/S: 20 (7 podem ter sinal PWM);
Pinos com entrada analgica: 12;
Corrente mxima por pino de E/S: 40 mA;
Hardware para comunicao: 1 porta serial (UART), I2C (TWI), SPI, USB 2.0
(emula teclado ou mouse);
Memria Flash (de programa): 32 kB (4 kB usado pelo bootloader)
Memria SRAM: 2,5 kB; EEPROM: 1 kB;
Frequncia de clock: 16 MHz.
Suporte a comunicao USB no prprio ATmega32u4;
http://arduino.cc/en/Main/arduinoBoardLeonardo
Arduino Mega 2560
Arduino Mega 2560
Microcontrolador: ATmega2560;
Tenso de operao: 5V;
Tenso de entrada (recomendada): 7-12V;
Pinos digitais de E/S: 54 (15 podem ter sinal PWM);
Pinos com entrada analgica: 16;
Corrente mxima por pino de E/S: 40 mA;
Hardware para comunicao: 4 portas seriais (UART), I2C (TWI), SPI, USB 2.0
(emula teclado ou mouse);
Memria Flash (de programa): 256 kB (8 kB so usados pelo bootloader)
Memria SRAM: 8 kB; EEPROM: 4 kB;
Frequncia de clock: 16 MHz.
O que um Microcontrolador?
CPU de pequeno porte, capaz de executar um
conjunto de instrues;
Ou seja, possui um microprocessador!
Instrues simples e rpidas;
Possui memria(s);
Possui perifricos;
Pode se comunicar com outros perifricos;
Microcontrolador
Microcontrolador
Diagrama do PIC16F887
Microcontrolador
Comparativo Arduinos
Software e Programao
Programao (Blink)
Desliga
Esquema / Ligaes
Esquema / Ligaes
No LED a maior perna o positivo
10
Prtica ?!
8
Coluna 1
6 Coluna 2
Coluna 3
0
Linha 1 Linha 2 Linha 3 Linha 4
Dvidas ?
Antes do Arduino
http://www.avr-tutorials.com/
Antes do Arduino
Digital I/O Assembly
http://www.avr-tutorials.com/
Antes do Arduino
Processo Lento
Mais caro
Mais Complexo
OK !!! Voltando....
Exemplo 2 : Boto (Leitura Digital)
Exemplo 2 : Boto (Leitura Digital)
Exemplo 2 : Boto (Leitura Digital)
http://arduino.cc/en/Tutorial/DigitalReadSerial
Exemplo 2 : Boto (explicao)
http://www.arduino.cc/en/tutorial/potentiometer
Potencimetro : Leitura Analgica
Potencimetro : Cdigo
Potencimetro : Leitura Analgica
analogRead() - L valores dos pinos analgicos
O conversor A/D do microcontrolador ATmega328 possui 10
bits de resoluo, gerando valores na faixa 0 a 1023
conforme a tenso no pino, que varia de 0v a 5v.
A quantidade de pinos analgicos varia em cada modelo.
Demora 100 microsegundos (0.0001 s) para ler (10,000
leituras / seg)
Sensor de Luz : LDR
LDR (do ingls Light Dependent Resistor) ou Photo-resistor
Componente eletrnico passivo do tipo resistor varivel
A medida que a intensidade da luz aumenta, a sua resistncia
diminui.
No muito preciso !
Sensor de Luz : LDR
Modo Pull-Down
Pouca Luz Valor Baixo
Modo Pull-Up
Pouca Luz Valor Alto
Sensor de Luz : Cdigo
Shields Arduino
Sistema modular para expandir as
funcionalidades do arduino.
A parte mais genial !!!
Uma lista enorme pode
ser encontrada em:
http://shieldlist.org/
12
10
Exemplos
8
Coluna 1
6 Coluna 2
Coluna 3
0
Linha 1 Linha 2 Linha 3 Linha 4
Shield : Ethernet
Shield : WiFly Shield
https://www.sparkfun.com/products/9954
Shield : Cellular with SM5100B
https://www.sparkfun.com/products/9607
Shield : GPS
https://www.sparkfun.com/products/10710
Shield : XBee
Shield : Color LCD Shield
https://www.sparkfun.com/products/retired/9363
Shield : Relay Shield
http://www.seeedstudio.com/depot/relay-shield-v20-p-1376.html?cPath=132_134
Shield : MP3 Player Shield
12
10
Sensores
8
Coluna 1
6 Coluna 2
Coluna 3
0
Linha 1 Linha 2 Linha 3 Linha 4
http://www.trossenrobotics.com/
Sensores
http://www.trossenrobotics.com/c/arduino-sensors.aspx?sort=SalesRank
Sensores
http://www.trossenrobotics.com/c/arduino-sensors.aspx?sort=SalesRank
Sensores
http://www.trossenrobotics.com/c/arduino-sensors.aspx?sort=SalesRank
12
10
Robs
8
Coluna 1
6 Coluna 2
Coluna 3
0
Linha 1 Linha 2 Linha 3 Linha 4
Robs
Robs
Robs
Robs
Automao Residencial
Automao Residencial
Ligar/Desligar qualquer eletrodomstico
Controlar iluminao, temperatura
Sensores de Presena (segurana)
Controle de portas e portes automticos
Controle Centralizado
Controle Remoto (pela internet)
Economia de Energia e Monitoramento de Consumo
Hardware barato ( Reduo de Custos !!!! )
Automao Residencial
12
10
Projetos
8
Coluna 1
6 Coluna 2
Coluna 3
0
Linha 1 Linha 2 Linha 3 Linha 4
Twitter Enabled Coffee Pot
http://www.instructables.com/id/Tweet-a-Pot-Twitter-Enabled-Coffee-Pot/
Inebriator
http://www.theinebriator.com/
Flamethrowing Jack-O'-Lantern
http://www.instructables.com/id/Flamethrowing-Jack-O-Lantern/
Tree Climbing Robot
http://www.instructables.com/id/Tree-Climbing-Robot/
Arduino R/C Lawnmower
http://www.instructables.com/id/Arduino-RC-Lawnmower/
http://www.wired.com/2013/01/wearable-arduinos/#slideid-351561
Drones
ArduIMU Quascopter
http://thecoolgadgets.com/arduimu-quascopter-diy-arduino-helicopter-4-infrared-and-1-ultra-sonic-sensors/
Dvidas ?
12
10
8
Problema !!
Como fazer a comunicao com esses equipamentos / dispositivos
Coluna 1 ?
6 Coluna 2
Coluna 3
Os
4 padres ainda esto sendo criados.... (verdadeira gerra !)
2
preciso ser fcil
0
Linha 1 Linha 2 Linha 3 Linha 4
1 Alternativas com JAVA ?
12 USB ??
A Sun nos abandonou ! (JavaComm/JSR80 ?!?)
10
0
Linha 1 Linha 2 Linha 3 Linha 4
4 Problema : Ultimo release de 2008
Snapshot em 2010
2
0
Linha 1 Linha 2 Linha 3 Linha 4
0
Linha 1 Linha 2 Linha 3 Linha 4
Tudo junto ?
12
10
8
D um trabalhinho !
Coluna 1
6 Coluna 2
2 Correo de Erros
0
Precisa ter uma boa experincia
Linha 1
Etc.. etc...
Linha 2 Linha 3 Linha 4
12
Soluo ?
10
Coluna 1
0
Linha 1 Linha 2 Linha 3 Linha 4
OpenDevice
Open IoT (Internet Of Things) Platform and Framework.
* C / Arduino
Blink - Java
Blink Java (mais livre)
Blink Java (Comandos)
Incrementando no Arduino
* C / Arduino
Incrementando no JAVA
Definio de Dispositivos
* JAVA
Adicionando Rest !
Adicione essa linha e seja feliz !!!
ou com JavaScript !
Agora ficou srio ! WebSockets !
Adicione essas linhas e fique Real-Time e de quebra servidor http !
E-mail:
ricardo@criativasof.com.br
rjlr@cin.ufpe.br
Facebook
/ricardojlrufino
Link's
OpenDevice:
http://opendevice.io
https://github.com/OpenDevice
https://opendevice.atlassian.net/wiki
http://opendevice.criativasof.com.br
Facebook
/opendevice
Link's
Brasil
Lab de Garagem (http://www.labdegaragem.org
Multilgica Shop (http://multilogica-shop.com/);
Rlrobotics (http://www.rlrobotics.ind.br/arduino);
Webtronico (http://www.webtronico.com/)
Obrigado pela sua ateno.