Multiplexer project question

I'm trying to set up a MUX/De-MUX program that works like this:

-Eight buttons routed to 1 of 8 positions.
-when I enter SEQ mode, hitting a button causes that position to move left
and all the other positions adjust accordingly.
-status LED's for each of the 8 connections that can be flashed in sequence.

Example:
You power up,
buttons 1-8 rout to positions 1-8.
When you check status, the LED's flash in a straight line.

Then you enter SEQ mode and hit button 3.
(1-2-3-4-5-6-7-8) become 1-2-4-3-5-6-7-8).

I've been looking for the right place to start to lay this out,
but I am not a programmer and not very well versed in the command stucture I'd need to set up the logic.

Anyone have suggestions as to wheree to start- like,
is there a computer term for what I'm trying to do that would help my searches for sample code or a tutorial?

Thanks in advance!

Sorry but I can make no sense of your words.

buttons 1-8 rout to positions 1-8.

What does this mean?

When you check status, the LED's flash in a straight line.

What does “check status” mean?

What is SEQ mode, what does it do, how do you enter it?

What is your project meant to do?

You know, but you are failing to tell us.

I appreciate you trying to help so I'll try to be clearer:

I have a circuit made up of 8 modules (MODs), each with an input and an output, and each with a select button and an LED. The MODs connect one into the other in order (1 into 2 into 3 etc.).

I want to be able to vary the order of the MODs, but keep all 8 connected at all times.

So, as an example, the MODs start out in order (1-2-3-4-5-6-7-8), and by hitting button 4 (for module 4), MOD 4 switches to position 3, causing MOD 3 to switch to 4. (so now 1-2-4-3-5-6-7-8)

Along with that, after changes in the order are made, I want to be able to flash the LED's in sequence showing the order of the modules, thereby indicating which module in in which position from 1-8. So in the above example, the 8 LED's would flash 1-2-4-3-5-6-7-8.

I really hope that helps.

Hello StudioSSP,
Welcome to the forum.

I have read both your posts and am struggling to know what you have and what you are trying to do. At the very least show us a diagram, which can be hand drawn and photographed. You should also include the internal circuitry of these 'MODS' and a description of what they are for or do might be useful too.

Thank you.

I attached a basic flow chart of what I described. The internal circuitry of the mods isn't relevant, and it's not something I'm inclined to share. Suffice to say they are modules with an input and output, so whatever I come up with I need to double it for both the input bus and the output bus.

I have a Mega 2560 and an UNO, as well as two Arduino compatible 8-1 multiplexers. I'm thinking it's similar to an arpeggiator program.

Thanks for helping.

studioSSP:
I attached a basic flow chart of what I described. The internal circuitry of the mods isn't relevant, and it's not something I'm inclined to share. Suffice to say they are modules with an input and output, so whatever I come up with I need to double it for both the input bus and the output bus.

I have a Mega 2560 and an UNO, as well as two Arduino compatible 8-1 multiplexers. I'm thinking it's similar to an arpeggiator program.

Thanks for helping.

The diagram is much better than your description! (Assuming I have correctly understood it!)

The internal circuitry of the mods isn't relevant, and it's not something I'm inclined to share.

Please understand that we (me and anyone else trying to help you) are helping you voluntarily and if we think we need a piece of information in order to help you then refusing to give it is probably going to result in you not getting help.

I'm thinking it's similar to an arpeggiator program.

I don't have the slightest clue what an arpeggiator is or what it's program might be, sorry.

If you use two 8 to 1 multiplexers back to back like that it will allow any single MOD to connect to any single POSITION at any one time. If MOD2 is connected to POSITION 6 then no other MOD can connect to any other POSITION. This is because there is only 1 path available through the multiplexers. You need an 8 x 8 non-blocking matrix, which will have 64 cross points. What you put in each cross point depends on the nature of the connection you are trying to make, but it's probably going to either a relay contact or a CMOS analogue switch, something like this:

I've illustrated each cross point with a relay, but it could be a CMOS switch or even a physical, manually operated switch. As I don't know the nature of the signal I can't advise on that.

An arpeggiator is something in music which breaks up a chord into individual notes and plays them one at a time in a repeating sequence. Not sure if that gets us any further,

Without knowing if this signal that needs multiplexing is a digital one or an analogue one makes it almost impossible to supply the detailed help you require.

An arpeggiator is something in music which breaks up a chord into individual notes and plays them one at a time in a repeating sequence.

Thank you Mike, I can't say the name or the description has the slightest hint of familiarity to me. Something new I have learnt.

The intro to this song is made using a VCR3 arpeggiator, done in the early 70s

Grumpy_Mike:
The intro to this song is made using a VCR3 arpeggiator, done in the early 70s
https://m.youtube.com/watch?v=x2KRpRMSu4g

:slight_smile:
If you hadn't told me otherwise I would have assumed it was someone with very good ability with a keyboard!

Thank you Mike and everyone for your ideas. I didn't know an 8x8 multiplexer existed! (told you I was new at this). That's clearly seems perfect for my project. I guess I'd just need to see some code that sets an 8x8 MUX up to get me started. The logic of how everything switches I can work through once I know how to set it all up.

Mike, you mentioned using the ADV3205 Buffered Analog Crosspoint Switch. That seems to have better specs than a regular mux in terms of passing audio. Does it function the same way?, and can you use a Mega 2560 and the IDE to program it?

It is not a cross point switch it is just a multiplexer, google the part number and look at the data sheet.

Maybe this thread might explain what you are trying to do. The main relevance to you starts on page 2.
https://forum.arduino.cc/index.php?topic=575192.0