41
Leandro Nunes | @nunesleandro | codefi.sh Arduino Python &

Python e Arduino

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Python e Arduino

Leandro Nunes | @nunesleandro | codefi.sh

Arduino

Python&

Page 2: Python e Arduino

Sobre o que vamos falar ?

Page 3: Python e Arduino

Sobre o que vamos falar ?

Arduino

Uma plataforma de prototipagem eletrônica

Page 4: Python e Arduino

Sobre o que vamos falar ?

Arduino

Uma plataforma de prototipagem eletrônica

Uma poderosa linguagem de programação multiparadigma

Python

Page 5: Python e Arduino

• Uma placa de prototipagem

• Um ambiente de desenvolvimento

• Uma comunidade de usuários

Page 6: Python e Arduino

Arduino

• Disponibiliza um conjunto de portas digitais e analógicas por onde podemos interagir com o ambiente

Sensores

Atuadores

Page 7: Python e Arduino

Sensores

Atuadores

DistânciaLuminosidade

Pressão Radiação

RadiofrequênciaGases Tóxicos

MotoresLuzes, LEDs

DisplaysSolenoides

Relê

Alguns!

Exemplo

s

Page 8: Python e Arduino

Portas digitaisPortas analógicas

Microc

ontro

lador

USB

Alimentação

Arduino UNO

Page 9: Python e Arduino

Portas digitais

Portas analógicas

Microcontrolador

USB

Alimentação

Portas digitais

Arduino MEGA

Page 10: Python e Arduino

http://blog.codebender.cc/2014/02/28/introduction/

Page 11: Python e Arduino

http://blog.codebender.cc/2014/02/28/introduction/

Page 12: Python e Arduino

ATMega

Page 13: Python e Arduino

Programando o Arduinoint led = 13; !!void setup() { pinMode(led, OUTPUT); } !!void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Page 14: Python e Arduino

Programando o Arduinoint led = 13; !!void setup() { pinMode(led, OUTPUT); } !!void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Page 15: Python e Arduino

Programando o Arduinoint led = 13; !!void setup() { pinMode(led, OUTPUT); } !!void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Page 16: Python e Arduino

Programando o Arduinoint led = 13; !!void setup() { pinMode(led, OUTPUT); } !!void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

inicializações

Page 17: Python e Arduino

Programando o Arduinoint led = 13; !!void setup() { pinMode(led, OUTPUT); } !!void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

inicializações

Leitura de dados

Page 18: Python e Arduino

Programando o Arduinoint led = 13; !!void setup() { pinMode(led, OUTPUT); } !!void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

inicializações

Leitura de dados

Interações com o ambiente

Page 19: Python e Arduino

Expandindo o poder do Arduino

Existem dezenas de opções de placas que adicionam recursos avançados ao Arduino!

• GPS, Bluetooth, GPRS, Wifi, Ethernet, Câmera, Controle de Motores, FM, etc…

Sensores!

• Distância, pressão, movimento, temperatura, inclinação, radiação, luminosidade, etc…

Page 20: Python e Arduino

Expandindo o poder do Arduino

GPS

GSM

Ethernet

Page 21: Python e Arduino

• Linguagem de programação baseada em scripts

• Portável

• Multiparadigma

Python

Page 22: Python e Arduino

Python + Arduino ???

Page 23: Python e Arduino

Sim!, Python + Arduino !!!

Page 24: Python e Arduino

Python + Arduino

• Python pode ser usado para

• Ler/Armazenar/Disponibilizar dados enviados pelo Arduino

• Enviar sinais de controle para a placa

• Expandir o potencial da placa, processando dados de outras fontes

Page 25: Python e Arduino

Demonstração #1Leitura de dados da placa

Page 26: Python e Arduino

Leitura de dados

• O Arduino pode funcionar ligado ao PC por uma porta USB (é uma porta serial)

• Podemos usar essa conexão para receber os dados através do cabo em um script Python

Page 27: Python e Arduino

Leitura de dados

• O Arduino pode funcionar ligado ao PC por uma porta USB (é uma porta serial)

• Podemos usar essa conexão para receber os dados através do cabo em um script Python

oi

Page 28: Python e Arduino

Sensor de distância

Page 29: Python e Arduino

Sensor de distância

Trigger

Page 30: Python e Arduino

Sensor de distância

Trigger

Page 31: Python e Arduino

Sensor de distância

Trigger Echo

Page 32: Python e Arduino

Demonstração #2Envio de dados simples para a

placa

Page 33: Python e Arduino

Envio de dados

• Envio pelo mesmo cabo podemos fazer o envio de informações do script Python para a placa

• O programa que é executado no Arduino deve tratar os dados para que as ações aconteçam

Page 34: Python e Arduino

Envio de dados

• Envio pelo mesmo cabo podemos fazer o envio de informações do script Python para a placa

• O programa que é executado no Arduino deve tratar os dados para que as ações aconteçam

oi

Page 35: Python e Arduino

Demonstração #3Processando dados de outras fontes

Page 36: Python e Arduino

Dados de outras fontes

• O script Python pode utilizar centenas de APIs disponíveis e apresentar alguma ação através do Arduino

Page 37: Python e Arduino

Algumas ideias para ir além…

• Você pode usar Bluetooth, FM, Ethernet, WiFi para se comunicar com seus scripts Python!

• É possível comunicar o Arduino diretamente com seu smartphone :-)!

• Que tal publicar os dados coletados pelo seu Arduino diretamente em uma página web ?!

• Participe de eventos da comunidade Python…

Page 38: Python e Arduino

PySM

2014.pysm.org03/05

Santa Maria/RS

Page 39: Python e Arduino

PyPOA

pypoa.org

07 de junhoFTEC

Page 40: Python e Arduino

Valeu!Leandro Nunes | @nunesleandro | codefi.sh

Page 41: Python e Arduino

Valeu!Leandro Nunes | @nunesleandro | codefi.sh

Slides e resumo da palestra com os links para os frameworks usados vão estar no

blog