Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python Brasil 2023 - Programando um robô IoT us...

Python Brasil 2023 - Programando um robô IoT usando MicroPython e Raspberry Pi Pico

Slides da palestra Programando um robô IoT usando MicroPython e Raspberry Pi Pico, apresentada durante a Python Brasil 2023 em Caxias do Sul, por Juliana Karoline de Sousa.

Link para a gravação da palestra ainda não foi disponibilizado.

Juliana Karoline de Sousa

November 02, 2023
Tweet

More Decks by Juliana Karoline de Sousa

Other Decks in Programming

Transcript

  1. JULIANA KAROLINE DE SOUSA | @JULIANAKLULO ➔ Cientista da Computação

    | UFSCar ➔ PyLadies São Carlos | co-fundadora e organizadora ➔ Grupy-Sanca | co-fundadora e organizadora ➔ Software Engineer | Omnivector Solutions ➔ IoT, robótica, impressão 3D e gatinhos :3
  2. AGENDA Escolha do robô Por que esse robô? 01 Specs

    do robô Componentes e esquemático 02 Montagem Fotos do robô sendo preparado e montado 03 Controlando o robô Configurando e utilizando o Blynk 04 Programando o robô Código em Arduino vs MicroPython 05 Demonstração Mostrando o robô em funcionamento 06
  3. ➔ Raspberry Pi Pico + Barra de Pinos ➔ Módulo

    WiFi ESP8266 ESP-01 ➔ LED RGB Difuso ➔ Buzzer Ativo 5 V ➔ Micro Servo 9g SG90 TowerPro ➔ 2 Motores DC com Caixa de Redução e Eixo Duplo + Ponte H L298n ➔ 2 Rodas para Robô ➔ Bateria Li-Po 450 mAh + Módulo de Carga TP4056 ➔ Chave Liga-Desliga 10 A ➔ Case impresso em 3D LISTA DE COMPONENTES DO ROBÔ
  4. CONTROLE DO ROBÔ App Mobile Cabeça Slider para girar o

    servo motor (0-180º) Buzzer Botão para fazer o buzzer funcionar LED RGB Zebra Selector para criar cores RGB Rodas Botões para controlar a direção das rodas
  5. Blynk Cloud Blynk Library Blynk IoT Aplicativo customizável para controlar

    e exibir dados Nuvem com comunicação bi-direcional entre app e dispositivo Biblioteca para interação com o dispositivo
  6. Pros ➔ Fácil de usar ➔ Suporta várias plataformas ➔

    Permite conexão remota ➔ Possui plano grátis Cons ➔ Protocolo proprietário ➔ Erros de comunicação intermitentes ➔ Número limitado de dispositivos ➔ Documentação escassa
  7. CONFIGURANDO O BLYNK NA PLACA Conexão com a internet Conexão

    com a Blynk Cloud Configuração dos callbacks (virtual pins) Lógica da aplicação
  8. ARDUINO (C/C++) VS MICROPYTHON Arduino (C/C++) MicroPython Modo de execução

    Compilado Interpretado Linguagem Baixo nível Alto nível Tratamento de Erros Não possui Built-in Performance Mais rápido Mais lento
  9. Checking ESP module COMMAND: AT LINE: AT LINE: OK Connecting

    to WiFi COMMAND: AT+CWMODE=1 LINE: AT+CWMODE=1 LINE: OK COMMAND: AT+CWJAP="SSID","PASSWORD" LINE: AT+CWJAP="SSID","PASSWORD" LINE: WIFI DISCONNECT LINE: WIFI CONNECTED LINE: WIFI GOT IP LINE: OK WiFi connected Making request COMMAND: AT+CIPSTART="TCP","jsonplaceholder.typicode.com",80 LINE: AT+CIPSTART="TCP","jsonplaceholder.typicode.com",80 LINE: CONNECT LINE: OK COMMAND: AT+CIPSEND=61 LINE: AT+CIPSEND=61 LINE: OK FUNCIONAMENTO DO ESP8266-01 https://github.com/julianaklulo/socket-esp/
  10. RASP PI PICO X RASP PI PICO W Rasp Pi

    Pico Rasp Pi Pico W Wireless + Bluetooth Microcontrolador RP2040 @ 133MHz, 256kB RAM RP2040 @ 133MHz, 256kB RAM GPIOs 26 26 PWMs 16 Canais 16 Canais
  11. CONFIGURANDO A BLYNK LIBRARY #1 - Baixar o arquivo blynklib_mp.py

    do GitHub do Blynk #2 - Renomear para blynklib.py #3 - Criar uma pasta /lib no sistema de arquivos da placa #4 - Copiar o arquivo para a pasta /lib https://github.com/blynkkk/lib-python/blob/master/blynklib_mp.py
  12. POR QUE MICROPYTHON? Alto Nível Permite escrever código orientado a

    objetos Produtividade Sintaxe mais simples que C/C++, dá para escrever mais código em menos tempo Abstração É possível abstrair a camada de hardware de acordo com a aplicação Python Segue a filosofia da linguagem Python