Skip navigation
1 2 3 Previous

Jon Clift's Blog

45 posts
Introduction   More oscillators!   At some point, for reasons I can't remember now, I tried simulating some simple sinewave oscillators. Here's one of them. This one uses a single transistor to provide the gain and a series of RC elements to provide the phase shift. The original circuit might have been from one of Graf's collections of circuits (I borrowed the Oscillators one from the library last year), though it's a fairly common circuit and you'll find it reproduced elsewhere. Boo ...
jc2048

The Ramp-O-Tron

Posted by jc2048 Jul 17, 2018
INTRODUCTION   More oscillator odds and ends. These aren't complete projects, just bits of tinkering and trying things out but they may be of interest for all that.   This one started out as playing with the simulator. The circuit itself came from an old applications manual published in the 1970s by Ferranti[1] (they later became Zetex and then a part of Diodes Inc), though the original didn't have the loudspeaker - I added that.   A RAMP GENERATOR   This is a ramp ...
jc2048

555cc

Posted by jc2048 Jul 9, 2018
This is some more experimenting and general 'fiddling around' sparked off by the Project14 Simple Music Maker challenge.   555 timers have been around for a long time. When the UK electronics store chain Maplin went out of business a couple of months ago, amongst the devices that I bought in their closing down sale were some 555s. I was curious to see if I could get a 555 timer producing a reasonable triangle waveform and that's the subject of this blog. It's not a project. It's not a ...
jc2048

Uni-Tunes

Posted by jc2048 Jun 19, 2018
Introduction   In the course of doing the Simple Music Maker I experimented with a few other odds and ends, both as real prototypes on a breadboard and messing around with the simulator. Here's one of them. I'll blog about a couple of the others, too. These aren't complete projects, just a bit of tinkering and trying things out, but they may be of interest for all that.   When I was in my teens and first developed an interest in electronics, one of the projects I built back then ...
Like sweet bells jangled, out of tune and harsh;   Ophelia, Hamlet [III, 1], William Shakespeare   Previous blogs: A Simple Arduino Music Box Simple Arduino Music Box: Voices Simple Arduino Music Box: Chords Simple Arduino Music Box: Envelopes   Introduction   I'm discovering that, if you build a simple, programmable device to make sound, you can't stop playing with it. With each of these blogs I say to myself that it's going to be the last, and yet here I am doi ...
Simple Music Maker Enter Your Electronics & Design Project for Your Chance to Win a Fog Machine and a $100 Shopping Cart! Back to The Project14 homepage Project14 Home Monthly Themes Monthly Theme Poll   Where, like a sweet melodious bird, it sung Sweet varied notes, enchanting every ear!   Marcus Andronicus. Titus Andronicus [III, 1]. William Shakespeare.   Previous blogs: A Simple Arduino Music Box Simple Arduino Music Box: Voices Simple Arduino Music Box: Chords ...
Simple Music Maker Enter Your Electronics & Design Project for Your Chance to Win a Fog Machine and a $100 Shopping Cart! Back to The Project14 homepage Project14 Home Monthly Themes Monthly Theme Poll   "What harmony is this? My good friends, hark!" Alonso. Tempest[III,3]. William Shakespeare.   Previous blogs   A Simple Arduino Music Box Simple Arduino Music Box: Voices   Introduction   This is more on the Arduino music box that I did for the Project14 ...
Simple Music Maker Enter Your Electronics & Design Project for Your Chance to Win a Fog Machine and a $100 Shopping Cart! Back to The Project14 homepage Project14 Home Monthly Themes Monthly Theme Poll   Introduction   This is a continuation of A Simple Arduino Music Box that I did for Project14.   The waveform for the note produced is held in a table in the Arduino's memory. That waveform is a description of the wave in the time domain, ie what you'd see on an oscillo ...
I'm back again with the resistor DAC on an Arduino Uno as a simple audio generator. I'm not clear how I came to do so many blogs on it, but this is going to be the last one.   Here's the latest sketch with commands for setting the output level as well as the frequency. This sketch is for a Uno, so may need adaption for other boards. I've changed the command to be 'FUNCtion' rather than 'SOURce' simply because I can (though I probably ought to read the SCPI spec and see what you should use, ...
I'm back with the test sketch and I've implemented a frequency sweep. This starts at 20Hz and continuously changes the frequency until it arrives at 20kHz where it starts all over again. The sweep is linear because that was what was easy to do (normally, for a frequency response curve, you'd be looking at a logarithmic scale). I might have a go at a log version later if I can get myself in the right frame of mind for some mathematics.   /* AD Test */ unsigned int tableOffset = 0; & ...
I've made a bit more progress. I now have my test code connected to the SCPI parser. That was very easy to do: I simply copied their generator example, took out the lines specific to the chip they were using, and adapted it slightly to calculate the table step. Much to my amazement it works and I can now program the output frequency.   Here's the sketch. The two includes that the highlighting wipes out are:   #include <scpiparser.h> #include <Arduino.h>   #include ...
Another diversion - I'm going all round the houses here. Who would have thought that there could be so much to a few simple resistors arranged in a network? This time I'm playing with the simulator.   When I did the hardware in a previous blog, I mentioned that the output of the resistor ladder needed to be buffered but didn't actually say what the output resistance is. Given that we know the 'R' value - for my circuit I chose 4.7k - can we say what the output resistance is analytically ...
More on the R-2R ladder as a DAC. This time some work on the firmware.   What I'm doing here is the reverse of what happens when we digitize a signal; at regular intervals I have to come up with the value for the waveform at that moment in time rather than read the value. When filtered, that will then reconstruct the waveform.   To do that I need an accurate time interval. The only sensible way to do that on the Arduino is with interrupts, so I had to have a quick read on how that ...
I'm still fiddling around with the R-2R ladder as a DAC on an Arduino. This time some hardware.   This isn't a project to be built, instead I'm experimenting with analogue stuff; you're looking over my shoulder as I get some things right and quite a lot of things wrong. What I've ended up with is messy and not really the way to do it, but if I blog about it at least you'll be forewarned and in a position to do it better.   I decided that I wanted to be able to control both the fre ...
Part one is here: https://www.element14.com/community/people/jc2048/blog/2018/04/12/arduino-r-2r-experiment   I was going to do some hardware next but got sidetracked into playing with software instead.   Here's a very well-known waveform being produced by the simple resistor-ladder DAC I built in part one.       and here's what it looked like before I got the arithmetic right       That's generated by this sketch   // //  --- Sine table ...