본문 바로가기

분류 전체보기

(1991)
CH32V003 - MAX31855 온도 센서 테스트(플래시 메모리 문제 발생) CH32V003에서 Arduino IDE에서 MAX31855 예제를 컴파일 하면 에러가 발생 한다.https://nexp.tistory.com/2500 region `FLASH' overflowed by 10576 bytes플래시 메모리 용량이 부족하다. CH32V003과 같이 메모리가 부족한 MCU에서 Arduino 코드로 작성하면 문제가 될것 같다. 라이브러리를 사용하지 않고 직접 작성해 보자#include #define MAX31855_CS_BIT PC0#define MAX31855_CS_LO() digitalWrite(MAX31855_CS_BIT, 0)#define MAX31855_CS_HI() digitalWrite(MAX31855_CS_BIT, 1)#de..
CH32V003-USB SSM 보드 제작 CH32V003 SSM 보드는 CH32V003의 다양한 패키지를 테스트하기위해 만들었는데 USB 소프트웨어 스택으로 USB기능도 할수 있다고 해서 TSSOP-20핀 타입의 USB 커넥터가 있는 CH32V003-USB SSM 보드를 제작 해 보았다. USB 소프트 스택은 https://github.com/cnlohr/rv003usb 에서 다운 받을 수 있다. CH32V003-USB SSM 보드 회로도     USB는 PD3, PD4에 할당되어 있다.
STM32WB55 SSM - Arduino BLE UART MAX31856 온도 그래프 출력 테스트 Arduino BLE의 가장 큰 장점은 호환성과 유연한 코드 작성일것 같다. BLE코드에 MAX31856과 같은 온도 센서를 추가 하려면 라이브러리를 이용해서 간단히 온도 값을 가져오고 BLE로 전송할 수 있다. 우선 가장 간단하게 STM32WB의 칩내부 온도 센서의 온도 값을 BLE그래프로 출력 하는 프로그램을 작성해 보자. #include "Arduino.h" #include "STM32WB.h" #include "BLE.h" BLEUart SerialBLE(BLE_UART_PROTOCOL_NORDIC); void setup() { Serial.begin(115200); while (!Serial) { } BLE.begin(); BLE.setLocalName("STM32WB"); BLE.setAdve..
STM32WB55 SSM - Arduino BLE 램프제어 테스트 ST에서 제공하는 ST BLE Sensor 앱을 이용하여 LED제어 Service로 BLE 램프 제어를 해보자. ST BLE Sensor 앱의 LED Sevice를 등록하고 BLE로 전송되는 데이터를 처리 하는 콜백 함수에서 GPIO 로 릴레이를 제어 해서 램프를 On/Off 하는 코드를 작성 할 수 있다. #include "Arduino.h" #include "BLE.h" #define LED_BUILTIN 10 typedef struct __attribute__((packed)) { uint16_t timestamp; uint8_t led; } blue_st_led_t; blue_st_led_t ledFeature; BLEService sensorService("00000000-0001-11e1-9a..
STM32WB55 SSM - Arduino BLE HRS(Heart Rate Service) 테스트 ST에서 제공하는 ST BLE Toolbox앱을 이용하여 STM32CubeIDE BLE HRM(Heart Rate) 테스트 코드는 복잡하고 쉽게 수정하기 어려운 구조 이므로 Arduino 환경에서 쉽고 간단하게 다양한 라이브러리를 추가 해서 테스트 해볼 수 있다. 우선 기본 코드를 작성하자. BLE Service 생성하고 BLE HRS Characteristic을 등록 해 주면 된다. 이후 일정 주기로 HRS특성(ESP32-C3 HRS 테스트 예제 참고)에 맞게 값을 전송하면 된다. #include "Arduino.h" #include "BLE.h" uint16_t hrs_location = 1; int16_t hrs_ctrl = 1; byte hrs_mesure[8] = { 0b00001110, 60,..
STM32WB55 SSM - Arduino BLE UART PWM 제어 BLE UART Service는 Nordic사에서 거의 표준 처럼 제공하는 Service로 다양한 앱들이 이 표준을 따르고 있다. 그렇기 때문에 이 표준으로 작성하면 기존 앱을 사용해서 다양한 제어를 쉽게 해 볼 수 있다. 이번에는 BLE UART 서비스로 PWM LED를 제어 하는 예제를 작성해 보자. 가장 간단하게 BLE UART 서비스를 등록하고 데이터 수신후 처리 하는 코드로 기본 코드를 작성해 보자. #include "Arduino.h" #include "STM32WB.h" #include "BLE.h" BLEUart SerialBLE(BLE_UART_PROTOCOL_NORDIC); void setup() { Serial.begin(115200); while (!Serial) { } BLE.be..
STM32WB55 SSM - Arduino BLE Custom 테스트 Arduino STM32WB BLE UART 테스트에서는 라이브러리에서 기본 제공하는 코드를 이용하였지만 Custom 데이터 송수신이 필요한 어플리케이션을 위해 테스트 코드를 작성해 보았다. nRF52 UART 테스트 코드 와 유사하게 코드를 작성했다. #include "Arduino.h" #include "BLE.h" //#define Serial USBSerial #define PA10 0 #define PA4 4 #define LED_BUILTIN PA4 #define SW1_PORT PA10 //#define LED_BUILTIN 23 //PA4 #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #def..
STM32WB55 SSM - Aduino 환경에서 BLE UART 테스트 STM32WB55 용으로 STM32CubeIDE 에서 제공하는 BLE 개발 예제는 많이 않고 독자적인 라이브러리를 사용하기 때문에 호환성이 많이 떨어진다. ST에서 제공하는 Arduino 도 BLE 기능을 제공하지만 거의 안되는 기능이 많아 사용하기 힘들다. 찾아보니 STM32WB 용 BLE 라이브러리를 Arduino 코드로 제공하는 곳이 있다. https://github.com/GrumpyOldPizza/ArduinoCore-stm32wb GitHub - GrumpyOldPizza/ArduinoCore-stm32wb: Arduino Core for STM32WB Arduino Core for STM32WB. Contribute to GrumpyOldPizza/ArduinoCore-stm32wb deve..