728x90
반응형
음 지난 포스팅 이후 정신없는 시간을 보내면서 포스팅을 이어나가지 못했다. 이제 조금(?) 여유가 생겨 포스팅을 이어 나가보려고 한다.
지난 포스팅은 대기압 센서 제어.
이번 포스팅에서 다룰 센서는 LIS3MDL, 자기 계(Magnetometer) 센서다. 센서 주변의 자기장이나 자기 모먼트를 측정하는 센서다. 센서의 정확한 정의는 아래 위키백과 링크 참고하기 바란다. https://ko.wikipedia.org/wiki/%EC%9E%90%EA%B8%B0%EA%B3%84
가장 대표적으로 사용되는 곳이 스마트폰이다. 스마트폰에서 나침반 기능이 가장 대표적이고, 금속물체를 탐지하는 기계에 사용된다. 센서에 대해 설명을 다루는 포스팅이 아니기 때문에 센서에 대한 내용은 이 정도로 마무리하고 센서를 제어하는 방법을 확인해 보도록 하겠다
우선 개발보드에서 제공하는 드라이버를 가져와야한다. 아래링크 참고
이 드라이버는 B-L475E-IOT01A1에서만 사용할 수 있는건 아니다. I2C 부분만 수정해주면 어느 MCU에서든 사용 가능하다.
코드는 아래와 같다.
#include "main.h"
#include "stm32l475e_iot01_hsensor.h"
#include "stm32l475e_iot01_magneto.h"
#define HTS221_DEVICE_ID 0x5F<<1
float temp;
float humi;
int16_t magneto[3];
void application(void)
{
while(HSENSOR_OK != BSP_HSENSOR_Init());
while(MAGNETO_OK != BSP_MAGNETO_Init());
while(1)
{
temp = HTS221_T_ReadTemp((uint16_t)HTS221_DEVICE_ID);
humi = HTS221_H_ReadHumidity((uint16_t)HTS221_DEVICE_ID);
LIS3MDL_MagReadXYZ(magneto);
}
}
이전에 제어했던 온습도 센서 부분도 일부수정을 했다. LIS3MDL_MagReasXYZ 함수를 이용해 센서의 값을 가져온다.
- 끝 -
728x90
반응형
'Hardware&Firmware > STmicroelectronic(STM)' 카테고리의 다른 글
STM32CubeIDE에서 개발환경 C or C++로 전환하기 (0) | 2024.11.22 |
---|---|
STM32CubeIDE에서 Terminal 프로그램 사용하기 (0) | 2022.11.11 |
ST Link V3 리뷰, 사용법, 후기 (0) | 2022.07.14 |
STM32 MCU 전원회로설계 가이드 및 주의사항 (0) | 2022.06.27 |
[STM32] 11. LPS22HB, 대기압 센서 제어하기(B-L475E-IOT01A1 개발보드 활용하기) (0) | 2022.04.15 |