Well, I’m no beginner to electronics, but this is my first microcontroller that can directly interface them! So yeah, pretty cool, never messed with AVR in my life, always used PIC for my USB controller. So I’ve been messing around a bit and I’ve done some very basic stuff working with components here and there.
Read on to see the stuff I’ve done.
First thing first was a test to get me warmed up to the equipment. I had a 7-segment display lying around and a 7-seg decoder to accompany it costing me only 4 digital pins. It also made the code a helluva lot easier, basically just reflecting the integer’s lower 4 bits to the decoder. So this was my first project.
Second was the addition of a PS1 controller to control the pulses. Like I said, i’ve had experience in electronics before so really it didn’t take look after reading a brutally-sound documentation on the controller’s protocol. I wrote a small library to interface the controller and then used that to control the 7 segment display. Pretty simple controller interface after that, X increments, O decrements and start resets the counting.
Third was a simple task using the Arduino tone library. I salvaged a speaker out of some old spy toy. Then I looked up the sheet music for the tetris theme and huzza, mix that both together and you get a lovely tune, albeit with minor mistakes within.
Forth and the latest on youtube at least is the PS1 controller synth. Not so much a synth really, but you can see the name potential, yeah? Still using the monotone Arduino tone library (not any PWM based oscillator or external oscillators yet) I added the ability to use the PS1 controller to choose the note to play. IIRC X = C, O = D, [] = E, /\ = F, UP = G, RIGHT = A and DOWN = B.
Then there was the ability to change the semi-tone. L1 changes the pitch down a semitone and R1 up a semitone. This allows the full chromatic scale to be used 😀
Then you see the 7-segement display, right? That’s the current octave it is on. It should start on like 5 whichever has middle C and then you can change it to have lower octaves or higher (the lower octaves are sweet).
Press L3 and then use the right analogue stick to control the pitch according to the Y-axis. Pretty cool eh?
Follow me on twitter: @DaveeFTW