Here is the calculator firmware calculator – you will need to compile it with MPLAB XC8 C compiler.
Below is the link to the C source code for the project. It is compatible with the MPLAB X XC8 compiler only.
As Christmas is now on the horizon, I thought it might be fun to design an electronic dice, to give as presents to your family, or just use whilst playing traditional family games during the holidays.
This dice project has seven LED’s which can display the possible outcomes of rolling the dice…in other words, 1, 2, 3, 4 , 5 or 6. A single button instigates the ‘rolling’ of the dice, as the outer six LED’s rotate to indicate motion. When the button is released, the dice value is displayed on the LEDS’s, flashing at a frequency of 2.5Hz.
Here are a few pic’s of the dice in action:
Here the dice prototype is in reset. All LED’s are off.
Here we have pressed the button and been returned the value of 3 for our roll of the dice.
Now we have pressed the button again and been returned the value of 5.
The LED’s rotate as the button is pressed.
The software is very simple. The rotating LED’s when the button is pressed uses a Timer0 interrupt routine to illuminate the six LED’s on the edge of the dice to indicate the rolling of the dice. When the button is released, the LED’s display the value of your roll of the dice.
Here is the C source code which was compiled using Microchip’s XC8 compiler, targeted at a 16f690 microcontroller. dice-c
For those of you who wish to construct this project, here is the circuit diagram (hand drawn). dice_circuit_diagram
Have fun and Merry Christmas!
The world of hifi can be a daunting and confusing place at first, especially when looking at different models of speakers and amps and CD players and streamers and the mighty list of technical terms they come with. Hopefully we can help bust some of that jargon here. Are we missing a word or term you’d like to know the meaning of? Leave us a comment below.
This project was created to promote our new vinyl record department in our Hereford store, the idea being to place this scrolling text message display in the shop window to entice customers to browse. As you can see from the short video below, I’ve yet to build the final display project – what you see is a breadboard prototype.
Any message can be displayed within reason – it is simply edited from within the firmware. One of the challenges of this project was the fact that although there are many scrolling text projects to be found on the web and shown on You Tube, they invariably use pre-built software display libraries to cope with the driving of the 8×8 matrix displays, the communication between the microcontroller and MAX7219 display driver, and then the animation of the text – these libraries give you no real insight into what is actually going on inside the microcontroller.
I wanted to ‘roll my own’ display/ comms/ animation code in C language, but found very sparse information available. I hope to set this right over the course of this blog post, and hopefully you will want to create your own scrolling text display, or just use the information on offer here as a tutorial to go on to better and bigger things.
Here is a pdf file containing the C language source code for the project. It was compiled using Microchip’s free XC8 C complier, and flashed to the microcontroller with the PICkit 3.
A Moving Magnet phono cartridge is comprised of a tiny magnet, located at the end of the cantilever of the stylus that sits between two coils. One coil caters to the left aspect of the music, while the other is for the right – this allows for the stereo sound. This magnet vibrates between the two coils and induces a small electrical current within them in the process. Because the magnet is so small, it needs less tracking/downward force to correctly manoeuvre between the grooves of a vinyl record. A Moving Iron cartridge makes use of essentially the same construction, but swaps the magnet for a tiny piece of iron or other light-weight and ferrous alloy. The iron is lighter and so reduces the necessary tracking force even further.
Moving Magnet is the most common type of phono cartridge, so many integrated amplifiers now feature a Moving Magnet phono stage and many manufacturers, such as Rega and Ortofon design and construct a wide range of MM cartridges with varying levels of quality. While every MM cartridge makes use of this fundamental construction, the way that this is implemented within a cartridge varies as do the materials used, allowing for differing qualities and a unique sound-signature depending on the brand and model.
Moving Coil cartridges feature an inverted version of the Moving Magnet design. Instead of a magnet sitting on the end of the cantilever between two coils, the coils are attached the cantilever and a magnet is placed near them. Because space within the cartridge at this level is extremely limited, the coils are made from an exceptionally fine wire.
The coils tiny size results in a very low output. While Moving Magnet cartridges tend to offer a more relaxed, warmer sound, Moving Coils are known for offering a better level of detail and a wider stereofield than the Moving Magnet alternatives. Moving Coil Cartridges will often require an external phono-stage specific to their construction.
We’re absolutely astounded by the depth and clarity that this little box can push out, although not surprised that Naim were the masterminds behind its conception. We’ve got ours up and running and have compiled this little step-by-step guide to help make the relatively easy process just that little bit easier. Purchase one here!
Electronics giant Philips invented the RC5 protocol for controlling electronic equipment such as CD players, VCR’s and audio amplifiers way back in the 1980’s. The RC5 standard has been adopted and used with great success ever since, which means it is probably the most common IR remote control format in your home today. We have recently been playing around with a PIC microcontroller based RC5 decoder programmed in C, with the purpose of testing any RC5 based remote handset you may have. The image above shows the RC5 code for a button press of ‘1’ on the CD player remote control decoded into binary and displayed on the 14 LEDS – the address data for a CD player is ’20’ hence the 10100 binary pattern on the green LEDS. The RC5 command for ‘1’ is unsurprisingly 000001 in binary as shown on the red LEDS. The two start bit LEDS (yellow) are showing 11 binary and the toggle bit is off. In the pic below the ‘1’ button has been pressed again showing the toggle bit now being set (blue LED).
I got to thinking that an interest in hi-fi can be a bit geek ( in a good way ) so I thought one of my latest geek projects might be of interest to some of you. You could build the project ‘as is’ without learning embedded C programming or you could use the project as a spring board to extra geekiness and weekend fun – I’ll leave that to you
Learning embedded C can be hugely rewarding and creative. The tool chain needed to get you started is either free (MPXLAB IDE and XC8 C compiler are both free downloads from the Microchip website and the pickit 3 needed to download compiled C code to your target microcontroller (16f690 in this case) is less than 50GBP.
We recently had a customer present this faulty Alchemist Forseti integrated amp for repair – I’d guess this dates from the 1990’s and has been well looked after. It’s a bit of a bruiser as you can see from the extensive heatsinking!
Unfortunately it developed a DC fault on the loudspeaker outputs and destroyed the customers speakers, so it’s now in the naughty corner awaiting surgery.