OI/SO: Singing solar lamp

user warning: Unknown column 'i18n.language' in 'where clause' query: SELECT DISTINCT b.* FROM blocks b LEFT JOIN blocks_roles r ON b.module = r.module AND b.delta = r.delta LEFT JOIN i18n_blocks i18n ON (b.module = i18n.module AND b.delta = i18n.delta) WHERE (i18n.language ='en' OR i18n.language ='' OR i18n.language IS NULL) AND ( b.theme = 'garland' AND b.status = 1 AND (r.rid IN (1) OR r.rid IS NULL) )ORDER BY b.region, b.weight, b.module in /var/alternc/html/o/orangeseeds/usr/drupal-6/modules/block/block.module on line 456.

The whole circuit is hidden inside a solar-powered garden lamp. There is enough space to install a microprocessor that is thus protected from the rain! We then just need to add a piezzo to emit the sounds.

We used an AtMega664 for its memory capacity (64k programmable flash memory) you can find this chip in both DIP and SMD format. The solar panel generates 3.8 volts in full sun: it's enough to power the IC and the piezo. That's all, only 3 components!

Thanks to high-speed PWM (faster than audible frequency) converter does not need filtering, so it is connected directly to the piezzo. Don't expect high quality sound however ...

Ingrédients

  • 1 x Atmega664
  • 1 x piezzo
  • 1 x solar-powered garden lamp

Instructions

Programming the Atmega664:
  1. Copy the attached files oizo.c and soundsata.H in a directory
  2. Compile: gcc, winavr, AVRStudio
  3. Configure the Atmega664 fuses: remove the div8 fuse
  4. Upload the program on an ATmega664

Attached files

Schema and PCB, format Eagle (optional, not needed if you use a DIP chip) AVR-C code and sound data (one bird)
AttachmentSize
moduloixo_ver1_double_0.brd31.2 KB
moduloixo_ver1_double_0.sch227.48 KB
oizo.c1.35 KB
sounddata.h168.31 KB