Posts tagged ‘mousewheel’

Sound Sequencing Mouse

I saw this cool sound sequencer ( arduino punk console ). I don’t much about sound and that kind of stuff, but i thought it was quite nifty. And I had just gotten a ps2-mouse to work with the arduino. And hmmm, I had to use it for something. So why not try to make a sound sequencer with it ?

So I started hacking away. Unfortunately I don’t have any nice video or sound clip, but then again its more like a noisemaker and its just a mess of wires. I’ll try to get something up soon.

But it does work, you have to take my word for it or download the sourcecode and wire up your arduino and try it out.

How does it work ?

There a two modes of operation “play mode” or “sequencing mode”, and it shift between modes by clicking the middelbutton (mousewheel button) and it starts out in sequence mode.

sequencing mode

  • moving the mouse changes the frequency of the sound. It’s very simple the more you move, the more it changes (just by (X + Y) *magic_number)
  • pressing the right mouse button reduces the duration of the sound
  • pressing the left mouse button increases the duration
  • turning the mousewheel selects a tone in the sequence, either an existing or adds a new one to the sequence.

play mode

  • it plays the sequence of tones you’ve recorded.
  • the mouse wheel changes the playback speed.

So it keeps track of both a duration and a frequency, it uses a queue and its possible to add sounds to both ends. I haven’t yet hit a maximum but since its in a int array my guess is that it should be able to hold a lot 100 or 1000 of tones. And it should be possible to do some bytepacking to reduce the memory requirements, but since you have to enter each sound manually and there are no persistent storage you really don’t need that to hold a lot of tones.

Sound Sequencing Mouse sourcecode

Arduino ps2 mouse

arduino mouse and anoying encoder
I have been tinkering a bit with the arduino the last couple of days. Mostly small experiments with some of the junk had around, after some frustrations with a circuit for a rotary encoder, i “gave up” and tried hooking up a ps2 mouse. There are a nice tutorial at the arduino playground. It seemed complicated to interface with a mouse this way. But it proved to be so much easier than trying to build a circuit. The software coding is so much easier than the electrical circuits.

It was a matter of connecting 4 wires and uploading the code to get it running. But then i found out that there wasn’t support for the mouse-wheel, so i googled the datasheet for the IC, and started hacking. I ended up getting the mousewheel to function and getting output for the buttons. Along the way I refactored some of code, in order to better understand what was happening.

I still haven’t figured out what I should use the mouse for, but it was a fun hack.

Here is the sourcecode, if you want to try something with it : ps2mouse for arduino

I tried to make nice comments so it should be very straightforward to work with. As mentioned a haven’t made most of the code, just some additions and refactoring.

The mouse and the annoying encoder i couldn’t build a circuit for. It can be attached to a motor where there are a slotted wheel.

(21 nov updated code)