

I've tried to match the formatting (heading levels etc.) to the existing doc pages, but it's likely that this still needs some handwork to integrate. Please find a proposal for documentation below, comments welcome. While looking at the Wire docs at I noticed that the end() method is also not documented yet. Given there is no repository for the library reference, I'm going to report this here. When the clock pin changes from high to low (the falling edge of the clock), the called upon device transmits it's data back to the Arduino over the same line.īecause the 12C protocol allows for each enabled device to have it's own unique address, and as both master and slave devices to take turns communicating over a single line, it is possible for your Arduino to communicate (in turn) with many devices, or other Arduinos, while using just two pins of your microcontroller.Recently, some new timeout API methods were added to the AVR Wire library (see arduino/ArduinoCore-avr#42), which should be documented. As the clock pulse changes from low to high (known as the rising edge of the clock), a bit of information containing the address of a specific device and a request for data, is transferred from the Arduino to the I2C devices over the SDA line.

The I2C protocol involves using two wires to send and receive data: a serial clock pin (SCL) that the Arduino pulses at a regular interval, and a serial data pin (SDA) over which data is sent between the two devices. Once that message is received, it can then be viewed in the Arduino serial window. Arduino 1, the Master, is programmed to request, and then read, 6 bytes of data sent from the uniquely addressed Slave Arduino. Several functions of Arduino's Wire Library are used to accomplish this. In this example, two Arduinos are programmed to communicate with one another in a Master Reader/Slave Sender configuration via the I2C synchronous serial protocol. In some situations, it can be helpful to set up two (or more!) Arduino boards to share information with each other. Learning Examples | Foundations | Hacking | Links
