Communicatie tussen Arduino's middels I2C
Omschrijving
Hoe werkt het
In feite heb je 2 lijnen nodig:
SDA: data
SCL: Klok puls
Simple gezegd, de SCL zorgt voor de synchronisatie ‘snelheid’, zo’n puls geeft aan dat er op de SDA lijn data klaar staat.
De master bepaald de Klok puls.
Als je beide lijnen uitleest met een logic analyser, dan ziet dat er zo uit:
Als je meer wilt weten over I2C, dan vind je genoeg op internet.
Bijv.: How I2C Communication Works & How To Use It with Arduino (howtomechatronics.com)
Hieronder vind je een leuk projectje, 1 Master ESP8266 en 4 Slaves NANO.
Het is een heel eenvoudig programma, de master spreekt een slave aan met hallo, en de slave antwoord terug. Je kan dit zien door de monitor op de master te opnenen.
Omdat de ESP8266 op 3,3 Volt werkt, ziet er een level shifter tussen. (BSS138)
Je kan het I2C_Scanner programma gebruiken om de NANO’s te zien.
Schema
Downloads
Voorbeeld code:
4x Nano communicatie (251 downloads )
I2C_Scanner:
I2C_Scanner (227 downloads )