Portas analógicas no Raspberry com baixo custo

O Raspberry é um dos brinquedos mais viciantes para IoT, principalmente para usuários Linux de longa data (como eu, que utilizo Linux desde 1997). Mas todas as coisas tem pontos positivos e negativos e com o Raspberry não seria diferente. Com aquele enorme barramento de pinos, a board não contempla um conversor AD, de modo que você não pode medir sensores analógicos como um simples LDR (Light Dependent Resistor. Detalhes clicando sobre essa porção da frase entre parênteses) diretamente no Raspberry. Para resolver esse tipo de problema, você tem duas opções:

Conversor analógico/digital ADS1115





O ADS1115 é um ótimo conversor AD com resolução de 16bits. Opera entre 2 e 5V e é compatível com qualquer board que tenha suporte a I²C. Já escrevi sobre sua utilização com Raspberry, ESP8266 e Arduino, conforme você pode ler nesse artigo bastante rico.

Esse conversor AD certamente resolverá seu problema de leitura, mas não é tão simples alocá-lo em um projeto com, por exemplo, o Raspberry, uma vez que você possa estar limitando a área de ocupação ao tamanho do case. Além disso, você precisará utilizar 2 pinos do GPIO para a comunicação, VCC e GND, mas é uma solução ótima sem dúvida. Seu custo não é tão alto e pode facilmente ser adquirido para fornecer até 4 portas analógicas. Seu custo (na data dessa publicação) varia entre R$26,00 e R$59,00 e você pode encontrá-lo em uma rápida busca no Mercado Livre.

Digispark

Porém tem uma outra opção e talvez lhe cause espanto, mas na verdade o Digispark (que utiliza um Attiny85) pode muito bem lhe servir como conversor AD e comunicar-se via serial com o Raspberry. O modelo recomendado para isso é o utilizado nesse post sobre sensor de nível d’água. Você tem aí 6 pinos em linha, uma MCU pra fazer a comunicação com um “pseudo-serial”. Isto porque o Digispark não tem serial, mas tem o DigiKeyboard. Em outro artigo escreverei sobre as diversas formas de fazer debugging no Digispark, mas por ora, vamos de DigiKeyboard.




A forma da comunicação para leitura do valor e repasse para o Raspberry não é a mais transparente, e convencionemos que esse é o lado negativo do Digispark para nosso propósito. Em relação a custo, o Digispark varia entre R$9,00 e R$29,00. Isso significa que se você pegar o mais caro, terá um prejuizo de R$3,00 em relação ao ADS1115, mas não estamos falando das despesas de envio que variam conforme a região, ok?

Você tem N opções de sensores analógicos, então não vou me ater a escrever código para isso, mas o código pronto para a comunicação entre o Raspberry e o Digispark é o mesmo desse outro artigo. Basta pegá-lo, adicionar a leitura analógica conforme descrito nesse outro artigo e correr pro abraço.

Inscreva-se no nosso newsletter, alí em cima à direita e receba novos posts por email.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Projetos Arduino e Eletrônica – https://www.facebook.com/groups/projetosarduinoeletronica/

ESP8266 BR – https://www.facebook.com/groups/ESP8266BR/

Próximo post a caminho!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão.Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.