python e arduino
DESCRIPTION
TRANSCRIPT
![Page 2: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/2.jpg)
Sobre o que vamos falar ?
![Page 3: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/3.jpg)
Sobre o que vamos falar ?
Arduino
Uma plataforma de prototipagem eletrônica
![Page 4: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/5.jpg)
• Uma placa de prototipagem
• Um ambiente de desenvolvimento
• Uma comunidade de usuários
![Page 6: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/6.jpg)
Arduino
• Disponibiliza um conjunto de portas digitais e analógicas por onde podemos interagir com o ambiente
Sensores
Atuadores
![Page 7: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/7.jpg)
Sensores
Atuadores
DistânciaLuminosidade
Pressão Radiação
RadiofrequênciaGases Tóxicos
MotoresLuzes, LEDs
DisplaysSolenoides
Relê
Alguns!
Exemplo
s
![Page 8: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/8.jpg)
Portas digitaisPortas analógicas
Microc
ontro
lador
USB
Alimentação
Arduino UNO
![Page 9: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/9.jpg)
Portas digitais
Portas analógicas
Microcontrolador
USB
Alimentação
Portas digitais
Arduino MEGA
![Page 10: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/10.jpg)
http://blog.codebender.cc/2014/02/28/introduction/
![Page 11: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/11.jpg)
http://blog.codebender.cc/2014/02/28/introduction/
![Page 12: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/12.jpg)
ATMega
![Page 13: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/20.jpg)
Expandindo o poder do Arduino
GPS
GSM
Ethernet
![Page 21: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/21.jpg)
• Linguagem de programação baseada em scripts
• Portável
• Multiparadigma
Python
![Page 22: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/22.jpg)
Python + Arduino ???
![Page 23: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/23.jpg)
Sim!, Python + Arduino !!!
![Page 24: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/25.jpg)
Demonstração #1Leitura de dados da placa
![Page 26: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/28.jpg)
Sensor de distância
![Page 29: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/29.jpg)
Sensor de distância
Trigger
![Page 30: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/30.jpg)
Sensor de distância
Trigger
![Page 31: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/31.jpg)
Sensor de distância
Trigger Echo
![Page 32: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/32.jpg)
Demonstração #2Envio de dados simples para a
placa
![Page 33: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/35.jpg)
Demonstração #3Processando dados de outras fontes
![Page 36: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/38.jpg)
PySM
2014.pysm.org03/05
Santa Maria/RS
![Page 39: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/39.jpg)
PyPOA
pypoa.org
07 de junhoFTEC
![Page 41: Python e Arduino](https://reader034.vdocuments.net/reader034/viewer/2022042502/5497689eb47959604d8b51e9/html5/thumbnails/41.jpg)
Valeu!Leandro Nunes | @nunesleandro | codefi.sh
Slides e resumo da palestra com os links para os frameworks usados vão estar no
blog