I am looking for an IC that will take:
power
ground
and many rx and tx io's that I can cycle through so I can make a single rx/tx on my Arduino expandable on my breadboard.
sorry about grammar... iPhone in a meeting lol
I am looking for an IC that will take:
power
ground
and many rx and tx io's that I can cycle through so I can make a single rx/tx on my Arduino expandable on my breadboard.
sorry about grammar... iPhone in a meeting lol
I am looking for something where I can switch from a GPS device to say a GSM modem. I don't care if they signal, I want to switch devices by programming logic (get 10 gps inputs from rx0 tx0, then connect to rx1 tx1 to send data, etc)
So I looked around based on your answer... am I correct in thinking that I will need two chips?
CD4021B - (4021 chip) Input Shifting
74HC595 - (595,596 chip) Output Shifting
I would probably have to synchronize the out & in shifting to have multi RX/TX lines from one Arduino TX and RX line?
Or perhaps, I can just use one 7491: 8-bit Shift Register, Serial In, Serial Out, Gated Input
If I understand correctly you want to multiplex your serial IO between (say) 10 devices.
If so then a chip like the 4067 will do, it's an analogue mux so can be used for Tx and Rx.
Rob
Ok that's what I mean Rob, thanks... that think looks like a !@$% to solder!
Also, all the devices you want to be able to switch to must share a common circuit ground. A switching matrix using relays is simple and could be made to work but they would take up more space and power then a electronic switching matrix might.
Lefty
Lefty, does that mean the grounds for the two must be connected to he same power?
ALL devices that talk to each other must have a common GND, their V+ can be from different powers supplies.
Rob
A few tangents for you to consider...
If your example of GPS is actual, look at newsoftserial. I use it for the 4800 baud GPS stream in a couple of projects, checking it and grabbing what's available each time through loop(). I don't drop data and I have plenty of time to do other processing.
If you want to switch to something else only to transmit, you can share a serial port if you set the baud rate the same. I did this on a MEGA to share one serial port between a GPS and serial LCD (because I had stuff on all the others; that MEGA is a busy boy). I just had to start with the serial set to the baud rate the lcd expected on power up, issue a baud rate change command to it and then switch to 4800 baud. Writes went to the LCD and reads came from the GPS.
And just to make sure you are aware - MEGAs do have 4 serial ports. If you look around, you will find some 1280 based MEGA compatibles for not much more than UNOs. I just got a MiniMega 1280 the other day from JK Devices for only $30. It is not shield compatible though. But there are other variants that are reasonably priced also.
I don't know how much expansion you are after ('many' is vague)
but if you had this kind of functionality you could open an Rx & Tx channel and get all the data you wanted from one source (5v compatible with these 2 parts), then switch to another channel for another sets of writes/reads.
Other logic families and analog versions are available also. Also smaller mux/demux options (1 of 8, 1 of 4).