본문 바로가기

ESP32

ESP32 전용 I2C 스캐너– I2C 장치 주소 찾기

반응형

ESP32: I2C 스캐너(Arduino IDE) – I2C 장치 주소 찾기

 

이 문서는 Arduino IDE를 사용하여 프로그래밍된 ESP32에서 I2C 장치의 주소를 찾는 방법을 간단하게 보여주는 가이드입니다.

 

 

i2c 스캐너 대표 이미지를 지브리풍으로 그렸다

 

 

ESP32 - 기본 I2C 핀은 ESP32 개발 보드마다 다릅니다. 꼭 확인하세요. ESP32를 Arduino IDE와 함께 사용할 때 기본 I2C 핀은 다음과 같습니다.

 

GPIO 22 (SCL)

GPIO 21 (SDA)

 

다른 핀을 사용하도록 코드를 구성할 수도 있습니다. 

 

I2C 스캐너 스케치 - 아두이노 IDE

 

특정 센서, 디스플레이 또는 기타 I2C 주변 장치의 I2C 주소를 찾으려면 해당 장치를 ESP32의 I2C 핀에 연결한 다음 제공된 I2C 스캐너 스케치를 실행하십시오.

 

다음 코드를 아두이노 IDE에 복사한 후 ESP32 보드에 업로드하세요.

 

#include <Wire.h>
 
void setup() {
  Wire.begin();			//Wire.begin(I2C_SDA, I2C_SCL);
  Serial.begin(115200);
  Serial.println("\nI2C Scanner");
}
 
void loop() {
  byte error, address;
  int nDevices;
  Serial.println("Scanning...");
  nDevices = 0;
  for(address = 1; address < 127; address++ ) {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("I2C device found at address 0x");
      if (address<16) {
        Serial.print("0");
      }
      Serial.println(address,HEX);
      nDevices++;
    }
    else if (error==4) {
      Serial.print("Unknow error at address 0x");
      if (address<16) {
        Serial.print("0");
      }
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0) {
    Serial.println("No I2C devices found\n");
  }
  else {
    Serial.println("done\n");
  }
  delay(5000);          
}

 

코드를 업로드한 후에는 I2C 주변 장치가 보드의 올바른 I2C 핀( SCL=GPIO22 , SDA=GPIO21 )에 제대로 연결되었는지 확인하십시오.

 

다른 핀을 사용하는 경우 코드에서 해당 핀을 조정해야 합니다. 아래 코드를 수정해야 합니다.

 

Wire.begin();

 

다음 줄에서 I2C_SDA는 SDA로 사용하는 GPIO 번호에 해당하고, I2C_SCL은 SCL로 사용하는 GPIO 번호에 해당합니다.

 

Wire.begin(I2C_SDA, I2C_SCL);

 

시리얼 모니터를 115200bps의 전송 속도로 엽니다. 아두이노 IDE 시리얼 모니터를 열고 전송 속도를 115200으로 설정하세요.

 

몇 초만 기다리면 주변 장치의 I2C 주소가 시리얼 모니터에 출력됩니다. 동일한 I2C 버스에 여러 장치가 연결되어 있는 경우 모든 장치의 주소가 표시됩니다.

 

 

ESP32 I2C 스캐너, 아두이노 IDE 시리얼 모니터

 

마무리

 

이 가이드에서는 I2C 장치의 주소를 빠르게 찾는 방법을 배웠습니다. I2C 주변 장치를 ESP32 보드에 연결하고 제공된 I2C 스캐너 스케치를 업로드하기만 하면 됩니다.

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩