본문 바로가기

I2C

(18)
[STM32G4 SM EVM] STM32G431 Arduino I2C 테스트 - BMA180 3축 가속도 센서 STM32G4-SM 보드의 I2C는 PB10(SCL), PB11(SDA)에 할당되어 있다. I2C 인터페이스로 동작하는 BMA180 3축 가속도센서 모듈 을 이용하여 3축 가속도 센서 값을 출력하고 그 값을 이용하여 롤, 피치 기울기 값을 출력하는 예제를 구동해 보자 가속도 센서 모듈을 연결할 수 있는 확장 테스트 보드의 핀맵은 아래와 같다. 우선 BMA180 3축 가속도 센서의 값을 출력 해 보자 #include #include #include "bma180.h" BMA180 bma180 = BMA180(); void setup() { Wire.begin(); Serial.begin(115200); bma180.setAddress(BMA180_ADDRESS_SDO_LOW); bma180.SoftRese..
[STM32-64 Ardu] STM32F732 Arduino - BNO055 9축 IMU 센서 테스트 STM32F732 Arduino I2C 테스트를 참고 해서 9축 IMU센서 BNO055 센서 모듈을 테스트 해보자. 우선 BNO055 센서 라이브러리를 설치 한다 https://github.com/adafruit/Adafruit_BNO055 BNO055 기본 예제 #include #include #include #include /* Set the delay between fresh samples */ #define BNO055_SAMPLERATE_DELAY_MS (100) // Check I2C device address and correct line below (by default address is 0x29 or 0x28) // id, address Adafruit_BNO055 bno = Adafru..
[STM32-64 Ardu] STM32F732 Arduino I2C 테스트 - TMP100 온도 센서 테스트 STM32F732 보드에서 Arduino I2C 테스트를 진행 해보자. 가장 간단하게 테스트 할 수 있는 SSM 확장 보드를 이용해서 I2C 온도 센서 모듈 TMP100 을 이용하여 온도 값을 읽어오는 예제를 테스트 해 보자. 우선 가장 간단히 I2C로 온도 센서 값을 읽어 올 수 있는 코드를 작성해서 테스트 해보자 #include #define TMP100_ADDR 0x4c float read_temp(unsigned char address) { byte temp_reg = 0; byte a, b; float temp=.0; Wire.beginTransmission(address); // Start transmission Wire.write((byte)temp_reg); // 온도 레지스터 Wire.e..
[STM32F103-48 SSM EVM] STM32CubeIDE I2C 테스트 - PCF8574 Read/Write [STM32F103-48 SSM EVM] 보드에서 STM32CubeIDE 환경으로 I2C 테스트를 진행 해 보았다. 우선 STM32CubeIDE로 새로운 프로젝트를 생성 한다. 프로젝트 생성은 C++로 했다. C로 해도 되지만 추후 C++ 호환 라이브러리(Arduino용) 를 사용하기 위해서 C++로 하면 좋다. 기본적인 핀 할당 및 I2C 핀을 보드에 맞게 설정 하자 I2C 설정을 위해 파라미터를 수정 한다. 여기서는 I2C Speed 만 400Khz로 수정 해 주었다. 클럭 설정은 외부 8Mhz로 설정 했다. 이렇게 설정이 완료하고 저장 하면 기본 I2C 코드가 생성된다. I2C Write 테스트를 위한 I2C 모듈은 I2C 8bit GPIO 확장 모듈 PFC8574 보드를 사용 할 예정이다. PCF..
[nRF52 xBee EVM] Arduino 테스트 - PCF8574 I2C nRF52 xBee EVM 보드로 I2C IO확장 PCF8574보드를 테스트를 하려고 Arduino 코드를 실행 했는데 I2C가 동작 하지 않는다 nRF5 SDK 의 IAR 툴을 이용하여 I2C 테스트할 때는 문제가 없었는데... Wirte 함수에서 멈춰 있다. 왜 그렇지? 옵션중에 -DNRF52 가 있는데... -DNRF52를 DNRF52810으로 해 주어야 하는 것 아닐까? 플래그 설정을 -DNRF52810_XXAA 로 변경하니 에러가 많이 발생한다. 다시 DNRF52로 설정하면 컴파일은 잘 되지만 I2C가 정상 동작 하지 않는다. Generic_nRF52810.build.extra_flags=-DNRF52 NRF_TWIM1 를 0으로 바꾸면 어떨까? I2C쪽 코드를 살펴보니 TowWire 설정이 N..
[nRF52 xBee EVM] 기본 동작 테스트 - I2C 테스트, LM75 온도 센서 (IAR) nRF5x 를 이용하는 프로젝트는 대부분 IOT용 센서가 많이 있으므로 I2C 는 가장 기본이 될것 같다. nRF5 SDK에서 제공하는 I2C 예제를 이용하여 테스트 해보자. 가장 쉽게 테스트 해 볼 수 있는 I2C 스캐너 예제를 구동해 보자. /examples/peripheral/twi_scanner [nRF52 xBee EVM] 보드의 I2C는 IO26, IO25에 할당되어 있다. pca10028.h 파일에서 핀맵을 [nRF51822 xBee EVM] 보드에 맞도록 수정 한다. //#define ARDUINO_SCL_PIN 7 // SCL signal pin //#define ARDUINO_SDA_PIN 30 // SDA signal pin #define ARDUINO_SCL_PIN 26 // SCL..
[ESP32 xBee EVM] Arduino I2C 테스트 - PCF8574, 거리 측정 센서 VL53L01 [ESP32 xBee EVM] 보드의 I2C는 IO22(SCL), IO22(SDA) 에 할당되어 있다. ESP32 I2C SDA (default : GPIO 21) SCL (default : GPIO 22) I2C GPIO 확장 PCF8574 SSM 모듈 보드와 거리 측정 센서 VL53L01 모듈을 이용하여 거리값에 따라 LED 거리정보를 측정해 보자 #include #include #define PIN_LED1 13 #define PCF_8574_ADDR 0x20 void write8(uint8_t Address, uint8_t Value) { Wire.beginTransmission(Address); Wire.write(Value); Wire.endTransmission(); } uint8_t rea..
#STM32G030 EVM - I2C 테스트 (TMP275 온도 센서의 온도 측정) #STM32G030 EVM - I2C 테스트 (TMP275 온도 센서의 온도 측정) STM32G-SSM EVM 보드는 표준 핀맵을 통일화 해서 다양한 확장보드에 공용으로 테스트 할 수 있도록 제작한 보드 이다. I2C도 핀 맵핑에 따라 동일한 위치에서 테스트 가능하다. SSM EVM표준 핀맵 SSM EVM 확장 테스트 보드 연결SSM EVM 표준 핀맵을 테스트 할수 있는 다양한 확장 테스트 보드를 이용해서 I2C 테스트를 진행 해 볼수 있다. 우선 I2C로 온도 값을 읽을 수 있는 TMP275 온도 센서 모듈을이용하여 SSM EVM 확장 테스트 보드에 연결하여 I2C를 테스트 해 보자. STM32CubeIDE를 이용하여 기본 핀맵 설정하고 I2C 셋팅을 한 후 코드 생성하면 자동으로 I2C 설정 코드가 ..

반응형