32

If you're already familiar with digital multiplexer chips, good news! They can be used for analog signals as well. http://playground.arduino.cc/Learning/4051 The basic premise is exactly like with digital signal multiplexing. You use the 4051 chip as a "lane changer" and read the signal of whatever lane you tell the chip to switch to. the 4051 uses 3 ...


24

How can this work without any multiplexer? It doesn't. The keypad board seems to have just switches, with maybe some diodes we can't see. However, the left board looks like it has a processor on it. Almost certainly, multiplexing is being done in firmware. The multiplexing algorithm works something like this: Drive one row high, the others low. Enable ...


14

I am the author of the ShiftPWM library and I just updated the documentation to include schematics and a lot more general info for normal LED's, LED strips and high power LED's. You probably already started your project, but since this page gets a lot of visitors, I'd still like to provide a detailed answer. If you want to control 500 LED's with ShiftPWM, ...


14

Break the buttons into rows and columns, like is done with a keyboard. 12x12 will give 144 possible buttons, so should work. Then you'll need to use encoders to translate those lines into binary. 3 of 8-bit encoders will take in all 24 lines and give you 9 bits to connect to your microcontroller.


13

The front inverters are used to buffer the input signal. Without the front inverters inputs A and B would be 3 load units each instead of 1, since you would have to drive both the rear inverters as well as both of the and gates used with the input's term in the multiplexer logic.


12

It depends on what you mean by "control". Are you confining yourself to simple combinatorial logic, or are serial protocols allowed? In theory, you could control an arbitrary number of outputs from a single pin by using something like the Dallas/Maxim 1-wire (serial) protocol to drive a set of I/O expander chips. Similar approaches can be used with I2C, SPI,...


11

No, it's not a multiplexer. A multiplexer would select one of both inputs, in an ALU both inputs may be used simultaneously, depending on the pending operation. ALU stands for Arithmetic and Logic Unit, and those are the types of operations it performs. If the operation calls for a left shift of register R1, then the second input is ignored, but you ...


11

Charlieplexing takes advantage of tristate pins of the microcontroller, but it costs extra diodes and somewhat more complex programming. With N IO-pins you can address N(N-1) switches / LED's. The Charlieplexing with switches article describes how it works with switches and LEDs


11

It looks OK, but the resistors should go on the cathode side. With the resistors on the anode side your display will change in brightness depending on the number of LEDs which are on. A "1" will appear brighter than an "8". Also keep in mind that the TLC59213 is a registered device: you'll have to latch the data on the inputs to the actual driver with a ...


11

Are you familiar with shift registers like 74HC595? It requires 3 pins from your RPI and you can control 8 output lines. You can easily cascade them effectively controlling n×8 output lines. Data is serially clocked into the shift register and once all 8 output bits are transferred, you latch the bits onto the outputs. I was about to add the datasheet here,...


10

It may be important to remember that the Arduino's ATmega chip itself is using an analog MUX. The Uno-based (ATmega328) chips only have a single ADC. The 6 analog inputs are actually a MUX that connects to that one ADC. This is why you can only read 1 analog input at a time. When expanding analog inputs, it may be necessary to consider how much time it ...


10

Correct: The voltage divider will not be necessary with the particular p-channel MOSFET, since its gate-source voltage is rated at +/-25 volts. The NPN transistor is necessary, because you would not want to expose the Arduino GPIO to 18 volts. What is even more necessary is a base resistor on the BJT. This is useful to ensure that the base-emitter current ...


10

The obvious answer is muxing, this means that you make electric path's dynamically. So just iterate through the whole matrix, one at a time, or as many ADC (Analog to Digital Converter) inputs as you have. If you got 3 ADC's then you can read one row at a time, then you change the inputs to a mux and voilla, you are now reading the second row, and then you ...


9

When you multiplex a large number of LEDs individually the common way is to use an N x M matrix. The time is divided in N steps, in each step you activate one of the N row lines, and the column lines that correspond of the LEDs you want to enable. Note that the row lines can each carry M times the LED current, which asks for some buffering. Each LED is on ...


9

You could use a cheap and readily found 74HC595 (or similar) shift register to easily control hundreds of LEDs using just a few pins from the arduino. Theres even a a tutorial on this on the Arduino site! Serial to Parallel Shifting-Out with a 74HC595 Shifting Out & the 595 chip At sometime or another you may run out of pins on your Arduino ...


9

There is no* way to measure trace impedance with a simple multimeter. Measuring trace impedance requires, at minimum, an oscilloscope and an impulse generator of some sort. Here's an article about how you can measure the impedance of a cable (or PCB) with a signal generator. Doing "Proper" impedance measurements requires a special tool, called a network ...


9

If we redraw your circuit without the diodes, we have this: simulate this circuit – Schematic created using CircuitLab Now imagine you drive Column-1 High and Row-1 Low (and Column-2 and Row-2 are Hi-Z) because you're trying to activate L1 in one direction. You'll find that you'll also have current flowing through L2, L4 & L3 since the 3 of them ...


9

Without diodes... you'll get phantom rectangles. For instance in your example (2,2) (2,3), (3,2), and (3,3); you chose an ironic example by choosing a rectangle. If you actually press all four, it will work. But if you press any three corners of the rectangle, the fourth corner will also appear to be pressed, even though it's not. That keypad is ...


8

As others have noted, an ALU's function is to perform (typically either binary or unary) arithmetic and logical operations on input busses. You can break an ALU down into three primary stages along with some control logic that configures those stages. Argument Selection: this stage really really is just a Multiplexer for each input that allows for the ...


8

If you are referring to a digital mux/demux, then the flow of information is in only one direction, from the input to the output, and the signals are strictly digital. This means that exact voltage levels are not preserved, just logic states. A basic analog switch is SPST, so it can connect two signals together and the flow of information can be in either ...


8

The problem is you have on and off mixed up. The pnp transistor will be at cutoff when the output is high, not low. So you are turning both of your displays on during the 1000us wait.


8

How do they work? They have integrated charge pumps to create internal supply voltages that are greater than ±25 V. Is it simple to build a circuit like this out of discrete parts? Possible? Yes. Simple? Not particularly.


8

No connect means just that -- don't connect the terminal to anything. They often appear on devices because the manufacturer uses a standard form factor that has more terminals than are needed for that particular device.


8

You say a micro in the base unit needs to identify the board type, and that these plugin boards already have a IIC bus going to them. This is a no-brainer. Put some device the micro can detect on the IIC bus at a unused address. The easiest would probably be the cheapest and smallest IIC EEPROM you can find. In manufacturing you can write whatever ...


8

It's not too complex, I think, assuming you worked out the equation you wanted correctly (I'll assume you did okay there.) Start by looking at the equation for a 2-in MUX: $$ \begin{align*} M_2(A,B,S) &= A\cdot \bar{S} + B\cdot S \end{align*} $$ From this, you can derive some useful results: $$ \begin{align*} M_2(0,x,y) &= x\cdot y \\ M_2(x,0,y) &...


8

The operation of any multiplexer (MUX for short) is conceptually the same, be it analog or digital. In essence you have a set of numbered data inputs (usually a power of 2, say \$N=2^n\$ inputs named, say, \$X_0, X_1,\$ ... etc.), a set of digital selection inputs (in number of \$n\$) and an output. A mux works by sending one (and only one) data input ...


8

Analog multiplexers work just fine for I²C signals (if you keep the impedance and parasitic cpacitance small enough, which is usually not a problem). I²C multiplexers are more complex because they are controlled through the I²C bus itself. You need one if you do not have a spare GPIO pin to control it.


8

A digital encoder or Priority Encoder. They will often have \$2^n\$ inputs and \$n\$ outputs. Additionally there will be an any-active output and an enable input. You can combine multiple encoders together using these extra pins


8

Space Division Multiplexing sounds like snake-oil, but it's worth treating it as a topic for study, as there are costs and benefits when applying it. It's defined as pushing several independent channels of data over a shared medium. That encompasses both the 'is it really doing something?' of parallel wires, and the very clever 'how do they do that?' of ...


8

This notation means a bus line with the width noted by the number written next to it. In your case it is 2-bit wide bus. It is used to make the drawing less convoluted by reducing lines drawn.


Only top voted, non community-wiki answers of a minimum length are eligible