Many times researchers want to connect two identical SenseAir K-Series (K-30, K-33) sensors to an Arduino Uno to measure and validate the readings of both sensors. However, by default, identical sensors have the same address. Arduino Uno will not allow you to communicate with two devices if they have the same address.
There are 2 solutions to this problem:
1. If you purchased a SenseAir K-series sensor SDK, you can change the sensor's address in the internal memory. Download CO2Meter.com's DAS® software and install it on a PC. Start the software, connect your sensor via USB, and open the tab called "Configure Sensor." Assign a new address to the sensor.
2. If you order 2 SenseAir K-series sensors without the USB SDK, you must contact CO2Meter.com before the sensors ship to have us change the address in one of the sensors.
Once you have unique addresses your Arduino Uno will recognize and communicate with both of them.
With these tools, the K30 sensor will operate in multi-drop environment like RS485 MODBUS and I2C as the sensor has a programmable address. So when using the Arduino you may address multiple sensors as unique devices, like I2C devices. With the addition of a 485 transceiver at the Arduino and each sensor the UART RX/TX from the Arduino can communicate with multiple sensor slaves. The sensors provides a R/T line to control the transceivers direction when it respond to an inquiry from the Arduino master.
You can read more on this in other application notes and the I2C and MODBUS communication documents (zip).