In embedded systems, oftentimes it is needed to generate analog outputs from a microcontroller. Examples of such include, generating audio tones, voice, music, smooth continuous waveforms, function generators, voltage reference generators, etc. Traditionally in such cases the most common techniques applied are based on Pulse Width Modulation (PWM), resistor networks and external Digital-to-Analog Converter (DAC) chips like MCP4921. The aforementioned techniques have different individual limitations and moreover require external hardware interfacing, adding complexities and extra cost to projects. XMega micros are equipped with 12 bit fast DACs apart from PWM blocks and again it proves itself to be a very versatile family of microcontrollers. In this post we will have a look into this block.
Zapta has shared the design files on github for his ARM PRO MINI, which is an open source ARM M0 microcontroller development board that could be handy for quick prototyping and as a starting point for your own ARM based custom designs.
Arm Pro Mini board
- Prototyping friendly. Compatible with standard soldieries breadboards and can be soldered to a standard 0.1” proto board.
- Straight forward barebone design. Customize for your own PCB design by selecting the portions of the circuit you need.
- Single package install of the free and fully feature IDE (NXP Eclipse/LPCXpresso).
- Zero software installation when using with the mbed.org online IDE.
- Full support of Windows, Mac OSX and Linux.
- Easy firmware upgrade using a file drag and drop. Programmers and adapters are not required, even if you are bringing up your own board!
- Supports optional debuggers (such as the OM13014,598) for single stepping and full debugging capabilities.
- I/O library and a hello world example (with serial printing over USB, parallel port io, blinking LED, and timing).
- No-nonsense open source license (no commercial restrictions, sharing and attribution not required).
Kale_3D has posted this instructable about his build of an Arduino-based calculator with a laser cut wooden enclosure.
In this Instructable I will show you how to make an Arduino calculator that is just as good as any other calculator (well… sort of). Even though it’s probably not practical due to it’s size, repetitive use of the equals button (due to the lack of keys), and cost (You can probably buy a calculator that does the same thing for $2), It is really fun and adds a few skills to your inventory. Let me tell you how I got started on this project. It all starts at school where the original calculator was made by my friend/teacher Gabe. If your curious how the old version looked click here. Soon enough students began to play with it and soon broke it. I was the only student who knew how to fix it so I decided I might as well try. In the process I basically took the whole thing apart and started from scratch. I also rewrote most of the code. I learned alot, spent lots of time debugging, and added many new features. In the end it was a project definitely worth doing. The good thing is that now that I figured it out you don’t have to. Let’s get started.
Brett Oliver’s latest version of Arduino-controlled binary LED clock uses a 4×20 character LCD and three MAX7219-based serial 8-digit seven segment displays to show time and date, which is synchronized to the DCF77 time code transmitter in Germany. The display brightness is auto adjusted to room level using a photoresistor as ambient light sensor. Brett also implemented a PIR sensor for motion detection that will automatically shut down the main 7 segment display and LCD display when there is no body to watch the clock.
Arduino-based binary LED clock
This Arduino-based sound direction locator uses a Pac-Man like ghost that runs towards the direction of the origin of sound. It uses three microphones amplifier modules arranged in a triangle to locate the direction of the sound and an 8×8 LED grid display for output. The Arduino Uno senses the incoming audio levels from the three microphones and moves the ghost in the direction with the loudest sound detected by turning on the appropriate LEDs on the grid.
Arduino sound direction locator
Check out this video showing it in action.