Can I do this with a uProcessor?

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET
Loading thread data ...

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

The micro can do the muxing. Hunt around in this thread and you find a place where I explained the idea of the code that does it. You still need at least 8 port bits to do the 16 switches.

If you are willing to use douple pole switches, you can do a bit better:

1 means connected to the switch 0 means not connected

sw connections no R0-C0 R1-C0 R2-C0 R0-C1 R1-C1 R2-C1

1 0 0 0 0 1 1 2 0 0 0 1 0 1 3 0 0 1 0 0 1 4 0 1 0 0 0 1 5 1 0 0 0 0 1 6 0 0 0 1 1 0 7 0 0 1 0 1 0 8 0 1 0 0 1 0 9 1 0 0 0 1 0 10 0 0 1 1 0 0 11 0 1 0 1 0 0 12 1 0 0 1 0 0 13 0 1 1 0 0 0 14 1 0 1 0 0 0 15 1 1 0 0 0 0

This give 15 switches on only 5 port bits.

Reply to
MooseFET

I once did a 64-key keyboard scanner with a 6502 - a very nice processor, as long as you don't push its limits - and I wrote in N-key rollover, which is really easy to do - just put them into a queue.

And it's true, keystrokes don't need much debouncing. :-)

Of course, if you make an error, you have to correct it, usually by "backspace". :-)

Cheers! Rich

Reply to
Rich Grise

Are you not reading any responses here? People have been explaining multiplexing for about three days now!

You need ONE output for ANY NUMBER OF ROWS OF SWITCHES, and ONE INPUT FOR ANY NUMBER OF COLUMNS OF SWITCHES!

Activate one row, and read the state of the columns. If there is an active input, decode it and put it into your queue. Activate the next row, and read the state of the columns. If there is an active input, decode it, and put it into your queue. Activate the NEXT row, read the inputs, and if one is active, put THAT into your queue. Continue, until you've scanned all of the rows.

I don't know how much more simply it can be explained, short of actually doing your homework for you, and I charge $240.00/hour to do that.

Cheers! Rich

Reply to
Rich Grise

">

I've read each one carefully, and some a number of times actually. Lots of reading, but I'm still not quite understanding everything yet.

Reply to
tempus fugit

Draw a bunch of lines on paper, like you are making graph paper.

The vertical lines are wires The horizontal lines are wires Every place they cross is a switch. The wires do not connect to each other other than via a switch.

Reply to
MooseFET

500 times a second, at 500hz there's room for an 20(ish) cycle debounce count before the operator will notice that the machine isn't responding instantly.

Bye. Jasen

Reply to
Jasen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.