Go Down

Topic: is reverse Multiplexing possible? (Read 14904 times) previous topic - next topic

Grumpy_Mike

At the bottom of the reply box is a triangle saying "Additional Options".

raschemmel

Click the "Additional Optioins"  link in the lower left of the screen and select "Browse for file"
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

raschemmel

Quote
follow me for a sec........... one pot...16 different positions/pins = 15 "Virtual" pots 


If you had "Virtual Pots" you would need to "SET" each pot and read the setting into an array that can be read back using an index.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

sonnystikz




If you had "Virtual Pots" you would need to "SET" each pot and read the setting into an array that can be read back using an index.


im not too familiar with arrays and indexes

sonnystikz

Here is a sample schematic for the basic Idea i have- I wanna take a pot into a de-mux- then the de-mux channels into a mux and that analog out into the arduino.

The purpose --  each mux input channel can be assigned to a bank- so when i read channel 0 on the mux (not de-mux)
the pot will control bank 1 parameter, channel 1 on the mux will control bank 2...etc

I can assign push switches to change the banks

raschemmel

Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

sonnystikz


I can't read any of the labels on that schematic.


Yea I'm using MultiSim for my schematics- the screen copy function has a very low resolution- but if you follow the lines you'll get the idea of what im trying to do-  -  pot goes into de-mux-  de- mux goes into mux-  both 4067s are controlled with the same parallel dig signals to open the same pin simultaneously on both- the common i/o on the mux goes into the arduino analog

Quote

So ? Then guess it's high time you learned.
http://arduino.cc/en/Tutorial/Array 

https://opensourcehardwaregroup.com/arduino-short-course-public-pages/section-2-control/tutorial-13-how-to-use-arrays-with-arduino/ 

https://www.youtube.com/watch?v=ejPNlXb4_Vk 

  https://www.inkling.com/read/arduino-cookbook-michael-margolis-2nd/chapter-2/recipe-2-4 



i'll check it out when i get a sec

sonnystikz

ok i think i understand the array-  no thats not the function i need-  I need each bank available in real time-  if there are 10 total pots and 8 banks each- thats a total of 80 parameters i can assign  and I need all 10 of the pots to be available simultaneously at any given moment-

Paul__B

#23
Jul 29, 2014, 05:55 am Last Edit: Jul 29, 2014, 02:06 pm by Paul__B Reason: 1
It seems to me there is a bit of confusion here in the concept of "reverse multiplexing".

In general, you do not switch outputs, you almost always switch inputs.  For any given device, you have a choice of inputs each of which can be enabled or disabled, and possibly in combination.  You always need a "default" - an input state which will be chosen when no other input is.  For an analog device, the default is ground - no signal at all, while similarly for a digital device the default must be either HIGH or LOW - you cannot leave it open or you will be getting some degree of random input.

Now you may need to combine inputs from alternate sources.  For an analog system (generally, audio) you can mix signals using resistors.  For a digital system, you can use an AND (NAND), OR (NOR) or XOR gate to perform a desired function.

While it may be possible in an analog system, to alternately switch an output to one of a number of mixing inputs, each of which may potentially receive one or more sources and thus form a mixing matrix, in general you do this by viewing it in the other direction, each receiving input stage contains switches to enable or disable each of the sources from which it may receive signal.  So your "output" multiplexing consists of a series of control lines to enable the corresponding input each of the receiving devices.

This applies even more strictly in the digital realm.  Since each input to a mixer (gate) must always have a defined state, then it is gated by a control line which determines whether the particular data source will "choose" it, or by not so "choosing", will gate that input to the state (LOW for a following OR gate, high for an AND) which permits the alternate inputs to be recognised.  The data line itself however, runs in parallel (a "bus") to all the input gates to which it is to be distributed.

Clear as mud, I suppose.

steinie44

This 4051 multiplexer/demultiplexer will do 8 to 1 or 1 to 8. Use 2 IC's for 16 to 2

http://garagelab.com/profiles/blogs/tutorial-4051-mux-demux-with-arduino

Quote

follow me for a sec........... one pot...16 different positions/pins = 15 "Virtual" pots 

But there are only 8 analog inputs.
Unless you want to go 1 to 16 and then 16 to 1. But what good would that do?

raschemmel

Quote
ok i think i understand the array-  no thats not the function i need-  I need each bank available in real time-  if there are 10 total pots and 8 banks each- thats a total of 80 parameters i can assign  and I need all 10 of the pots to be available simultaneously at any given moment-   


Then multiplexing won't work If you only have one pot then you would need bank select toggle switches or some key entry method to select the bank you wish to control with the pot and only one could be selected at any moment and all the others would be disabled if you are not willing to store the settings in an array. You can't have your cake and eat it too.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

sonnystikz


Quote
ok i think i understand the array-  no thats not the function i need-  I need each bank available in real time-  if there are 10 total pots and 8 banks each- thats a total of 80 parameters i can assign  and I need all 10 of the pots to be available simultaneously at any given moment-   


Then multiplexing won't work If you only have one pot then you would need bank select toggle switches or some key entry method to select the bank you wish to control with the pot and only one could be selected at any moment and all the others would be disabled if you are not willing to store the settings in an array. You can't have your cake and eat it too.


Yea i know-  I will have a push button switch for each bank- 
10 Pots should work if each goes into a seperate de-mux/mux setup- in theory anyways ....... there is 1 pot per channel- 10 physical channels- each pot gets demuxed to 8 analog outs then muxed back to 1 analog out- so for 10 pots- thats 20-4067s - 2 for each channel/pot-and 10 total analog outs going into the arduino--  they are all controlled with the same 4 digital pins so the same pins open on each 4067 simultaneously-   when a bank is selected- all 10 pots switch to the corresponding bank

raschemmel

I'll reserve comment until I see a schematic of a portion of it. Try drawing it by hand and posting a photo of it.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

sonnystikz


I'll reserve comment until I see a schematic of a portion of it. Try drawing it by hand and posting a photo of it.


Heres a real pretty one for you

rushed thru it- so i hope you enjoy the art-  but this is a very watered down basic concept of what i want to

PaulRB

#29
Jul 30, 2014, 07:12 am Last Edit: Jul 30, 2014, 08:10 am by PaulRB Reason: 1

this is a very watered down basic concept of what i want to


I'm sorry but I still don't get the concept. Your diagram just looks like a hilarious way to waste multiplexer chips to me. The pot could just be fed directly to the Arduino. Perhaps a diagram that demonstrated how it would work with 4 pots and 4 banks would better demonstrate your idea. But not with that diagram app, needs to be something more suitable, even a sharp pencil and squared paper would be preferable. Have you thought of trying Eagle or Fritzing?

Paul

Go Up