Can I change the pins on the communication for a Master-Slave arduino Wire transmission? I want to communicate between 2 arduinos, but on one of them A4&A5 are taken
No, you can't change the pins used for I2C. They are hard wired to the ATmega chip's TWI hardware implementation (SDA + SCL). See Wire Library and Two Wire Serial Interface
Related
one micro-controller support all adc dac, spi, uart except I2C, but i want to use i2c communication.How to make i2c port using these protocol?
It would help if you told us which microcontroller you are using, and whether you need your micro to be an I2C master, a slave, or either.
If you just need to an I2C master, and you don't need to worry about other masters on the same bus (arbitration) or very slow slave devices (clock stretching), then I2C is very simple to implement using two GPIO pins. Search for " software i2c master" and you'll find things like I2C Implementation on 8051.
If you need to do arbitration because there may be multiple masters on the bus, or if you need to handle slave clock stretching, then read the I2C specification from Philips NXP. Take the simple code you find through Google and add the functionality you need.
I'm working with a driver board which communicates with a PC program via USB -> FTDI -> TX/RX into the microcontroller. The serial pins are not broken out on the board and I need to talk to the board from another microcontroller (like Arduino). My plan is to just solder directly to the RX/TX pins on the microcontroller despite the fact that the FTDI is powered on and RX/TX of the FTDI will be electrically connected to those pins. I will not be transmitting anything via USB. My assumption is that the FTDI chip will be passive and I can just drive those pins from my Arduino.
Will this cause me any issues? I'm just concerned if the FTDI passively drives those pins low or high, I'll get "smoke" if I follow through with my plan. Perhaps I should put some resistors on my Arduino's RX/TX just as a safeguard.
It's very possible some of my logic is flawed here. Thanks in advance for your advice!!
Cheers
You need to check with the particular FTDI chip you're using on that board.
Some FTDI chips support RS485 and because of the required multidrop capability they operate as open-drain allowing to connect multiple devices.
Even if this solves your hardware problem, you still need to consider how the (live) FTDI chip may respond to your 'unexpected' incoming (RX) data stream. For example, possible XON/XOFF flow control appearing on TX especially since there won't be a consumer from the PC side and the internal FTDI buffers will eventually fill up.
I have an Atmega328 which has to be a slave of an I2c network (because this Atmega is one of the sensors of a bigger network and it's the only available bus), and read+process data from an ADC ADS1100 on request from an I2C master.
I would like to reduce the workload of the master outside of this system: it can't be the mediator of 2 slaves communicating with each other so I have a problem here and I need split the I2C in two so that the atmega can be master of a channel and slave of the other.
Is the library SoftwareSerial compatible with the I2C interface of the ADS1100 so that I can use the proper one with the master and any GPIO for a separate channel toward the ADC? Or do I have to multiplex the proper I2C for listen-acquire-transmit operation? Is there another option?
Thanks in advance.
My question is pretty straightforward. I've got a big old machine that has an RS-485 connection on the back and I've got a converter from RS-485 to 9 pin serial.
The device I'm connecting to sends out an ACK signal to see if anything is connected. How do I wire up my Arduino (Uno) to the 9 pin serial connector so that I can read the ACK (and in future write back) and display the ACK signal in the Serial Monitor?
I would first check the voltage of the data lines coming from the RS-485 converter. The arduino ports are expecting 0 to 5 volts. Also, look-up the standard for RS-485 to determine what should be on the lines from the RS-485.
Notice, the arduino does NOT directly implement an RS-232 port. Rather, it has a USB port for connecting to a PC. I know that the RS-232 connection does NOT use TTL or 0 to 5V signals, and would question what signal levels are produced by an RS-485.
If the RS-485 does NOT generate 0 to 5 volts, then you will need to get an arduino RS-485 shield.
Finally, in fact, this is what you need to do. I just searched on "RS-485 Arduino" and found multiple hits.
Now, this is the good news, because once you have installed a RS-485 shield then you connect the shield to pins 1&2 on the Arduino and you have a serial connection!!
In most cases you need to wire only RX, TX and Ground signals (RX of Arduino to TX of RS-232 and vice versa). But it really depends on your RS-485 converter, if you need any additional lines. If this converter is half-duplex, may be you will also need to control it with DTR signal. You can use any digital IO on UNO then, and control it in software. Also you need to know the speed of serial port of this old machine, and configure UNO serial port accordingly.
I want to start a project using arduino microcontroller board. In this project I will use a Mini Thermal Receipt Printer, barcode scanner and the arduino ethernet shield to transfer data to my pc and from my pc. my question is, what arduino board should I buy for such project? is the arduino uno is enough?
The choice of a right Arduino depends on the sort of peripherals you need for example if your barcode reader is SPI enabled and you can't bit-bang SPI then this counts for Hardware SPI usage and as such will take the SPI pins on the UNO which has support for only 1 SPI hardware connection but if you want more SPI connections go for a MEGA ,similarly UART, two wire etc are communication protocols that may be needed by you based on the chipssets you use in your project, also GPIO's are there which just turn on and off.
I will suggest starting off with an Arduino UNO which DIP ATmega328P and get a spare Bootloader acquipped ATmega328P chip standalone in case as a newbie you magic-smoke the chip on the board.