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.
Uma 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.
Utilizando 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.
Com 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.
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.