SlideShare uma empresa Scribd logo
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 Control
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
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
Simplicidade
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
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 / 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
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
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, 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;
}
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();
}
}
TDC2014 - Arduino Legacy
Cliente Android
TDC2014 - Arduino Legacy
#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();
}
Proposta para Nova Placa
Source Code
http://goo.gl/JpogTy
http://goo.gl/w7CCkX
@vsenger
@marcondesm
@lapavila

Mais conteúdo relacionado

PPTX
Palestra FLISOL 2013 - Java + Arduino + Raspberry PI = Uma combinação perfeita
PDF
Embarcados - Ao arduino e além
PPTX
Robótica e PHP com Arduino - PHPn' Rio 2011
ODP
Arduino
PDF
Introdução ao Arduino
PDF
Arduino introdução - 10 projectos
PPTX
PLCduino - A PLC using Arduino platform
PDF
Palestra: Robótica com Arduino
Palestra FLISOL 2013 - Java + Arduino + Raspberry PI = Uma combinação perfeita
Embarcados - Ao arduino e além
Robótica e PHP com Arduino - PHPn' Rio 2011
Arduino
Introdução ao Arduino
Arduino introdução - 10 projectos
PLCduino - A PLC using Arduino platform
Palestra: Robótica com Arduino

Mais procurados (20)

PDF
Existe vida após o Arduino?
PDF
Programação em-arduino-módulo-básico
PDF
Introdução a Sistemas Embarcados com Arduino - mini-curso
PDF
Arduino: Construindo robôs com software e hardware livres
PPTX
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
ODP
Seminario pic
PDF
Introdução ao Arduino
PDF
Oficina Arduino
PPT
Arduino Hack Day por Vinicius Senger
PDF
Arduino - Hardware Livre e Robótica
PDF
Oficina de IoT conhecendo ESP8266 #CPBR12
PDF
Introdução ao Arduino
PDF
Curso de arduino
PDF
Aplicação dos microcontroladores no dia a dia
PPT
V2 - Microcontroladores: a revolucao do arduino
PDF
Introdução ao Arduino e robótica
PPTX
Introdução a plataforma arduino
PDF
Arduino: Brincando de eletrônica com Python e Hardware Livre
PDF
CPBR7 - Existe vida depois do Arduino?
ODP
Aula 1: Conhecendo o Arduino
Existe vida após o Arduino?
Programação em-arduino-módulo-básico
Introdução a Sistemas Embarcados com Arduino - mini-curso
Arduino: Construindo robôs com software e hardware livres
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Seminario pic
Introdução ao Arduino
Oficina Arduino
Arduino Hack Day por Vinicius Senger
Arduino - Hardware Livre e Robótica
Oficina de IoT conhecendo ESP8266 #CPBR12
Introdução ao Arduino
Curso de arduino
Aplicação dos microcontroladores no dia a dia
V2 - Microcontroladores: a revolucao do arduino
Introdução ao Arduino e robótica
Introdução a plataforma arduino
Arduino: Brincando de eletrônica com Python e Hardware Livre
CPBR7 - Existe vida depois do Arduino?
Aula 1: Conhecendo o Arduino
Anúncio

Semelhante a TDC2014 - Arduino Legacy (20)

PDF
TDC2014 - Internet das Coisas - Arduino & OpenDevice
PPTX
Robótica e Sistemas interativos utilizando Arduino
PDF
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
PDF
Minicurso arduino eeep aurora
PPT
Introdução ao arduino palestra
PDF
Introdução à plataforma Arduino
PDF
Arduino no Dia-Debian/RJ 2011
PPT
Perlduino - Interfaceando sua aplicação com o mundo real!
PDF
Apostila arduino
PPT
Arduino - Desenvolvendo com hardware livre
PPTX
Treinamento arduino (1).pptx
ODP
Introdução - Arduino - Renan Martins
PDF
Introdução-à-Programação-Embarcada-com-Arduino.pdf
ODP
Arduino: Soluções para o mundo moderno
PPTX
Arduino day-2015-v1
PPTX
Hack'Aveiro - 1º workshop - Introdução ao Arduino
PDF
Mini Curso Introdutório ao Arduino
PPT
Interfaces fisicas para dispositivos moveis
PDF
Apresentação pós tic
PDF
Arduino - aula Teste - Ilha
TDC2014 - Internet das Coisas - Arduino & OpenDevice
Robótica e Sistemas interativos utilizando Arduino
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
Minicurso arduino eeep aurora
Introdução ao arduino palestra
Introdução à plataforma Arduino
Arduino no Dia-Debian/RJ 2011
Perlduino - Interfaceando sua aplicação com o mundo real!
Apostila arduino
Arduino - Desenvolvendo com hardware livre
Treinamento arduino (1).pptx
Introdução - Arduino - Renan Martins
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Arduino: Soluções para o mundo moderno
Arduino day-2015-v1
Hack'Aveiro - 1º workshop - Introdução ao Arduino
Mini Curso Introdutório ao Arduino
Interfaces fisicas para dispositivos moveis
Apresentação pós tic
Arduino - aula Teste - Ilha
Anúncio

Mais de Marcondes Maçaneiro (11)

PDF
Palestra Computer on the Beatch 2014
PPTX
Apresentação sbseg
PDF
JAVAle - Open-IdentityStack
ODP
Presentation
PDF
Apresentação cloud computing para sistemas de informação
PDF
Automação na nuvem java, cloud e integração contínua
PDF
Apresentação da JAVale para o NIAVI
PDF
Apresentação educar reitoria
PDF
Tdc2013 trilha cloud
PDF
Tdc2013 trilha arduino
PDF
Protocolo Http
Palestra Computer on the Beatch 2014
Apresentação sbseg
JAVAle - Open-IdentityStack
Presentation
Apresentação cloud computing para sistemas de informação
Automação na nuvem java, cloud e integração contínua
Apresentação da JAVale para o NIAVI
Apresentação educar reitoria
Tdc2013 trilha cloud
Tdc2013 trilha arduino
Protocolo Http

Último (19)

PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Apple Pippin Uma breve introdução. - David Glotz
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Processos na gestão de transportes, TM100 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula04-Academia Heri- Tecnologia Geral 2025
COBITxITIL-Entenda as diferença em uso governança TI
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula 18 - Manipulacao De Arquivos python
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx

TDC2014 - Arduino Legacy

  • 1. Trilha: Internet das Coisas Arduino Legacy Marcondes Maçaneiro Luiz Avila
  • 2. Marcondes Maçaneiro Twitter: @marcondesm E-mail: marcondesmacaneiro@gmail.com Work at: UNIDAVI Hobby Arduino
  • 3. Marcondes Maçaneiro Twitter: @lapavila E-mail: lapavila@gmail.com Work at: EFICID Grupos de usuários: GUJavaSC, GDG Floripa
  • 4. Agenda ● Introdução ao Arduino ● Motivação para Hackday ● Persiana Control ● Android Control ● Chrome Control ● Kineckt Control
  • 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. 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
  • 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. Tipo ● Mega ● Lilypad ● Nano ● Uno ● Pro ● Arduino BT ● Freeduino ● Severino ● Program-ME
  • 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. 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
  • 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. 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(); } }
  • 22. #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(); }