Arquivos para 30 30UTC November 30UTC 1999

Neste tutorial, aprenderemos a lidar com este fantástico dispositivo, o NodeMCU ESP-12E Development Kit V. 1.0, onde aprenderemos como:

  • Fazer piscar um LED pela internet
  • Ligar o ESP a um display LCD do tipo “OLED”
  • Capturar dados gerados por sensores tanto analógicos como digitais
  • Subir dados a um serviço de Internet das coisas tal como o Thinkspeak
  • Controlar “coisas” pela internet, utilisando-se aplicativos para smartphones como o BLINK

Continue lendo…

Esta é a segunda e última parte de um projeto mais complexo, que explora a potencialidade de um robô seguidor de linha. Nesta etapa, aplicaremos conceitos de inteligência artificial na exploração de labirintos, implementando algoritmos que nos ajudarão a encontrar o caminho da saída mais curto e rápido.

Continue lendo...

“Rex”, um robô que nunca perde a linha!

20 20-03:00 abril 20-03:00 2016 — 9 Comentários

O objetivo deste projeto é construir um robô seguidor de linha com controle PID. Também usaremos um dispositivo Android para poder configurar mais facilmente os principais parâmetros (ganhos) da malha de controle.

Continue lendo...

O braço robótico: Desenvolvimento do Projeto

17 17-03:00 fevereiro 17-03:00 2016 — 9 Comentários

Depois de um longo e tenebroso inverno, vamos ao projeto de verdade! Afinal, já era sem tempo! O circuito como comentado em meu post anterior:

O braço robótico – Introdução

será baseado no Arduino MEGA, alguns potenciômetros, botões e LEDS para o “painel de controle local”.

Robot Arm Project diagram

Um modulo HC-06  conectará o braço, via rede Bluetooth, com um celular Android (controle em modo remoto).

Continue lendo…

O braço robótico – Introdução

5 05-03:00 fevereiro 05-03:00 2016 — 6 Comentários

O objetivo desse tutorial é desenvolver passo a passo um projeto para o controle e programação de um braço robótico, simulando as funções básicas de um robô industrial.

Especificações:

  • O robô deverá ter duas funções básicas:
    • Programa: gravar posições do braço em 3 dimensões
    • Run: executar o programa de trabalho (ou seja, executar em sequencia as posições gravadas na etapa de programa.
  • O robô executará o programa até que o comando de “abortar” seja utilizado.
  • O projeto deverá controlar robots de 3 ou 4 DOF (“Degrees of Freedom”).
  • O robô deverá ser controlado em modo “local” e “remoto” (via celular)
  • Durante o programa se poderá mudar o controle de “local” a “remoto” e vice-e-versa.
  • Deverá possuir sinalização tanto visual (LEDS e display) quanto sonora
  • Deverá possuir função de alarme acionado remotamente.

O projeto:

O diagrama abaixo mostra o “Bill of Material” que será utilizado no projeto:

Robot Arm Project diagram

Para o projeto, optarei pelo Arduino MEGA para não ter que me preocupar com o número de portas I/Os. O UNO funcionaria sem problemas, mas se deveria utilizar algum método de expansão de portas. Existem várias opções que podem ser facilmente encontradas na internet, como um decodificador 74138 por exemplo (veja o site: “Expandindo os I/Os do Arduino”).

Para a rede Bluetooth utilizarei o HC-06 (o qual explico em detalhes no tutorial “Conectando “coisas” através do Bluetooth”).

MJRoBot Arm Ctrl iconA app Android utilizado para o “modo  remoto”, foi desenvolvida utilizando-se a ferramenta  MIT appinventor2, uma plataforma tão poderosa quanto simples para esse tipo de app baseado no Android. No futuro pretendo explorar a criação de apps desse tipo aqui no Blog. Por enquanto, a app está disponível para ser baixada gratuitamante na loja da Google:  MJRoBot Arduino Arm Robot Control.

Os vídeos abaixo dão uma idéia de como deverá ficar o projeto final:

Primeiro protótipo sendo programado em “modo local”:

O robô programado de maneira remota via rede Bluetooth:

 

Nos próximos posts, detalharei os passos necessários para o desenvolvimento do projeto.

Como sempre, espero que este projeto ajude outras pessoas a encontrar seu caminho no apaixonante mundo da eletrônica, robótica e do IoT!

Não deixe de visitar e seguir minha página: MJRoBot.org no Facebook

“Saludos desde el sur del mundo!” 😉

Um abraço e até o próximo post!

Obrigado

Marcelo

FullSizeRender 23Em tempo: aproveito e deixo aqui um abraço para duas pessoas muito queridas, meu tio Ítalo que já não está aqui entre nós, que além de me ensinar a jogar Xadrez quando garoto, me deixou de presente essas peças que utilizei no vídeo. O outro abraço vai para o meu sogro Mathias, que muito carinhosamente presenteou-me com o tabuleiro e com as peças do jogo que haviam se perdido com o tempo (tudo feito por ele).

 

 

 

 

Conectando “coisas” através do Bluetooth

30 30-03:00 janeiro 30-03:00 2016 — 14 Comentários

 

bluetooth-logo

Uma rede sem fio local (e pessoal) porreta é sem dúvida a Bluetooth (BT). Hoje em nosso dia-a-dia é comum encontrar-nos com celulares, aparelhos de som, cameras, etc., entrelaçados com a ajuda da famosa “luzinha azul”

No mundo do IoT e da automação em geral, é muito comum deparar-nos com controles remotos via celulares utilizando tecnologia BT. Isso é devido a 2 componentes básicos mas muito importantes:

  1. Plataforma de desenvolvimento para OS ANDROID
  2. Módulos BT baratos e acessíveis (Como por exemplo o HC-06)

Neste tutorial, vou desenvolver algumas idéias de como controlar as saídas de um Arduíno através de um celular de maneira a mover um Robot, acionar lâmpadas em uma casa, etc.

No mercado é comum encontrar módulos de BT 3.0  “Master-Slave” como o HC-05  e “Slaves” como o HC-06. Já mais recentemente, apareceram os HC-08 e HC-10 que trabalham com tecnologia BT 4.0 ou BLE (“Bluetooth Low Energy”). Os módulos BLE são os únicos que podem ser conectados a um Iphone, pois infelizmente a Apple não fornece suporte a ao BT 3.0.

Para os projetos discutidos aqui, usarei um HC-06 que é bem popular e barato (Bye, bye, Iphone, vamos de Android!). O Módulo é alimentado com 5V o que faz com que ele seja facilmente conectado a um Arduino

HC06 PinsUNO por exemplo, para receber e transmitir informações a outros dispositivos como um PC ou um telefone celular. Seus pinos de transmissão e recepção podem ser conectados diretamente ao UNO, não havendo a necessidade de se utilizar divisores de tensão como vimos no caso do ESP8266.

Na prática, o HC-06 deve ser ligado diretamente aos pinos 0 e 1 do Arduino (Serial):

  • HC06-Tx ao Arduino pin 0 (Rx)
  • HC06-Rx ao Arduino pin 1 (Tx)

Ao se usar a entrada serial por HW do UNO é muito importante lembrar-se que o HC-06 não pode estar fisicamente conectado aos pinos 0 e 1 durante a carga do programa, isso porque o USB também usa essa mesma serial.  Uma maneira simples de se contornar esse probleminha (se seu projeto não utiliza muitos GPIOs do UNO) é usar uma porta serial por SW através da library SoftwareSerial (a mesma que usamos no caso do ESP8266). Em nosso caso aqui, usaremos os pinos 10 e 11 do UNO (Tx, Rx respectivamente).

UNO-HC06

Continue lendo…

Depois de um longo e tenebroso inverno, chegamos ao ponto de acionar LEDs (ou qualquer coisa) remotamente via WiFi. Para quem entrou direto nesse post, vale a pena dar uma sapeada em meus 2 posts anteriores:

  1. O ESP8266 – Serial WIFI Module
  2. O ESP8266 parte 2 – Web Server

A diferença básica aqui, é que ao invés do Arduino criar uma pagina web para enviar as informações capturadas, agora será uma página criada anteriormente em HTML e hospedada em algum sitio web (no nosso caso aqui estará em emu desktop) que enviará os dados. Esta pagina estará recebendo comandos de um usuário enviando-os via WiFi ao Arduino.

LED Ctrl

Continue lendo…

O ESP8266 parte 2 – Web Server

19 19-03:00 janeiro 19-03:00 2016 — 9 Comentários

Em meu post anterior procurei descrever o que é, como ligar, testar e configurar o ESP8266 (vamos chamar-lo ESP para simplificar). Aqui vamos dar uma pincelada no que se deve fazer com o ESP para interagir com os GPIOs do Arduino remotamente via web .

Alguém disse uma vez “If you can blink a LED you can do anything”. No mundo dos sistemas embebidos (“Embebed systems”), esse dizer é uma verdade verdadeira ululante! Quando você faz com que um LED acenda a partir de um sinal gerado em uma das portas do Arduino, ou que ele possa ler o status de uma chave ou sensor, o que está realmente acontecendo é a interação do mundo da eletrônica com o mundo físico! Conseguir essa interação via uma página da internet é de fato toda a essência do IoT.

image

Continue lendo…

O ESP8266 parte 1 – Serial WIFI Module

17 17-03:00 janeiro 17-03:00 2016 — 6 Comentários

Caminho das pedras para fazer o set-up e testar o modulo ESP8266 com um Arduino MEGA.

Continue lendo...

MJRoBot I – O Robot de Berkeley

11 11-03:00 janeiro 11-03:00 2016 — 2 Comentários

Passos para a construção de um robot autônomo.

Continue lendo...