Arquivos para educação

Este tutorial foi um dos vencedores do “Automation Contest 2017” do Instructables.com
winner at Automation Contest
Alguns meses atrás, explorei aqui como usar a Alexa, um assistente pessoal inteligente, popularizado pelo Amazon Echo e Echo-Dot, em projetos de automação residencial:

Quando o IoT encontra a Inteligência Artificial: Automação residencial com Alexa e NodeMCU

Alexa é capaz de interação de voz, reprodução de música, fazer listas de tarefas, configurar alarmes, podcasts de transmissão, reproduzir audiobooks e fornecer informações meteorológicas, de tráfego e outras informações em tempo real. A Alexa também pode controlar vários dispositivos inteligentes funcionando como um hub de automação residencial. Usaremos neste projeto, o “Echo-Dot”, que permite aos usuários ativar o dispositivo usando uma palavra de despertar, como “Alexa” ou “Computer”, como em “Star Trek !

No espaço da automação residencial, a Alexa pode interagir com vários dispositivos diferentes como Philips Hue, Belkin Wemo, SmartThings, etc. Em nosso caso, vamos emular o WeMo, usando a biblioteca fauxmoESP.

Esta é a principal diferença entre este tutorial e o anterior. A biblioteca fauxmoESP simplifica extremamente o código necessário para o desenvolvimento de projetos de automação residencial envolvendo a Alexa e o NodeMCU.

WeMo é uma série de produtos da Belkin International, Inc. que permite aos usuários controlar eletrodomésticos desde qualquer lugar. O conjunto de produtos inclui um interruptor, sensor de movimento, interruptor de luz, câmera e aplicativo.

O WeMo Switch (nosso caso aqui) pode ser conectado a qualquer tomada doméstica, a qual pode ser controlada a partir de um smartphone iOS ou Android o qual executará o aplicativo WeMo, via rede doméstica WiFi ou rede celular. Nós emularemos este dispositivo, mas seu controle será obtido por voz via o Echo-Dot.

O diagrama de blocos abaixo mostra o que será desenvolvido em nosso projeto:

O vídeo abaixo mostra como o projeto ficará no final:

 

Continue lendo…

Electronic Playground With Arduino and Scratch 2

Este é o meu quarto tutorial procurando integrar o aprendizado da eletrônica com a linguagem SCRATCH e o primeiro que publico em português.

Anteriormente, já havia publicado, tanto no site do Instructables.com, quanto no Hackster.io:

  1. Physical Computing – Scratch 2.0 for Raspberry Pi
  2. Physical Computing – Scratch for Raspberry Pi   (Scratch V.1.4)
  3. Physical Computing – Scratch for Arduino   (S4A / Scratch V1.4)

Neste novo tutorial, desenvolveremos novos projetos e idéias integrando o Scratch 2.0 com o Arduino, verdadeiros “campeões” quando se fala sobre o ensino de eletrônica e programacão para crianças, educadores e iniciantes.

Existem poucas iniciativas disponíveis na web abrangendo Scratch 2 para Arduinos, sendo mais conhecidas as que foram desenvolvidas com foco em kits suportados oficialmente pelo site do Scratch, tais como Lego WeDo, PicoBoard, ou o alternativo editor mBlock , etc.

Como uma opção pessoal e para não ficar amarrado a nenhum fabricante ou solução proprietária, escrevi este tutorial com base no “s2aio“, uma extensão de hardware gratuita e aberta, criada por MrYsLab,  para ser utilizada com o o editor offline do Scratch 2.0.

Obrigado, Alan Yorinks, criador do MrYsLab por esta grande iniciativa!

Legal! Neste tutorial, aprenderemos como utilizar o Scratch 2.0 na programação de um ARDUINO de maneira a que possamos interagir com o mundo físico!

Em suma, aprenderemos como:

  • Ler entradas digitais tais como botões e sensores de movimento
  • Ler sensores analógicos como LDR (para medir luz) e temperatura
  • Gerar saídas digitais, ligando e desligando LEDs
  • Atuar em dispositivos analógicos controlando, por exemplo, o brilho de um LED usando-se de técnicas de modulação de pulso (PWM)
  • Gerar tons musicais utilizando-se de uma campainha (buzzer)
  • Controlar um servo motor
  • Medir distâncias com um sensor de ultra-som (como os morcegos)
  • Construir um “Playground eletrônico virtual” para interagir com dispositivos reais
  • Misturar animação com dispositivos do mundo real
  • Construir um radar

O diagrama acima mostra todos os sensores e atuadores conectados ao nosso Arduino. Mas não se preocupe, iremos passo a passo em cada componente.

Neste vídeo você poderá ver um radar de verdade desenvolvido a partir do Scratch 2 e do Arduino. Desenvolveremos este projeto juntos ao longo deste tutorial:

Continue lendo…

A Linguagem Scratch e o mundo físico

26 26-03:00 julho 26-03:00 2017 — Deixe um comentário

Uma linguagem de programação fantastica para iniciantes no mundo da informática, principalmente crianças, é o SCRATCH!

Mas o que é o Scratch?

Vejamos o que diz o Wikipedia:

Por não exigir o conhecimento prévio de outras linguagens de programação, ele é ideal para pessoas que estão começando a programar e foi desenvolvida para ajudar pessoas acima de 8 anos no aprendizado de conceitos matemáticos e computacionais. Com ele é possível criar histórias animadas, jogos e outros programas interativos.

E também controlar o mundo físico, juntamente com o Raspberry Pi e o Arduino!

Criado tendo em vista as experiências do Media Lab com a linguagem LOGO desenvolvida por Papert, o Scratch visa ir além dessa linguagem em três aspectos: fazer a linguagem mais suscetiva à manipulação, mais social e mais significante. Assim a forma como os blocos podem ser manipulados lhe confere uma possibilidade de aprendizagem auto-gerida através da prática de manipulação e teste dos projetos. A plataforma online permite que usuário interajam entre si, critiquem e aprendam com os projetos dos outros (remixing). Além disso, o Scratch permite a personalização através da incorporação de imagens e sons externos, bem como a possibilidade de desenhar e gravar som dentro da ferramenta. Continue lendo…

Deteção de cores com o Arduino

1 01-03:00 maio 01-03:00 2017 — Deixe um comentário

Neste tutorial, exploraremos como ler cores usando um Arduino e sensores como o TCS 3200. A idéia será detectar a cor de um objeto, exibindo-a em um LCD. Este tutorial é a primeira parte de um projeto maior, um braço robótico que decide que operação executar a partir da cor de uma peça.

O diagrama de blocos abaixo mostra os principais componentes:

Color Detector Block DiagramO vídeo abaixo mostra como ficará o projeto final:

Continue lendo…

Exploraremos neste tutorial, como usar a Alexa, um assistente pessoal inteligente desenvolvido pela Amazon Lab126, popularizado pelo Amazon Echo e Echo-Dot.

Alexa é capaz de interação de voz, reprodução de música, fazer listas de tarefas, configurar alarmes, transmitir podcasts, tocar audiobooks e fornecer informações meteorológicas, de trânsito e outras informações em tempo real. Alexa também pode controlar vários dispositivos inteligentes usando-se como um hub de automação residencial. Vamos usar neste projeto, o “Echo-Dot”, que permite aos usuários ativar o dispositivo usando um wake-word (no caso, “Alexa”).

echo-dot features

No espaço da Domótica (automação residencial), Alexa pode interagir com vários dispositivos diferentes como Philips Hue, Belkin Wemo, SmartThings, etc. Em nosso caso, emularemos dispositivos do tipo WeMo, como estes mostrados abaixo (mas por apenas uma fração de seu preço):

WeMo

WeMo é uma série de produtos da Belkin International, Inc. que permitem aos usuários controlar eletrônicos domésticos de qualquer lugar. A suite de produtos inclui um interruptor, sensor de movimento, Insight Switch, interruptor de luz, câmera e app. O WeMo Switch (nosso caso aqui) pode ser conectado a qualquer tomada de casa, que pode ser controlada a partir de um iOS ou Android smartphone executando o WeMo App, via rede doméstica WiFi ou rede de telefonia móvel.

O diagrama abaixo mostra o que será desenvolvido em nosso projeto:

Home Automation Block Diagram V2E o vídeo abaixo, mostra como ficará o projeto ao final:

Continue lendo…

ArduFarmBot, o livro!

13 13-03:00 março 13-03:00 2017 — Deixe um comentário

Acaba de sair do forno o primeiro livro da série “Tutoriais MJRoBot”, o “ArduFarmBot: Automatizando uma horta de tomates com a ajuda da Internet das Coisas – IoT”.

O livro pode ser adquirido nas lojas do Kindle na Amazon:

book amazon

Por favor divulguem o livro e se gostaram, deixem um comentário na página da: Amazon.com.br

Caso encontrem erros ou tenham sugestões, por favor usem a area de mensagens aqui no blog, que procurarei corrigir nas próximas edições.

O livro usa o controlador eletrônico “ArduFarmBot” como base para o aprendizado de como se trabalhar tanto em HW quanto em SW, com: a) Displays do tipo LCD e OLED; b) LEDs e botões; c) Acionamento de bombas e lâmpadas via relés e d) Leitura de sensores tais como: DHT22 (temperatura e umidade relativa do ar), DS18B20 (temperatura do solo), YL69 (umidade do solo) e LDR (luminosidade).

Todas as principais etapas dos projetos são detalhadamente documentadas através de textos explicativos, diagramas de blocos, fotos coloridas de alta resolução, diagramas elétricos utilizando-se do aplicativo “Fritzing”, códigos completos armazenados no “GitHub” e vídeos do “YouTube”.

No livro, são desenvolvidas duas versões do controlador eletrônico “ArduFarmBot”, que a partir da captura de dados provenientes de uma horta de tomates, tais como temperatura do ar e solo, umidade relativa do ar, umidade do solo e luminosidade, decidem autonomamente a quantidade certa (e quando) uma plantação deve receber calor e água. O ArduFarmBot também permite a intervenção manual, tanto em forma local quanto remota via Internet, a fim de controlar o acionamento de uma bomba de água e de uma lâmpada elétrica, esta última para ser usada na geração de calor para as plantas.

O livro está dividido em 3 partes.

Na primeira parte, a partir do “Arduino Nano” de desenvolve uma versão tanto manual operada por botões, quanto automática do “ArduFarmBot”.

book1

Na segunda parte, se aprofunda no projeto da automação e introduz a operação remota através da criação de uma página na internet. O “ESP8266-01” é utilizado para a conexão “Wifi”, enviando dados para o serviço especializado em IoT, “ThingSpeak.com“.

book2

Na terceira parte, uma segunda versão do “ArduFarmBot” é desenvolvida, introduzindo o “NodeMCU ESP8266-12E”, um poderoso e versátil dispositivo para projetos em IoT, que substitui de forma integrada tanto o “Arduino Nano” quanto o “ESP8266-01”, utilizados nas partes anteriores do livro. Nesta última, se explora também uma nova plataforma de serviços do universo IoT, o “Blynk”.

book4

Espero que gostem! E se preparem para o Tutoriais MJRoBot 2: “Brincando com robôs”.

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

Saludos desde el sur del mundo!

Nos vemos em meu próximo post!

Obrigado e um abração,

Marcelo

 

Uma maneira simples de aprender eletrônica é usando o Raspberry Pi e sua biblioteca “GPIO Zero”. Com poucas linhas de código em Python, você poderá facilmente controlar atuadores, ler sensores, etc. Esta biblioteca foi criada por Ben Nuttall da Raspberry Pi Foundation, Dave Jones entre outros.

Aqui, neste rápido tutorial procurarei fornecer-lhes a base para a criação de circuitos simples, controlados pelo Raspberry Pi.

Para obter maiores detalhes, consulte o link abaixo:

GPIO Zero V 1.3.1 Documentation

Você poderá também fazer o download grátis de um livro completo fornecido pela reveista MagPi, que irá guiar-lo passo a passo no desenvolvimento de vários projetos utilisando-se  da biblioteca GPIO Zero:

SIMPLE ELECTRONICS WITH GPIO ZERO

 

Neste tutorial, exploraremos os dispositivos de entrada (“sensores”):

  • Botão
  • Sensor de Detecção de Movimento

E como saída (“atuadores”):

  • LED
  • Buzzer
  • Saída digital genérica (motor de passo)

Vamos lá, mãos a obra!

Continue lendo…

Este post é uma continuação do ArduFarmBot: Controlando um tomateiro com a ajuda de um Arduino e Internet das coisas (IoT)

Na primeira parte do projeto, criamos uma estação local de controle e captura de informações, tais como temperatura, umidade relativa do ar, luminosidade e umidade do solo. Com base nesses dados, o ArduFarmBot decidia automaticamente a quantidade certa (e quando) o tomateiro deveria receber calor e água. A estação local de controle desenvolvida na Parte 1, também permitia a intervenção manual de um operador a fim de controlar tanto a bomba de água quanto a lâmpada elétrica. Nesta  segunda parte, implementaremos uma abordagem “IoT” onde a”intervenção manual” também poderá ser feita remotamente via Internet. O diagrama de blocos mostra como faremos isso:

ardufarmbot_gal_block_diagram

Note-se que os dados capturados serão enviados a um “serviço de armazenamento na nuvem” (no nosso caso Thinkspeak.com). Além disso, um website dedicado, o “Remote Control Page” mostrado no diagrama,  irá monitorar e exibir esses dados em tempo quase real. Esta página também permitirá a ativação remota da bomba e  da lâmpada.

 

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...