Arduino Nano 33 BLE Sense Sensor 라이브러리 소개
아두이노 나노 33 BLE 감각이 되었다 2019년 7월 출시 와 아두 이노를위한 실제 단계까지했다! Arm Cortex-M4F 기반 nRF52840 을 사용하여 Nano 33 BLE가 출시 되면서 Atmel 기반 8 비트 마이크로 컨트롤러의 시대가 늘어 났습니다. 값싼 아두 이노 클론의 확산과 함께 이것은 아두 이노가 벽에 글을 쓰는 것을보고 단순하게 유지하는 것이 더 이상 반죽을 가져 오지 않을 것이라는 것을 본 결과 일 것입니다. 결국 상당히 쓸모없는 Arduino 프로젝트의 양은 요즘 약간 지루해 보이며 Nano 33 시리즈와 같은 더 복잡한 제품으로 인해 심각하게 멋진 프로젝트의 새로운 시대가 도래 할 수 있습니다.
이전에 The Hacky Super Loop Arduino Nano 33 BLE Sense 예제 기다리 셨습니다 .이 보드에 대한 의미있는 작업 예제가 부족한 문제를 해결하려고했습니다. 각 센서의 인터페이스가 항상 이상적인 것은 아니며 Mbed OS 를 사용하여 센서 값을 수집 하는 데 사용할 수있는 구체적인 예는 널리 사용되지 않습니다 .
Arduino와 함께 Mbed OS를 사용할 수있는 능력은 Arduino의 진정한 발전입니다. 마지막으로, 더 복잡한 Arduino 프로젝트를 정렬하는 합리적이고 상대적으로 결정적인 방법입니다! 센서 데이터 수집을 단순화하는 동시에 Mbed OS의 힘을 활용하기 위해 Nano33BLESensor가 탄생했습니다.
Nano33BLESensor 라이브러리 Nano33BLESensor는 Mbed OS 를 활용 하여 간단한 방식으로 프로그램에 통합 할 수있는 링 버퍼에 센서 측정을 자동으로 배치합니다. 즉, Nano33BLESensor는 측정 값을 "백그라운드"버퍼에 배치하고 나중에 프로그램이 시간이있을 때 버퍼에서 측정 값을 검색 할 수 있습니다. 여기 GitHub 에서 찾을 수 있습니다 . 또한 Arduino의 Library Manager를 사용하여 찾을 수 있으며 Arduino IDE를 사용할 때 검색 할 때 사용할 수 있습니다. 사람들이 시작하는 데 도움이되는 간단한 예도 있습니다.
Nano33BLESensor 기능
- 다음 센서 측정을위한 공통 인터페이스로 클래스 구현
- 3 축 가속도계
- 3 축 자이로 스코프
- 3 축 마그네틱
- RMS 마이크
- 기압
- 온도 (습도 포함)
- 근접
- RGBC 색상
- 몸짓
- Mbed OS 사용으로 프로그램과 쉽게 통합 할 수 있습니다.
- 링 버퍼 사용을 통해 판독 센서 측정과 관련된 시간 제약을 완화 할 수 있습니다.
- 시작하는 데 도움이되는 BLE 및 직렬 플로터 용으로 설계된 모든 센서에 대한 훌륭한 예입니다.
결국 결과는 다음과 같습니다.
- 온보드 센서의 매우 간단한 초기화.
- 센서 데이터 수집을 위해 초기화 이후에는 코드가 필요하지 않습니다.
- 센서 데이터의 매우 간단한 사용.
- 서로 다른 센서 간의 공통 인터페이스.
- Mbed OS를 사용하면 센서 측정 값 읽기가 "백그라운드에서"발생하고 주 프로그램 루프에서 벗어나게됩니다.
Nano33BLESensor 예
Nano33BLESensor 라이브러리는 직렬 및 Bluetooth를 모두 사용하는 센서 측정 데이터 출력을 포함하는 일련의 강력한 예제와 함께 제공됩니다. Arduino의 Serial Plotter 와 Bluetooth LE Explorer 와 같은 Bluetooth 패킷 분석 도구를 사용하여이 데이터를 동시에 볼 수 있습니다 . GitHub 저장소에서 사용할 수있는 몇 가지 예는 다음과 같습니다.
- Nano33BLESensorExample_accelerometer
- Nano33BLESensorExample_gyroscope
- Nano33BLESensorExample_magnetic
- Nano33BLESensorExample_IMU
- Nano33BLESensorExample_colour
- Nano33BLESensorExample_gesture
- Nano33BLESensorExample_proximity
- Nano33BLESensorExample_microphoneRMS
- Nano33BLESensorExample_pressure
- Nano33BLESensorExample_temperature
- Nano33BLESensorExample_AllSensors-SerialPlotter
다음은 이러한 몇 가지 예의 결과입니다. 테스트 결과 화면입니다.
시각적으로 허용되는 방식으로 데이터를 보려면 Bluetooth LE Explorer를 특정 방식으로 구성해야합니다. 아래 애니메이션은이 설정을 보여줍니다.
Nano33BLESensor가 센서 사용을 단순화하는 방법
다음은 Nano33BLESensor가 Nano 33 BLE Sense를 사용하여 센서 데이터 수집을 단순화하는 방법에 대한 몇 가지 예입니다. 전체 API의 경우 GitHub 저장소를 확인할 수 있습니다 .
온보드 가속도계 초기화, 데이터 읽기 및 인쇄.
Arduino_LSM9DS1
#include <Arduino_LSM9DS1.h>
float accelerometerX, accelerometerY, accelerometerZ;
void setup()
{
IMU.begin()
}
void loop()
{
if(IMU.accelerationAvailable())
{
IMU.readAcceleration(accelerometerX, accelerometerY, accelerometerZ);
Serial.printf("%f,%f,%f\r\n", accelerometerX, accelerometerY, accelerometerZ);
}
}
Nano33BLESensor
#include "Nano33BLEAccelerometer.h"
Nano33BLEAccelerometerData accelerometerData;
void setup()
{
Accelerometer.begin()
}
void loop()
{
if(Accelerometer.pop(accelerometerData))
{
Serial.printf("%f,%f,%f\r\n", accelerometerData.x, accelerometerData.y, accelerometerData.z);
}
}
온보드 컬러 센서 초기화, 데이터 읽기 및 인쇄.
Arduino_APDS9960
#include <Arduino_APDS9960.h>
int colourR, colourG, colourB, colourC;
void setup()
{
APDS.setGestureSensitivity(50);
APDS.begin();
APDS.setLEDBoost(0);
}
void loop()
{
if (APDS.colorAvailable())
{
APDS.readColor(colourR, colourG, colourB, colourC);
Serial.printf("%d,%d,%d,%d\r\n", colourR, colourG, colourB, colourC);
}
delay(1000);
}
Nano33BLE 센서
#include "Nano33BLEColour.h"
Nano33BLEColourData colourData;
void setup()
{
Colour.begin()
}
void loop()
{
if(Colour.pop(colourData))
{
Serial.printf( "%d,%d,%d,%d\r\n", colourData.r, colourData.g, colourData.b, colourData.c);
}
}
온보드 온도 센서 초기화, 데이터 읽기 및 인쇄
Arduino_HTS221
#include <Arduino_HTS221.h>
float temperature, humidity;
void setup()
{
HTS.begin();
}
void loop()
{
temperature = HTS.readTemperature();
humidity = HTS.readHumidity();
Serial.printf("%f, %f\r\n", temperature, humidity);
delay(1000);
}
Arduino33BLESensor
#include "Nano33BLETemperature.h"
Nano33BLETemperatureData temperatureData;
void setup()
{
Temperature.begin()
}
void loop()
{
if(Temperature.pop(temperatureData))
{
Serial.printf("%f,%f\r\n", temperatureData.temperatureCelsius, temperatureData.humidity);
}
}
결론 Nano33BLESensor는 Nano 33 BLE로 흥미로운 가능성을 제공합니다. 공통 인터페이스를 사용하여 온보드 센서의 사용을 단순화하고 Mbed OS를 활용하여 판독 센서 측정과 관련된 시간 제약을 완화합니다. 이 라이브러리가 트랙을 따라가는 누군가에게 유용하기를 바랍니다!
참고 문서
3. Mbed OS
4. Hacky Super Loop Arduino Nnao 33 BLE Sense 예제
'개발자 > Arduino' 카테고리의 다른 글
Nano 33 BLE Sense 기반 미세 먼지 센서 데이터 전송 장치 (0) | 2020.12.05 |
---|---|
Arduino와 Processing 상호 제어 (0) | 2020.12.04 |
SSD 1306 OLED 디스플레이 원리 (3) | 2020.12.03 |
LSM6DS3 3D 가속도계와 3D 자이로스코프 미세 진동 감지 (0) | 2020.11.30 |
SmartEverything LSM6DS3 라이브러리 사용법 - 3축 가속도계와 3축 각속도 센서 (0) | 2020.11.23 |
Arduino Nano 33 IoT 최강 가이드 (0) | 2020.11.20 |
아두이노 라이브러리 설치하는 방법 3가지 (0) | 2020.11.18 |
Arduino Nano 33 BLE Sense 에서 Bluetooth LE 시작하기 (0) | 2020.11.18 |
더욱 좋은 정보를 제공하겠습니다.~ ^^