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.
Probably most of you know that ESP8266 can be used as WiFi connectivity module or as stand alone programmable device with same internet features. Anyway for serious applications probably it is best to use it as module along with another microcontroller. Electro-labs have shared pretty neat development board based on PIC18F microcontroller which comes with buttons, LEDs, LCD, FT232RL based USB connectivity and integrated ESP8266 module.
WiFi module can be controlled by microcontroller or directly from computer via FT232RL chip. Normally ESP8266 module is controlled with AT commands sent from microcontroller or from computer terminal.
The Raspberry Pi is one of the most acclaimed inventions of our days – a credit card sized computer with the potential to improve our lives in an incredible variety of ways, and educate a whole new generation of hardware and software engineers. In honor of the recent Pi Day (March 14th, or 3/14) and the recent launch of Raspberry Pi 2, here are five of the most interesting (and sometimes weird) innovations we could find that were built using the microcomputer of the future (strong enough, but hopefully not used to play awesome slots at Platinum Play).
1. Picrowave by Nathan Broadbent
According to his website, Made by Nathan, the web and mobile developer Nathan Broadbent first thought of a smarter microwave after reading a post on Reddit about how food should come with QR codes that tells the microwave what to do with them. He built a better microwave using the Raspberry Pi, with better sounds and a redesigned keypad, automatically updated clock – with voice commands, a bar code scanner, and the possibility to control it remotely using a smartphone. Continue reading
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.