Introdução

A Universidade MIT criou um ambiente de de ambiente de desenvolvimento visual chamado Scratch, que tem como objetivo ensinar às pessoas a criar e desenvolver conteúdo interativo. 

Para permitir que os 'scratches' tivessem interação maior com o mundo externo (além do teclado/mouse) foi desenvolvida uma placa de sensores chamada PicoBoard,

Esta placa, que é baseada num microcontrolador PIC, possui um potenciômetro, um sensor de luz, um botão e 4 entradas para sinais analógicos, sendo possível utilizar diretamente os valores dos sensores nos blocos visuais com os quais a programação de um 'scratch' é feita.

 

Por se tratar de um projeto aberto, toda a documentação da PicoBoard está disponível. Com base nesta documentação a Sparkfun fez uma versão da placa, e manteve o esquemático e o código fonte abertos, conforme exigido pela licença do projeto original.

 

Esta postagem descreve o projeto de um 'shield' para o Arduino que tem como função replicar a placa PicoBoard, e que foi desenvolvido com base na documentação disponibilizada livremente pela Sparkfun e pelo MIT.

 

O Projeto

A PicoBoard original foi baseada num PIC16F676 que possui um conversor A/D com 8 canais, dos quais 7 são utilizados para os sensores. A comunicação com o micro é via porta serial, que também alimenta o circuito (via linha DTR).

Já a placa produzida pela Sparkfun usa uma conexão USB (afinal os micros com porta serial estão ficando escassos). A interface USB-serial foi baseada num FT232, e como microcontrolador foi utilizado um ATMega328 em encapsulamento TQFP, ou seja, a PicoBoard da Sparkfun é praticamente um Arduino.

Porém existe uma diferença fundamental: O Arduino utiliza um microcontrolador em encapsulamento DIP. Na maioria dos chips isso não significa nehuma diferença importante, porém no caso do ATMega328 a versão DIP posui apenas 6 canais A/D, em vez dos 8 da versão SMD.
Segue um trecho do 'datasheet' do ATMega 48/88/168/328:

• Peripheral Features
– 8-channel 10-bit ADC in TQFP and QFN/MLF package
– 6-channel 10-bit ADC in PDIP Package

Em outras palavras, o Arduino, possui as características necessárias para substituir a placa PicoBoard (conexão USB, comunicação serial com o PC). A única limitação é que o Arduino possui apenas 6 canais A/D, mas como foi visto acima, a PicoBoard necessita de 7 canais A/D.

Para contornar tal limitação foi necessário utilizar um artifício. Várias opções foram pensadas, desde um conversor A/D externo até o uso de um microcontrolador PIC funcionando como ADC SPI, mas tais soluções foram descartadas por causa do custo ou da complexidade para implementá-las.

Então uma solução mais simples foi adotada: A multiplexação de dois dos sinais analógicos para um dos canais A/D do Arduino utilizando um CD4066, que é uma chave analógica bidirecional quádrupla. Os canais escolhidos para serem multiplexados foram os dos sensores de SOM e LUZ.

Para fazer a seleção foram usados 2 sinais digitais, os quais ativados alternadamente acionam (alternadamente) as duas das chaves analógicas.

Foram feitos alguns testes num 'proto-board' a fim de demonstrar o correto funcionamento desta solução. O Arduino da foto é um Severino, uma placa de Arduino em face simples para facilitar a montagem caseira.

Uma segunda modificação em relação ao projeto original foi a substituição dos 4 'jacks' mono por dois 'jacks' estéreo. O objetivo é economizar economizar espaço.

Fora isso, o restante do circuito é igual ao projeto original. O circuito completo do PicoBoard Shield pode ser visto abaixo. 

Placa de Circuito Impresso

A fim de possibilitar a construção caseira, a placa foi projetada em face simples. Para facilitar o roteamento, a associação dos pinos do Arduino com os diversos sensores, bem como as metades do amplificador operacional e as portas da chave analógica utilizada foram todos definidos durante o roteamento. No final conseguiu-se rotear todo o circuito com apenas 2 jumpers. 

continua...

No próximo post:

-Confeção da placa
-Testes dos sensores
-Código do Arduino

Nota: Este shield é um projeto derivado da "Scratch Sensor Board", cuja licença de uso pode ser encontrada aqui.. Maiores informações sobre o projeto original podem ser encontradas aqui

Exibições: 1248

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço