adamon
Joined: May 15, 2009 Posts: 96 Location: Lawrence Kansas
Audio files: 3
|
Posted: Sat Jul 10, 2010 9:51 pm Post subject:
My grid sequencer project Subject description: using a BS2 as a grid sequencer |
 |
|
Hello all, I've been asked to write up a bit about my grid sequencer that I finished recently (picture here: http://electro-music.com/forum/phpbb-files/pa210180_968.jpg ) . I suggest you might first read over this explanation about how my system is set up control signal-wise: http://electro-music.com/forum/topic-42914.html .
The sequencer has the following inputs/controls/outputs:
-X clock input
-X direction switch
-X "control direction" input jack and switch for automated direction control
-Y clock input
-Y direction switch
-Y "control direction" input jack and switch for automated direction control
-A 4x4 grid that makes up the 16 steps. Each step has the following:
-Step level knob
-Step indicator led
-Step on/off switch
-Eight control outputs (4 rows and 4 columns) with amount/offset control for each
So the sequencer is made up of just a basic stamp (BS2) and a decoder (74hc154). The x and y clocks advance the step of the current position (there is only one position in the grid active at one time) on the rise of the clocks for the respective directions (left/right for x and up/down for y). The bs2 takes the two clock signals and determines the current position. The bs2 also reads in the direction controls and either adds or subtracts advancing steps depending on the state of the direction controls (a high input equals left and up, low equals right and down for x and y respectively). The bs2 then outputs the current position (in binary) to the decoder. The decoder is an active "low" device, so it serves as ground for all of the step lines.
The individual steps (the grid) is organized as four rows and four columns. Each row and each column has a separate output for the four steps related to that row or column. The outputs are tied to V+, go through the driving side of a vactrol, and then go through the network of steps which are then connected to ground sequentially via the decoder. The rows and columns are interconnected at the level pot for each step, but diodes prevent any signals from getting past the active step.
As far as programming goes, its a pretty basic (no pun intended...) setup: the clocks states are read in, a series of nested for-loops increments the steps (reads in the direction states in these as well to determine + or -), the x,y position is then translated to binary (using the DIR command in basic) with a string of if-statements, and is then output to the decoder. There are definitely limits as to how fast the clock and direction signals can get before there is aliasing, but it works well enough for my intentions.
This was my first crack at incorporating a ucontroller into a module, so its a little "rough around the edges", not to mention the BS2 is basically just a $50 interface to a $5 chip. I'm hoping to learn more advanced programming languages soon and start using PICs directly. I had the bs2 laying around from a class that I took a few years back, and decided it would be a good place to start. I imagine this could probably be implemented without a ucontroller, but I'm more than rusty on my logic diagrams... _________________ www.soundcloud.com/adamon |
|