SlideShare uma empresa Scribd logo
1 de 52
Arduíno: muito prazer
Heider Lopes
Quem sou eu?
• Pós-Graduando em Sistemas e Desenvolvimento
WEB
• Formado em Sistemas de Informações - (FIAP)
• Twitter: @HeiderLopes

• Blog: www.heidertreinamentos.com.br/blog
• Programador
Agenda
•
•
•
•

O que é o Arduino?
Como programar?
Robótica com o Arduino
Demonstrações
Introdução
• 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
Histórico
• Criado na Itália
– Mássimo Banzi no Interaction Design Institute Ivrea;

• Nasceu para complementar o aprendizado de
programação, computação física e gráfica;
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
Circuit bending
Fabricantes
•
•
•
•
•
•
•
•
•

Mega
Lilypad
Nano
Uno
Pro
Arduino BT
Freeduino
Severino
Program-ME
Modelo de Arduino
Atmega168 / Atmega328
•
•
•
•
•
•
•
•
•
•

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
Demonstrando uma placa Arduino
Demonstrando uma placa Arduino
FT232RL
Conversor USB-Serial

Conector USB

Regular 7085:
Recebe até 12 volts e
regula para 5 volts

Alimentação externa:
Até 12 volts
Demonstrando uma placa Arduino
Botão de reset

ICSP
Para gravar bootloader
ou programas/firmware

AtMega328 /168/8
Demonstrando uma placa Arduino
AREF
Referência analógica
Padrão 5 volts

GND

Portas digitais 0 a 13
0 RX 1 TX = usada durante
transferência de sketch e
comunicação serial com
placa
2,4,7,8,12,13 = portas
digitais convêncionais
3,5,6,9,10,11 = portas PWM
Demonstrando uma placa Arduino

Portas analógicas 4 e 5
São as portas utilizadas
para conexões via I2C /
TWI.

Portas analógicas de 0 a 5
GND
Reset
Podem funcionar como digitais de 14 a 19
5 volts
VIN
3.3 volts
Alimentação de entrada sem regulagem
Porta Digital Vs. Analógica
• Digital: trabalha com 0 e 1 na lógica binária.
– Digital do Arduino segue padrão TTL onde:
• 0 a 0,8 volts = 0
• 2 a 5 volts = 1

• Analógica: valor lido é análogo a tensão.
– Referência de analogia é 5 volts
• 0 volts = 0
• 2.5 volts= 512
• 5 volts = 1023

– Conversor A/D de 10 bits: 0 a 1023
Porta Digital Vs. Analógica
• Portas analógicas expressam valores de 0 a 1023
mas não são utilizadas para transferência de
informações precisas
• As portas digitais permitem que dados sejam
transferidos em sequencia através de uma lógica
ou protocolo binário
• Portas digitais não conseguem comandar
potência
Porta PWM
• Uma porta híbrida: digital
porém com
modularização de zeros e
uns de forma que
consegue expressar uma
idéia de potência;
Na prática
• Ligamos componentes em portas digitais
comuns, pwm ou analógica
• Fazemos leitura e escrita nestas portas afim de
obter um dado ou um determinado
comportamento
• Processamos os dados no microcontrolador
Shields
• Arquitetura modular inteligente
• Arduino estabeleceu um padrão de pinagem que
é respeitado por diversas placas shield:
Exemplo de shields
EXEMPLO DE COMPONENTES
Ping – Sensor de distância ultrasonico
Bússola
Shield LCD Touch screen
SIM Reader
Bluetooth
Como programar?
•
•
•
•
•

IDE pode ser baixada de www.arduino.cc
A IDE foi desenvolvida com Java (necessário JVM)
Funciona em Windows, Mac OS X e Linux
Utiliza GCC + GCC Avr para compilação
A transferência para a placa pode ser feita
– via USB pelo IDE;
– Gravadores ICSP
Primeiros passos na IDE
• Temos que obrigatoriamente programar dois
métodos:
void setup() {
}
void loop() {
}

• O setup é executado úma só vez assim que a placa
for ligada
• O loop terá o código de execução infinita
Manipulando as Portas digitais e
analógicas
– pinMode(<porta>, <modo>): configura uma porta
digital para ser lida ou para enviarmos dados;
– digitalWrite(<porta>, 0 ou 1): envia 0 ou 1 para porta
digital
– digitalRead(<porta>): retorna um 0 ou 1 lido da porta
– analogRead(<porta>): retorna de 0 a 1023 com o
valor da porta analógica
– analogWrite(<porta>, <valor>): escreve em uma
porta PWM um valor de 0 a 255
Exemplo I: Piscando Led
void setup() {
pinMode(13, OUTPUT); //porta 13 em output
}
void loop() {
digitalWrite(13, HIGH); //HIGH = 1 = TRUE
delay(500);
digitalWrite(13, LOW); //LOW = 0 = FALSE
delay(500);
}
Exemplo II: Luz Ambiente
void setup() {
//Inicializando conexão com PC via FT232 cabo
Serial.begin(9600);
}
void loop() {
int luz = analogRead(5); //LDR ligado na 5
//envia informações para o PC
Serial.println(luz);
delay(500);
}
Exemplo III: Sensor de movimento
Demonstração da IDE
• Como compilar?
• Como ver exemplos?
• Como enviar o código para a placa?
ROBÓTICA COM ARDUINO
Introdução
• A palavra robô vem de robot que foi utilizada em
uma peça de teatro de 1920, chamada R.U.R.
(Rossum's Universal Robots), do tcheco Karel Capek.
• Aparentemente a palavra descende de ROBOTA, que
em checo significa trabalho servil ou trabalho
pesado.
• Uma definição mais realista de robô, seria que ele é
um manipulador reprogramável e multi-funcional
projetado para mover materiais, partes, ferramentas
ou dispositivos especializados através de
movimentos variáveis programados para
desempenhar uma variedade de tarefas.
Paralelo entre robôs e humanos
• Sentidos
• Pensamentos
• Ações
Nos seres humanos
• Nos seres humanos, iniciando pelos seus
sentidos, temos um caminho que passa pelo
tratamento do pensamento e termina ou resulta
em ações.
Nos robôs
• Um robô aciona seus atuadores, baseado em seu
processamento que teve como entrada os dados
vindos de seus sensores
• Sentidos - > Sensores
• Pensamentos- > Processamento
• Ações - > Atuadores
Robôs: Disitinguindo por capacidade
de processamento
• Todos os robôs têm em comum a realização de
algum tipo de movimento sendo que também
podemos distinguir os robôs pela sua capacidade
de processamento, sendo assim poderíamos
classificar os robôs como:
Robô inteligente
• Pode se mover de forma autônoma e segura por
um ambiente não preparado e atingir um
objetivo ou efetivar uma tarefa.
Robô não inteligente
• Deve repetir de forma confiável a mesma tarefa
para que foi programado, porém sem enfrentar
variações no ambiente ou situações.
• Nesse caso, a definição fica mais próxima de
automação e pode distinguir entre um robô e
uma máquina de lavar.
Robôs de forma geral
• Manipuladores ou braços robóticos;
• Robôs móveis com rodas;
• Robôs móveis com pernas;
• Humanóides
Manipuladores ou braço robótico
• Atualmente, a maior
aplicação de robôs é na
área
industrial, principalmente
na produção de bens de
consumo.
• Nessa área, o tipo mais
popularmente conhecido
de robô é o braço
robótico
Robô cartesiano
Robôs móveis com rodas
Robôs móveis com pernas
Robôs humanóides
Robôs de papelão
Robôs de madeira
• Compensado / MDF: talvez o
material mais fácil de trabalhar e
muito acessível. É isolante, o que
diminui a preocupação com a
montagem. Pode ser colada e furada
com facilidade. O inconveniente é a
sua relação peso / resistência.
• Duratex: muito fácil de ser
trabalhado, pode ser usado em
alguns casos, porém, é muito flexível
para ser usado como chassi de robôs
maiores.
Robôs de plástico
Concluindo
• Arduino é um projeto simples, popular e acessível
• Eletrônica e programação embarcada alto nível
• Na prática ligamos componentes nas portas analógicas e
digitais e escrevemos programas que usam as portas
• Existem diversas bibliotecas que encapsulam a lógica de
comunicação digital ou analógica: servo, motor de
passo, Android, display LCD
• Ter portas digitais analógicas e pmw é um grande valor do
microcontrolador utilizado
• A transfêrencia via USB e a ferramenta / IDE para
programação funcionam em múltiplas plataformas
• Open-source Hardware e Open-source software

Mais conteúdo relacionado

Mais procurados

Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Marco Antonio Maciel
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceRicardo Rufino
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014Fabio Souza
 
Mini curso arduino básico pet v2
Mini curso arduino   básico pet v2Mini curso arduino   básico pet v2
Mini curso arduino básico pet v2Felipe Meganha
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Domótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDomótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDesiree Santos
 
Robô Seguidor de Linha
Robô Seguidor de LinhaRobô Seguidor de Linha
Robô Seguidor de LinhaCida Luna
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e alémFabio Souza
 
Arduino e a_internet_das_coisas
Arduino e a_internet_das_coisasArduino e a_internet_das_coisas
Arduino e a_internet_das_coisasHugo Lavalle
 
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fiAndroid com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fiGlobalcode
 
Minicurso Rede de Sensores Sem Fio com Xbee e Arduino - Introdução
Minicurso Rede de Sensores Sem Fio com Xbee e Arduino - IntroduçãoMinicurso Rede de Sensores Sem Fio com Xbee e Arduino - Introdução
Minicurso Rede de Sensores Sem Fio com Xbee e Arduino - IntroduçãoLucas Cabral
 

Mais procurados (20)

Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
 
TDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDeviceTDC2014 - Internet das Coisas - Arduino & OpenDevice
TDC2014 - Internet das Coisas - Arduino & OpenDevice
 
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
O impacto do arduino no mundo dos embarcados - TRILHA EMBEDDED - TDC2014
 
Arduino para Crianças - Parte 1
Arduino para Crianças - Parte 1Arduino para Crianças - Parte 1
Arduino para Crianças - Parte 1
 
Arduino - Introdução à Programação
Arduino - Introdução à ProgramaçãoArduino - Introdução à Programação
Arduino - Introdução à Programação
 
Arduino para Crianças - Part 2
Arduino para Crianças - Part 2Arduino para Crianças - Part 2
Arduino para Crianças - Part 2
 
Mini curso arduino básico pet v2
Mini curso arduino   básico pet v2Mini curso arduino   básico pet v2
Mini curso arduino básico pet v2
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Domótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDomótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino vers o_cores
Arduino vers o_coresArduino vers o_cores
Arduino vers o_cores
 
Robô Seguidor de Linha
Robô Seguidor de LinhaRobô Seguidor de Linha
Robô Seguidor de Linha
 
Semana 1
Semana 1Semana 1
Semana 1
 
Mini curso Arduíno
Mini curso ArduínoMini curso Arduíno
Mini curso Arduíno
 
Aula sobre arduino
Aula sobre arduinoAula sobre arduino
Aula sobre arduino
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e além
 
Arduino e a_internet_das_coisas
Arduino e a_internet_das_coisasArduino e a_internet_das_coisas
Arduino e a_internet_das_coisas
 
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fiAndroid com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
Android com Arduino: como integrar via bluetooth, Google ADK ou wi-fi
 
IoT arduino
IoT arduinoIoT arduino
IoT arduino
 
Minicurso Rede de Sensores Sem Fio com Xbee e Arduino - Introdução
Minicurso Rede de Sensores Sem Fio com Xbee e Arduino - IntroduçãoMinicurso Rede de Sensores Sem Fio com Xbee e Arduino - Introdução
Minicurso Rede de Sensores Sem Fio com Xbee e Arduino - Introdução
 

Semelhante a Arduíno muito prazer

oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursoRodrigo Moraes Barbosa
 
IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!Rodolfo Cruz
 
Interfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveisInterfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveisTiago Barros
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino Edgley Xavier
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaDesiree Santos
 
Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Eronides Da Silva Neto
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfHenrique Alves
 
Palestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajnaPalestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajnaradamesajna
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosSuzana Viana Mota
 
Apresentação pós tic
Apresentação   pós ticApresentação   pós tic
Apresentação pós ticThiago Melo
 
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Alvaro Viebrantz
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linhaIsvaldo Souza
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestraVitor Ferreira
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetFabio Souza
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasMarco Antonio Maciel
 

Semelhante a Arduíno muito prazer (20)

oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de curso
 
IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!IoT – Internet of Things. Do Básico ao Hello World!
IoT – Internet of Things. Do Básico ao Hello World!
 
Introdução - Arduino - Renan Martins
Introdução - Arduino - Renan MartinsIntrodução - Arduino - Renan Martins
Introdução - Arduino - Renan Martins
 
Interfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveisInterfaces fisicas para dispositivos moveis
Interfaces fisicas para dispositivos moveis
 
Aula básica Arduino
Aula básica Arduino Aula básica Arduino
Aula básica Arduino
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomotica
 
1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino1 aula do curso de automação - Arduino
1 aula do curso de automação - Arduino
 
Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)
 
Workshop arduino EAD
Workshop arduino EADWorkshop arduino EAD
Workshop arduino EAD
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdf
 
Palestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajnaPalestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajna
 
Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas Embarcados
 
Apresentação pós tic
Apresentação   pós ticApresentação   pós tic
Apresentação pós tic
 
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
 
Robô seguidor de linha
Robô seguidor de linhaRobô seguidor de linha
Robô seguidor de linha
 
Introdução ao arduino palestra
Introdução ao arduino palestraIntrodução ao arduino palestra
Introdução ao arduino palestra
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Workshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da InternetWorkshop - Cotrole sua casa remotamente através da Internet
Workshop - Cotrole sua casa remotamente através da Internet
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das Coisas
 

Mais de Heider Lopes

Workshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIsWorkshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIsHeider Lopes
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou AppHeider Lopes
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScriptHeider Lopes
 
Android Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidAndroid Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidHeider Lopes
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o AndroidHeider Lopes
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de softwareHeider Lopes
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iotHeider Lopes
 
Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ideHeider Lopes
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletHeider Lopes
 
Conversando com o android
Conversando com o androidConversando com o android
Conversando com o androidHeider Lopes
 

Mais de Heider Lopes (13)

Apicon2018.pptx
Apicon2018.pptxApicon2018.pptx
Apicon2018.pptx
 
Workshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIsWorkshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIs
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScript
 
Mobile
MobileMobile
Mobile
 
Tht na web
Tht na webTht na web
Tht na web
 
Android Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu AndroidAndroid Wear: Expandindo as funcionalidades do seu Android
Android Wear: Expandindo as funcionalidades do seu Android
 
Descomplicando o Android
Descomplicando o AndroidDescomplicando o Android
Descomplicando o Android
 
1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software1 2 3 - Testando - Automatizando os testes de software
1 2 3 - Testando - Automatizando os testes de software
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iot
 
Programando java independente da ide
Programando java independente da ideProgramando java independente da ide
Programando java independente da ide
 
Montando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tabletMontando ambiente de desenvolvimento android em um tablet
Montando ambiente de desenvolvimento android em um tablet
 
Conversando com o android
Conversando com o androidConversando com o android
Conversando com o android
 

Arduíno muito prazer

  • 2. Quem sou eu? • Pós-Graduando em Sistemas e Desenvolvimento WEB • Formado em Sistemas de Informações - (FIAP) • Twitter: @HeiderLopes • Blog: www.heidertreinamentos.com.br/blog • Programador
  • 3. Agenda • • • • O que é o Arduino? Como programar? Robótica com o Arduino Demonstrações
  • 4. Introdução • 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
  • 5. Histórico • Criado na Itália – Mássimo Banzi no Interaction Design Institute Ivrea; • Nasceu para complementar o aprendizado de programação, computação física e gráfica;
  • 6. 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 Circuit bending
  • 9. Atmega168 / Atmega328 • • • • • • • • • • 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
  • 10. 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. Demonstrando uma placa Arduino FT232RL Conversor USB-Serial Conector USB Regular 7085: Recebe até 12 volts e regula para 5 volts Alimentação externa: Até 12 volts
  • 13. Demonstrando uma placa Arduino Botão de reset ICSP Para gravar bootloader ou programas/firmware AtMega328 /168/8
  • 14. Demonstrando uma placa Arduino AREF Referência analógica Padrão 5 volts GND Portas digitais 0 a 13 0 RX 1 TX = usada durante transferência de sketch e comunicação serial com placa 2,4,7,8,12,13 = portas digitais convêncionais 3,5,6,9,10,11 = portas PWM
  • 15. Demonstrando uma placa Arduino Portas analógicas 4 e 5 São as portas utilizadas para conexões via I2C / TWI. Portas analógicas de 0 a 5 GND Reset Podem funcionar como digitais de 14 a 19 5 volts VIN 3.3 volts Alimentação de entrada sem regulagem
  • 16. Porta Digital Vs. Analógica • Digital: trabalha com 0 e 1 na lógica binária. – Digital do Arduino segue padrão TTL onde: • 0 a 0,8 volts = 0 • 2 a 5 volts = 1 • Analógica: valor lido é análogo a tensão. – Referência de analogia é 5 volts • 0 volts = 0 • 2.5 volts= 512 • 5 volts = 1023 – Conversor A/D de 10 bits: 0 a 1023
  • 17. Porta Digital Vs. Analógica • Portas analógicas expressam valores de 0 a 1023 mas não são utilizadas para transferência de informações precisas • As portas digitais permitem que dados sejam transferidos em sequencia através de uma lógica ou protocolo binário • Portas digitais não conseguem comandar potência
  • 18. Porta PWM • Uma porta híbrida: digital porém com modularização de zeros e uns de forma que consegue expressar uma idéia de potência;
  • 19. Na prática • Ligamos componentes em portas digitais comuns, pwm ou analógica • Fazemos leitura e escrita nestas portas afim de obter um dado ou um determinado comportamento • Processamos os dados no microcontrolador
  • 20. Shields • Arquitetura modular inteligente • Arduino estabeleceu um padrão de pinagem que é respeitado por diversas placas shield:
  • 23. Ping – Sensor de distância ultrasonico
  • 28. Como programar? • • • • • IDE pode ser baixada de www.arduino.cc A IDE foi desenvolvida com Java (necessário JVM) Funciona em Windows, Mac OS X e Linux Utiliza GCC + GCC Avr para compilação A transferência para a placa pode ser feita – via USB pelo IDE; – Gravadores ICSP
  • 29. Primeiros passos na IDE • Temos que obrigatoriamente programar dois métodos: void setup() { } void loop() { } • O setup é executado úma só vez assim que a placa for ligada • O loop terá o código de execução infinita
  • 30. Manipulando as Portas digitais e analógicas – pinMode(<porta>, <modo>): configura uma porta digital para ser lida ou para enviarmos dados; – digitalWrite(<porta>, 0 ou 1): envia 0 ou 1 para porta digital – digitalRead(<porta>): retorna um 0 ou 1 lido da porta – analogRead(<porta>): retorna de 0 a 1023 com o valor da porta analógica – analogWrite(<porta>, <valor>): escreve em uma porta PWM um valor de 0 a 255
  • 31. Exemplo I: Piscando Led void setup() { pinMode(13, OUTPUT); //porta 13 em output } void loop() { digitalWrite(13, HIGH); //HIGH = 1 = TRUE delay(500); digitalWrite(13, LOW); //LOW = 0 = FALSE delay(500); }
  • 32. Exemplo II: Luz Ambiente void setup() { //Inicializando conexão com PC via FT232 cabo Serial.begin(9600); } void loop() { int luz = analogRead(5); //LDR ligado na 5 //envia informações para o PC Serial.println(luz); delay(500); }
  • 33. Exemplo III: Sensor de movimento
  • 34. Demonstração da IDE • Como compilar? • Como ver exemplos? • Como enviar o código para a placa?
  • 36. Introdução • A palavra robô vem de robot que foi utilizada em uma peça de teatro de 1920, chamada R.U.R. (Rossum's Universal Robots), do tcheco Karel Capek. • Aparentemente a palavra descende de ROBOTA, que em checo significa trabalho servil ou trabalho pesado. • Uma definição mais realista de robô, seria que ele é um manipulador reprogramável e multi-funcional projetado para mover materiais, partes, ferramentas ou dispositivos especializados através de movimentos variáveis programados para desempenhar uma variedade de tarefas.
  • 37. Paralelo entre robôs e humanos • Sentidos • Pensamentos • Ações
  • 38. Nos seres humanos • Nos seres humanos, iniciando pelos seus sentidos, temos um caminho que passa pelo tratamento do pensamento e termina ou resulta em ações.
  • 39. Nos robôs • Um robô aciona seus atuadores, baseado em seu processamento que teve como entrada os dados vindos de seus sensores • Sentidos - > Sensores • Pensamentos- > Processamento • Ações - > Atuadores
  • 40. Robôs: Disitinguindo por capacidade de processamento • Todos os robôs têm em comum a realização de algum tipo de movimento sendo que também podemos distinguir os robôs pela sua capacidade de processamento, sendo assim poderíamos classificar os robôs como:
  • 41. Robô inteligente • Pode se mover de forma autônoma e segura por um ambiente não preparado e atingir um objetivo ou efetivar uma tarefa.
  • 42. Robô não inteligente • Deve repetir de forma confiável a mesma tarefa para que foi programado, porém sem enfrentar variações no ambiente ou situações. • Nesse caso, a definição fica mais próxima de automação e pode distinguir entre um robô e uma máquina de lavar.
  • 43. Robôs de forma geral • Manipuladores ou braços robóticos; • Robôs móveis com rodas; • Robôs móveis com pernas; • Humanóides
  • 44. Manipuladores ou braço robótico • Atualmente, a maior aplicação de robôs é na área industrial, principalmente na produção de bens de consumo. • Nessa área, o tipo mais popularmente conhecido de robô é o braço robótico
  • 50. Robôs de madeira • Compensado / MDF: talvez o material mais fácil de trabalhar e muito acessível. É isolante, o que diminui a preocupação com a montagem. Pode ser colada e furada com facilidade. O inconveniente é a sua relação peso / resistência. • Duratex: muito fácil de ser trabalhado, pode ser usado em alguns casos, porém, é muito flexível para ser usado como chassi de robôs maiores.
  • 52. Concluindo • Arduino é um projeto simples, popular e acessível • Eletrônica e programação embarcada alto nível • Na prática ligamos componentes nas portas analógicas e digitais e escrevemos programas que usam as portas • Existem diversas bibliotecas que encapsulam a lógica de comunicação digital ou analógica: servo, motor de passo, Android, display LCD • Ter portas digitais analógicas e pmw é um grande valor do microcontrolador utilizado • A transfêrencia via USB e a ferramenta / IDE para programação funcionam em múltiplas plataformas • Open-source Hardware e Open-source software