MEGA BREAD - Keyboard - Signal source question


#1

I am currently building the MEGA BREAD project for myself and my son to tinker around with.
In the near future, this is to be a base station for robotics control and programming.
The keyboard is a 30 push button switch base with 10 outputs and 3 inputs.
From the below images you can see that the common blue wires on the schematic are the top yellow wires going to the analog input rail. They are each connected to a 3 stack switch setup on the common side.
The 3 feed lines on the right side (Red, Yellow, Blue) are the question.

Is it better to supply the feed lines with a digital source, or just connect them to analog in, or use an actual signal ?

Any help would be appreciated.

Pigeon Kicker


#2

Additional pictures added here.


#3

Another view.


#4

If I understand your circuit correctly what you are trying to do is multiplex 3 sets of 10 push button switches in to 10 input ports. In future it would be more useful to upload the fzz file of the entire sketch which would give us schematic view to more easily verify the connections For this to work one connection on each push button in the vertical direction in the above needs to go to the input port. That seem to be the case. The other connection to the push button in a horizontal row should be connecting all 10 pushbuttons in a horizontal row to each other and to one (and only one) of the 3 drive wires I think (if I’m following the wires correctly) that too is true. Now how this works is that you need to have set the pullup resistors on the input port (or add external pull up resistors to the 10 input lines) so the input port by default is held high. At rest the 3 drive wires need to be driven high from a digital output port. Thus all the input ports will be high even if a switch is pushed. To detect a pushed switch one (and only one!) of the 3 drive wires is set low. Now if a push button in the row that is selected is pressed, the corresponding input port will go low indicating the button is pushed. Thus you want the 3 drive wires to be driven by 3 digital output pins (one for each wire).

Peter


#5

I will ponder this a bit.

PK