Home Arduino Lovers Descobrindo o Endereço I2C dos módulos

Descobrindo o Endereço I2C dos módulos

Fillipe Welausen
784 visualizações

A comunicação I2C facilita demais o desenvolvimento de projetos com Arduino ou Raspberry PI pois utilizando apenas 2 pinos  (SDA e SCL) podemos comunicar (ler/escrever) com diversos módulos (Displays, Sensores de pressão, Sensores de PH, etc.).

A ideia principal da comunicação I2C é que cada item tenha o seu endereço Hexadecimal e no momento da comunicação somente o item/endereço solicitado responderá. E quando não temos o manual do equipamento, como fazemos para saber o endereço I2C?

A solução está no código abaixo, ele faz uma varredura e exibe uma lista dos endereços encontrados, caso seu equipamento esteja conectado e não seja encontrado verifique se você não inverteu os pinos de comunicação.

#include <Wire.h> void setup() {  Serial.begin(9600);  Wire.begin();    byte Return;    Serial.println("Scanning I2C bus...");  for(byte I2CAddress = 1; I2CAddress <= 127; I2CAddress++)  {    Serial.print("0x");    if (I2CAddress<16)      Serial.print("0");    Serial.print(I2CAddress, HEX);    Serial.print(" (");    if (I2CAddress<10)      Serial.print("  ");    else if (I2CAddress<100)      Serial.print(" ");    Serial.print(I2CAddress);    Serial.print("): ");        Wire.beginTransmission(I2CAddress);    Return = Wire.endTransmission();        if (Return == 0)      Serial.print("OK!");    else      Serial.print("   ");          if (I2CAddress % 5)      Serial.print("    ");    else      Serial.println();  } } void loop() { } 

Para ver a lista basta abrir o “Serial Monitor”, ao lado de cada endereço que respondeu a varredura, teremos um “OK”.

Nosso display foi encontrado no endereço Hexadecimal “0X27”.

Se essa dica ajudou você, aproveite para curtir nossa fanpage e seguir nossos Canal no Youtube.

Até a próxima!

Você também pode gostar

Confira as nossas políticas de privacidade, e decida se aceita. Ou cancele, se desejar. Aceito Leia Mais