BUILDBOT Blog

Interfaces de comunicação OneWire, SPI e I2C

Comunicacao_Microcontrolador

Vamos falar um pouco sobre os protocolos de comunicação mais utilizados nos projetos utilizando microcontroladores. Os protocolos de comunicação que vamos mostrar podem ser utilizados não só para comunicação entre microcontroladores, como também entre esses dispositivos e seus periféricos, como sensores, módulos e shields.

Apesar da evolução da tecnologia dos microcontroladores e a adoção de protocolos próprios (proprietários) pelos fabricantes, no final acabamos usando os protocolos mais conhecidos e mais bem documentados, por exemplo, as interfaces SPI e I2C que estão disponíveis em praticamente todas as placas encontradas no mercado, como Arduino, Raspberry Pi, Cubieboard e Beaglebone entre outras.

Continue lendo

Comunicação wireless com o módulo NRF24L01

Módulo Transceiver Wireless NRF24L01 2.4GHz

Hoje vamos falar sobre o módulo wireless NRF24L01+ 2.4GHz, um módulo compacto e muito eficiente, perfeito para quem precisa montar um sistema de comunicação entre dois (ou mais) dispositivos.

Além do tamanho reduzido, esse módulo, que é controlado pelo CI NRF24L01+ da Nordic (datasheet) se caracteriza pelo baixo consumo de energia e pela velocidade de comunicação, que pode chegar a 2Mbps. Devido ao uso da interface SPI, é possível interligar esse módulo à maioria dos microcontroladores disponíveis atualmente. Continue lendo

Configuração do módulo bluetooth HC-06 com Arduino

Módulo Blueooth HC-06

O módulo Bluetooth HC-06 é usado para comunicação wireless entre o Arduino e algum outro dispositivo com bluetooth, como por exemplo um telefone celular, um computador ou tablet. As informações recebidas pelo módulo são repassadas ao Arduino (ou outro microcontrolador) via serial.

O alcance do módulo segue o padrão da comunicação bluetooth, que é de aproximadamente 10 metros. Esse módulo funciona apenas em modo slave (escravo), ou seja, ele permite que outros dispositivos se conectem à ele, mas não permite que ele próprio se conecte à outros dispositivos bluetooth. Continue lendo

Como utilizar o sensor ultrasônico HC-SR04

Sensor de Distância Ultrassónico HC-SR04

Vamos conhecer melhor o sensor ultrasônico HC-SR04, um sensor que pode ser utilizado como um detector de objetos ou na área de robótica um componente que pode ser usado para encontrar/evitar obstáculos ou corrigir rotas na movimentação do robô.

Esse sensor utiliza sinais ultrasônicos (40 Khz, acima da capacidade de audição do ouvido humano, que é de 20 Khz), para determinar a distância entre o sensor e o obstáculo. Ele pode medir distâncias entre 2 cm e 4 m, com precisão de 3mm.  Seu ângulo de detecção é de aproximadamente 15 graus, segundo informações do datasheet do sensor.

Continue lendo

Movimentar seu robô com Arduino.

Movimentar robô com ArduinoMotores de passo e servo motores são alguns dos componentes mais comuns encontrados em vários tipos de projetos envolvendo robôs. Podemos utilizar alguns tipos de chaves tipo push-button, joysticks e até mesmo o acelerômetro do celular para controlar esses motores.

No Arduino, movimentar um motor de passo ou um servo motor  é uma tarefa simples, que podemos executar utilizando uma das placas mais utilizadas, como o Arduino UNO e sem a necessidade de bibliotecas especiais, apenas as bibliotecas Stepper e Servo que já vem embutidas na IDE do Arduino.

Continue lendo

Kit Arduino, o básico para começar a estudar.

kits Arduino
Uma das formas mais práticas de se aprender sobre a plataforma Arduino e eletrônica em geral é por meio da utilização de kits que contém todo o material necessário para desenvolver projetos com diferentes graus de dificuldade. Com os kits, você aprende e coloca em prática a utilização de portas digitais, analógicas, portas PWM, usa motores, displays LCD e os mais variados tipos de sensores em conjunto com o Arduino.

Para ajudar você a escolher o melhor kit para as suas necessidades, vamos analisar três deles: Arduino Starter kit, Sparkfun Inventor’s Kit e DFRobot Beginner Kit.

Continue lendo

Diferença entre Arduino MEGA e ADK.

Diferença entre Android MEGA e ADK

Vamos fazer um comparativo entre duas placas da família Arduino, ambas com grande número de portas, memória e poder de processamento, são as placas Arduino MEGA e Arduino ADK, onde a segunda muitas vezes pode ser encontrada com o nome Arduino MEGA ADK ou Arduino Android.

Na imagem a seguir podemos notar que as placas são muito semelhantes, com exceção do conector USB adicional no Arduino ADK, cuja função veremos mais adiante, vamos primeiro dar uma olhada nas especificações das duas placas.

Continue lendo

Saiba mais sobre Nanoshields.

nanoshields
Os Nanoshields são um sistema de eletrônica modular, com eles você pode combinar diferentes módulos e construir uma grande variedade de projetos eletrônicos para aprendizado, prototipagem rápida de um produto ou para seus projetos pessoais, por exemplo, você pode detectar o pressionamento de um botão, acionar luzes ou LEDs, ler um sensor de temperatura, mostrar dados em um visor LCD, comunicar-se com um computador via USB ou via rede, entre outros.

Usando os Nanoshields você tem a vantagem de eliminar o excesso de fios no seu projeto e minimizar tarefas como solda e fixação de componentes. Assim você torna seus projetos mais elegantes, compactos e robustos. Além disso você pode reconfigurar os Nanoshields que você já possui em um novo projeto de forma muito rápida, sem se preocupar tanto com tarefas repetitivas e colocando a sua criatividade em primeiro lugar.

Os projetos construídos com os Nanoshields quase sempre utilizam um microcontrolador, executando um software que controla os diferentes módulos. Para isso, pode-se usar o popular módulo Arduino, nas versões UNO, Duemilanove, Diecimila, Nano, Mega ou similares.

Também é possivel utilizar o Alevino, um Nanoshield que possui um microcontrolador compatível com a plataforma Arduino.

Continue lendo

Saiba mais sobre o Arduino.

Arduino

Arduino é uma plataforma de prototipagem eletrônica de hardware livre (Esquema elétrico disponível para que os usuários possam criar o mesmo projeto), projetada com microcontrolador da Atmel e com uma linguagem de programação padrão que é denominada Wiring (baseada em C/C++) que também é um software livre, podendo também ser programada em outras linguagens.

O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de serem usadas por profissionais e amadores, o público principal do Arduino são aqueles que não acesso ou disponibilidade de uso ou estudo de controladores e ferramentas mais sofisticadas.

O hardware possui entradas analógicas, saídas digitais e PWM (Pulse Width Modulation), permitindo leituras de sensores e controle de outros dispositivos, pode ser usado para o desenvolvimento de objetos interativos autónomos ou não, ainda sendo possível conecta-lo a um computador.

O Arduino é composto basicamente por um controlador e uma interface serial ou USB para ser programado ou interligado. Também é possível combinar um ou mais Arduinos, para isso, usa-se as extensões chamadas de Shields.

Continue lendo

Um robô com incertezas.

16099Marvin_Wide_

Marvin é um robô criado por Douglas Adams, personagem da série O Guia do Mochileiro das Galáxias, desenvolvido para ter personalidade genuinamente humana. Mas nós humanos somos bem complexos e em muitos casos nem um pouco exatos, muitas vezes precisamos tomar decisões em situações em que a incerteza é a nossa maior fonte de dados, isso só é possível graças à nossa inteligência.

A Inteligência Artificial (IA) é uma ferramenta presente em muitos programas de cálculos­­, de geoproces­­samento, de astrofísica e de reconhecimento facial. É também imprescindível na execução de tarefas repetitivas, como os robôs de linha de produção na indústria, os robôs que são utilizados em áreas com alto grau de periculosidade, ou onde não é possível a presença de um ser humano para tomar certas decisões, como por exemplo, os robôs enviados a Marte, que por conta do atraso da comunicação com a terra, devem desviar em modo autônomo de rochas e terrenos irregulares, quando estiverem cumprindo uma tarefa de movimentação.

A Lógica Nebulosa ou Difusa – Do inglês Fuzzy Logic, tem por objetivo modelar o “modo aproximado de raciocínio” humano, visando criar métodos computacionais capazes de tomar decisões que um ser humano tomaria em situações de incerteza, subjetividade e imprecisão. Em algumas aplicações de robótica, o projetista depara-se com situações em que os valores de entrada (Nebulosos), obtidos geralmente por sensores, necessitam ser categorizados, para posterior processamento e definição dos valores de saída, que são geralmente atuadores ou um valor mostrado em um display, por exemplo.

Continue lendo