



Today we are going to look at and resolve one of the problems that we can run into when hooking up multiple devices via I2C – what to do when two devices need to use the same slave address? You can refer back to those articles if you need to bring yourself up to speed on how the bus works, which would be a good thing to know before delving into today’s content. I2C with Arduino and Raspberry Pi – Communicating between a 5-volt bus Arduino and 3.3-volt bus Raspberry Pi.Building an I2C Slave – Learning how to run an Arduino as either an I2C master or slave and building a custom I2C sensor.Getting started with the I2C Bus – Learning what the bus is, what its origin was and how to use it with the Arduino.I have done many projects that have used I2C devices and have also covered the bus extensively in three sets of articles and videos: We have worked with the I2C bus many times before here in the DroneBot Workshop. It might require specific hardware features that may be available only on some boards.The Inter-Integrated Circuit, or I2C, bus has done a lot to simplify the design of systems using microcontrollers, sensors, displays, and microcomputers. Note: while the library is supposed to compile correctly on these architectures, Arduino MKR ZERO (I2S bus & SD for sound, music & digital audio data).Arduino MKR WAN 1300 (LoRa connectivity).This library is compatible with the avr, megaavr, esp8266, esp32, rp2040, sam, samd, samd_beta, stm32, mbed_edge, mbed_nano, mbed_nicla, mbed_opta, mbed_portenta, mbed_rp2040 Written from scratch alternative for the classic Arduino OneWire library providing: (1) fixed handling of the 1-wire bus low-level activities related to its open-drain characteristic, (2) 1-wire touch support, (3) new I/O interface with enhanced parasite powering support, (4) advanced search filtering, (5) overdrive mode support, (6) Dallas thermometers driver, (7) OneWire compatibility interface, (8) improved overall software architecture.
