Estação Meteorológica

Esta estação meteorológica baseada em um microcontrolador LPC2138 monitora temperatura, velocidade e direção do vento. O sistema é baseado em uma placa de desenvolvimento da Keil e mais alguns outros componentes.

O projeto pode ser obtido na íntegra daqui. Possui código fonte do microcontrolador, esquemáticos e sugestão de montagem.

Decodificador de DTMF

dtmf2all.jpgUma ferramenta útil para decodificar os tons em DTMF (Dual Tone Multiple Frequency) gerados pelos telefones foi desenvolvida pela Infidigm. O dispositivo decodifica os números de 0 a 9, os caracteres “#” e “*”, e os mostra em um display LCD e envia pela serial; além disso, os últimos duzentos dígitos são guardados na EEPROM e podem ser lidos no display LCD.

O código fonte em C está disponível, portanto o projeto pode servir de base para um sistema de automação baseado em telefonia.

CPU implementada apenas com portas lógicas

pic_mycpu21sm.jpgUtilizando apenas portas lógicas TTL (CIs da linha 74HCxxx), esta página descreve uma CPU capaz de executar instruções de 8-bit a 8MHz. Possui pouco mais de 1MB de RAM, 128kB de ROM, dentre outros periféricos, como interface para teclados PS/2, interface para até quatro discos IDE e placa de vídeo VGA.

Na parte do software, há linguagens como BASIC, C e, claro, assembly. Um RTOS também foi portado. Como se não bastasse, o projeto é completamente open source.

AVRUSB: implementação USB via software

avrusb.gifCom a grande disponibilidade de portas USB nos computadores pessoais de hoje em dia, é comum que o interesse para usá-las nos mais variados projetos exista. Infelizmente o protocolo é um pouco trabalhoso para implementar do zero e, mesmo que existam soluções prontas em silício, são geralmente de difícil obtenção (principalmente aqui no Brasil) e de difícil soldagem (a maioria requer soldagem em superfície).

Pensando nisso, uma empresa austríaca desenvolveu uma implementação do protocolo USB inteiramente em software, e a disponibilizou gratuitamente na Internet (embora exista opção para uso comercial). Os requisitos são até altos em se tratando de microcontroladores (2kB de flash, 128bytes de RAM e clock de no mínimo 12MHz), mas um preço absolutamente baixo para se pagar pelos benefícios.

Suportando USB 1.1 e escrita em C, a biblioteca pode ser obtida neste site. Vários exemplos são mostrados na página também, como conversores de joysticks de Super Nintendo, controlador de servomotor e controle remoto infra-vermelho.

Procyon “AVRlib”: Libere o potencial dos AVRs!

Embora a capacidade dos microcontroladores esteja crescendo assustadoramente, ainda há a necessidade de interfaceamento com dispositivos externos. Controladores de rede, memórias, decodificadores MP3, receptores GPS. Obviamente, escrever drivers para todos estes dispositivos é um tanto demorado e de certa forma inútil, pois isso já foi feito e disponibilizado de graça na Internet.

A Procyon “AVRLib” engloba códigos em várias categorias:

  • Geral (funções auxiliares diversas)
  • Periféricos Embutidos nos AVR (timers, UART, conversor analógico-digital, interfaces SPI e I²C, interrupções)
  • Periféricos Externos (displays LCD alfanuméricos, memórias diversas, interface IDE/ATA, servo-motores, decodificadores de MP3, receptor GPS, etc)
  • Suporte à Rede (dispositivos de rede, protocolos)
  • Emulação de Hardware em Software (I²C master, UART, barramento de memória, etc)

Tudo documentado e fácil de usar, o código é bem escrito e enxuto, e é distribuído sob a licença GNU GPL.