Trilha: Internet das Coisas
Arduino Legacy
Marcondes Maçaneiro
Luiz Avila
Marcondes Maçaneiro
Twitter: @marcondesm
E-mail: marcondesmacaneiro@gmail.com
Work at: UNIDAVI
Hobby Arduino
Marcondes Maçaneiro
Twitter: @lapavila
E-mail: lapavila@gmail.com
Work at: EFICID
Grupos de usuários: GUJavaSC, GDG Floripa
Agenda
● Introdução ao Arduino
● Motivação para Hackday
● Persiana Control
● Android Control
● Chrome Control
● Kineckt Co...
Introdução ao Arduino
● Plataforma baseada em Atmel da AVR (ATMega168);
● Oferece um IDE e bibliotecas de programação de a...
História
● Mássimo Banzi (Institute Ivrea, em 2005)
● Nasceu para programação, computação física e gráfica
● Baseou-se no ...
Simplicidade
Aplicações Práticas
● Robôs
● Roupas eletrônicas
● Máquinas de corte e modelagem 3D de baixo custo
● Segway open-source
● ...
Tipo
● Mega
● Lilypad
● Nano
● Uno
● Pro
● Arduino BT
● Freeduino
● Severino
● Program-ME
Atmega
● Características do ATmega 168
○ RISC
○ 20 MIPS (20 Milhões de instruções por segundo)
○ 16Kb Flash / 512 b EEPROM...
Características Técnicas
● 6 canais PWM
● 6 conversores analógico/digital de 10 bits
● 1 serial programável (USART)
● 1 in...
Características Técnicas
Program-me v.20
Program-me v.20
Program-me v.20
Persiana Control
Programação Arduino
#include <SPI.h>
#include <Ethernet.h>
EthernetServer server(80);
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0...
Programação Arduino
void loop(){
EthernetClient client = server.available();
if(client){ //Se tiver cliente conectado
Stri...
Cliente Android
#include "Device.h"
#include "etherShield.h"
#include "ETHER_28J60.h"
#include "Ethernet.h"
Device homeDevice=Device("cent...
Proposta para Nova Placa
Source Code
http://goo.gl/JpogTy
http://goo.gl/w7CCkX
@vsenger
@marcondesm
@lapavila
TDC2014 - Arduino Legacy
TDC2014 - Arduino Legacy
Próximos SlideShares
Carregando em…5
×

TDC2014 - Arduino Legacy

413 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
413
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

TDC2014 - Arduino Legacy

  1. 1. Trilha: Internet das Coisas Arduino Legacy Marcondes Maçaneiro Luiz Avila
  2. 2. Marcondes Maçaneiro Twitter: @marcondesm E-mail: marcondesmacaneiro@gmail.com Work at: UNIDAVI Hobby Arduino
  3. 3. Marcondes Maçaneiro Twitter: @lapavila E-mail: lapavila@gmail.com Work at: EFICID Grupos de usuários: GUJavaSC, GDG Floripa
  4. 4. Agenda ● Introdução ao Arduino ● Motivação para Hackday ● Persiana Control ● Android Control ● Chrome Control ● Kineckt Control
  5. 5. Introdução ao Arduino ● Plataforma baseada em Atmel da AVR (ATMega168); ● Oferece um IDE e bibliotecas de programação de alto nível; ● Open-source hardware e software ● Ampla comunidade ● Programado em C/C++ ● Transferência de firmware via USB ● MCU com bootloader ● Placa controladora com entradas e saídas
  6. 6. História ● Mássimo Banzi (Institute Ivrea, em 2005) ● Nasceu para programação, computação física e gráfica ● Baseou-se no Processing para criação da IDE ● Possui inúmeras variantes ● Utiliza linguagem Wiring (baseado em C++) ● Licença Creative Commons
  7. 7. Simplicidade
  8. 8. Aplicações Práticas ● Robôs ● Roupas eletrônicas ● Máquinas de corte e modelagem 3D de baixo custo ● Segway open-source ● Desenvolvimento de celulares customizados ● Instrumentos musicais ● Paredes interativas ● Instrumentação humana
  9. 9. Tipo ● Mega ● Lilypad ● Nano ● Uno ● Pro ● Arduino BT ● Freeduino ● Severino ● Program-ME
  10. 10. Atmega ● Características do ATmega 168 ○ RISC ○ 20 MIPS (20 Milhões de instruções por segundo) ○ 16Kb Flash / 512 b EEPROM / 1Kb RAM Estática ○ 10.000 ciclos na Flash e 100.000 na EEPROM ○ 2 contadores / temporizadores de 8bits ○ 1 contador / temporizador de 16bits ○ 1 temporizador de tempo real com clock a parte ○ 14 portas digitais ○ 6 portas analógicas
  11. 11. Características Técnicas ● 6 canais PWM ● 6 conversores analógico/digital de 10 bits ● 1 serial programável (USART) ● 1 interface SPI (Serial Peripheral Interface) ● 1 interface serial a 2 fios (I2C) ● 1 watch dog timer programável ● 1 comparador analógico no chip ● Interrupção ou wake-up na alteração de estado dos pinos
  12. 12. Características Técnicas
  13. 13. Program-me v.20
  14. 14. Program-me v.20
  15. 15. Program-me v.20
  16. 16. Persiana Control
  17. 17. Programação Arduino #include <SPI.h> #include <Ethernet.h> EthernetServer server(80); byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x40, 0x02 }; IPAddress ip(192,168,100, 110); int ligaVermelho; int ligaAmarelo; int ligaVerde; void setup(){ Ethernet.begin(mac, ip); server.begin(); pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(9,OUTPUT); ligaVermelho = 0; ligaAmarelo = 0; ligaVerde = 0; }
  18. 18. Programação Arduino void loop(){ EthernetClient client = server.available(); if(client){ //Se tiver cliente conectado String get; //Cria um String essa String armazenará o que vem do cliente while(client.connected()){ //Inicia um laço, que repetirá enquanto houver o cliente conectado if(client.available()){ //Se tiver conexão com cliente char c = client.read(); //Le o que vem do cliente (neste caso vem Char por Char) get.concat(c); //Vai concatenando cada char que vem na String get if (c == 'n') { if(get.substring(6,10) == "ve=1") { ligaVermelho = 1; }else{ if(get.substring(6,10) == "ve=0") { ligaVermelho = 0; } } client.stop(); } }
  19. 19. Cliente Android
  20. 20. #include "Device.h" #include "etherShield.h" #include "ETHER_28J60.h" #include "Ethernet.h" Device homeDevice=Device("central-device"); Ethernet ethernet=Ethernet(&homeDevice); void setup() { homeDevice.add("buzz", PWM, 6); homeDevice.add("fan", PWM, 9); homeDevice.add("pwm-aux1", PWM, 3); homeDevice.add("pwm-aux2", PWM, 5); homeDevice.add("speaker", DIGITAL, 4); homeDevice.add("relay1", DIGITAL, 7); homeDevice.add("relay2", DIGITAL, 8); homeDevice.add("relay3", DIGITAL, 15); homeDevice.add("relay4", DIGITAL, 14); homeDevice.add("light", ANALOG, 3); homeDevice.add("temp", ANALOG, 2); //Starting booth communication! Serial.begin(115200); int ip[]={192,168,100,115}; ethernet.startNetwork(ip); } void loop() { homeDevice.loop(); ethernet.loop(); }
  21. 21. Proposta para Nova Placa
  22. 22. Source Code http://goo.gl/JpogTy http://goo.gl/w7CCkX @vsenger
  23. 23. @marcondesm
  24. 24. @lapavila

×