There is long known fact that diode can be used in reverse mode to generate small current when placed on a light. Computer scientists at Columbia University thought that this phenomenon could be used for dual purpose – harvest energy and take images. They constructed 30×40 array of diode pixels on a PCB. When this array is placed in environment with more than 300 lux brightness it is capable to collect enough energy to power microcontroller and take a picture every second.
It seems pretty attractive perpetual photographing machine which would take images and power itself whenever there is a light. Collected power is stored in capacitor between image shoots. It is hard to tell what microcontroller is used here but it is definitely a low power (MSP430 could do the trick). They also calculated that 210×200 sensor grid could rise frame rate up to 30 images per second alternatively it could be equipped with low power wireless communication that could constantly send data to remote host.
Microcontroller timers are meant to count clock cycles in hardware and there are many ways and configurations where timers are handy. First of all timers are meant to work purely in hardware without utilizing CPU, secondly timers help generate waveforms like PWM, trigger events, count time between events and so on. But there is one use that in most cases is missed and not documented – precise single shots that allow to generate only single pulse shot with precise length. And this method doesn’t require CPU to be involved – just set and forget.
The idea of this method lies in using fast PWM (refer to datasheet for more info) mode a bit differently. Normally in this mode timer works by counting to TOP value, somewhere in between there is a MATCH value where timer outputs HIG and drops to LOW when TOP is counted. This way there is a PWM signal generated. Josh came up with idea that in this case we can generate only single pulse by setting MATCH value above the TOP and set initial timer counter value above TOP. This way timer counts and when finds MATCH value it triggers pulse to HIGH level and keeps it until counter reaches MAX value and pulse drops to LOW. Next time when timer counts from zero to TOP it never reaches MATCH value and so no more pulses are generated. This way you get total control of your single shots that length can vary depending on initial settings. Pulse length can be as short as 63ns and there is no CPU involved. There is a C demo for that if you would like to experiment.
If you like shooting, then you need proper and not monotonic target system. Shooting cans may become boring and too engaging when you need to set things up before practicing. Bob decided to make things more easier with Atmega168 based target rig, where he placed several servo motors on 3D printed structure covered by steel angle for protecting sensitive parts.
Arduino on target structure is equipped with Xbee for remote control. It can work in several different modes like single target, dual target mode with random patterns. From there you can thing of many ways what targets you attach to servo motors – color circles, faces, that vary in size and so on.
Who would think about using electronic device instead of real birthday cake. But who knows – there might be few nerds who would like such thing. Maksym thought it would be cool to create such device. It not only mimics birthday cake but also have piezo sensor which reacts to air flow. So it can be blow on to make it flicker and go out.
Circuit is built around Attiny44 microcontroller with 9 LEDs attached to it. Cake is made of two PCBs where one is dedicated to control circuit while another carries LEDs with sensor in the middle. There are many things that can be improved here. First of all it needs random LED flickering for better candle mimic. There probably would be great to have varying number of LEDs to match the birthday age. Probably different Charliepelxing algorithm could do the trick. Some nice 3D printed case wouldn’t hurt also.