본문 바로가기

nRF51822

(12)
[nRF52 xBee EVM] BLE 테스트 - BLE HID Keyboard 테스트 (IAR) nRF5 SDK에서 제공하는 BLE예제 중에 BLE HID Keyboard 예제를 테스트 해 보았다. /examples/ble_peripheral/ble_app_hids_keyboard 소프트디바이스 설정은 [nRF51822 xBee EVM] BLE 테스트 - BLE UART(IAR) 를 참고 해서 설정하고 Arduino IDE에서 사용여부를 설정해 주면 된다. nRF5 SDK BLE Keyboard 기본 예제소스코드 int main(void) { bool erase_bonds; // Initialize. log_init(); timers_init(); buttons_leds_init(&erase_bonds); power_management_init(); ble_stack_init(); scheduler..
[nRF51822 xBee EVM] Arduino BLE UART Test nRF51822의 BLE기능을 Arduino에서 사용하기 위해 소프트디바이스 설정과 BLE 라이브러리 설치를 해야 한다. 소프트디바이스 설정은 [nRF51822 xBee EVM] BLE 테스트 - BLE UART(IAR) 를 참고 해서 설정하고 Arduino IDE에서 사용여부를 설정해 주면 된다. BLE 라이브러리는 BLEPeripheral 을 설치 해 주면 된다. 기본 으로 제공되는 BLE UART 예제를 수정해서 앱에서 전송되는 UART 값에 따라 LED On/Off 하는 예제를 작성해 보았다. #define PIN_LED1 13 // create ble serial instance, see pinouts above BLESerial BLESerial(BLE_REQ, BLE_RDY, BLE_RST)..
[nRF51822 xBee EVM] Arduino 테스트 - I2C VL53L0X, PCF8574 #include #include #define PCF_8574_ADDR 0x20 void write8(uint8_t Address, uint8_t Value) { Wire.beginTransmission(Address); Wire.write(Value); Wire.endTransmission(); } uint8_t read8(uint8_t Address, uint8_t Value) { uint8_t ret; Wire.beginTransmission(Address); Wire.write(Value); Wire.endTransmission(); Serial.println("1"); Wire.requestFrom(Address, (uint8_t)1); ret = Wire.read(); return ret; }..
[nRF51822 xBee EVM] Arduino 테스트 - SSD1306 OLED 테스트 [xBee-S EVM] 보드를 이용하면 I2C 인터페이스의 OLED를 연결해서 테스트 가능하다 Arduino에서 SSD1306 OLED제어를 위한 라이브러리를 사용하면 쉽게 LCD에 출력 할 수 있다. SSD1306 라이브러리 기본예제를 수정해서 간단히 OLED에 출력하는 예제를 구동하면 정상 동작하는 것을 확인 할 수 있다. #define LED_PIN1 13 #define PCF_8574_ADDR 0x20 #include #include #include #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an S..
[nRF51822 xBee EVM] Arduino 테스트 - I2C PCF8574 Test nRF51822의 I2C 테스트를 위해 가장 쉽게 테스트 해 볼 수 있는 I2C GPIO확장 모듈 [PCF8574 SSM EVM] 보드를 테스트 해 보았다. [nRF51822 xBee EVM] 보드의 I2C 는 아래와 같이 할당되어 있다. SCL -> IO21 SDA -> IO20 Arduino에서 PCF8574 제어를 위한 기본 코드를 실행하면 정상적으로 동작하는것을 확인 할 수 있다. #include #define LED_PIN1 13 #define PCF_8574_ADDR 0x20 void write8(uint8_t Address, uint8_t Value) { Wire.beginTransmission(Address); Wire.write(Value); Wire.endTransmission(); }..
[nRF51822 xBee EVM] - Arduino Serial, ADC Test [nRF51822 xBee EVM] 보드의 IO2는 [xBee EVM]보드의 표준 핀맵중 ADC에 할당되어 있다. Arduino 기본 예제를 이용해서 ADC 테스트 결과 값이 이상하게 출력된다. 핀맵 설정에 문제가 있을것 같은데... 뭐가 문제일까? variant.h 파일의 ADC 핀맵 정의를 보니 IO2가 PA1에 할당이 되어 있다. #define PIN_A1 (2) // P0.02 그래서 소스코드에서 ADC 핀설정을 A1으로 하니 nRF51822의 ADC값이 정상적으로 출력 되는것을 확인 할 수 있다. #define LED_PIN1 13 #define LED_PIN2 14 const int analogInPin = A1; int sensorValue = 0; void setup() { pinMode(..
[nRF51822 xBee EVM] BLE 테스트 - BLE HID KeyBoard(IAR) nRF5 SDK에서 제공하는 BLE예제 중에 BLE HID Keyboard 예제를 테스트 해 보았다. /examples/ble_peripheral/ble_app_hids_keyboard 소프트디바이스 설정은 [nRF51822 xBee EVM] BLE 테스트 - BLE UART(IAR) 를 참고 해서 설정하고 펌웨어를 다운로드 한다. int main(void) { bool erase_bonds; uint32_t err_code; // Initialize. err_code = NRF_LOG_INIT(NULL); APP_ERROR_CHECK(err_code); timers_init(); buttons_leds_init(&erase_bonds); nrf_gpio_cfg_output(13); ble_stack_i..
[nRF51822 xBee EVM] 기본 동작테스트 - I2C 테스트(IAR) nRF5x 를 이용하는 프로젝트는 대부분 IOT용 센서가 많이 있으므로 I2C 는 가장 기본이 될것 같다. nRF5 SDK에서 제공하는 I2C 예제를 이용하여 테스트 해보자. 가장 쉽게 테스트 해 볼 수 있는 I2C 스캐너 예제를 구동해 보자. /examples/peripheral/twi_scanner [nRF51822 xBee EVM] 보드의 I2C는 IO21, IO20에 할당되어 있다. 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 21 // ..

반응형