반응형
조도를 읽을 수 있는 센서네요.
I2C통신으로 제어
구매는 인터넷에 다수
센서 주변의 밝기를 16bit 값을 읽을 수 있어요.
저는 STM32F767ZI micom에서 사용하였습니다.
HAL 드라이버 사용.
BH1750.h 내용입니다.
초기화와 읽기 뿐이네요.
//--------------------------------------------------------------
// File : BH1750.h
//--------------------------------------------------------------
#ifndef __BH1750_H
#define __BH1750_H
#include "stm32f7xx_hal_msp.h"
//--------------------------------------------------------------
// Variables
//--------------------------------------------------------------
#define BH1750Address 0x23
//--------------------------------------------------------------
// Global Function
//--------------------------------------------------------------
void BH1750_Init();
uint16_t BH1750_Read(void);
//--------------------------------------------------------------
#endif // __BH1750_H
BH1750.c 내용입니다.
#include "BH1750.h"
//------------------------------------------------------------------------------
extern I2C_HandleTypeDef hi2c2;
void BH1750_Init()
{
uint8_t Cmd = 0x10;
HAL_I2C_Master_Transmit(&hi2c2, BH1750Address << 1, &Cmd, 1, 500);
}
//------------------------------------------------------------------------------
uint16_t BH1750_Read()
{
uint8_t buff[3];
uint16_t val = 0;
HAL_I2C_Master_Receive(&hi2c2, (BH1750Address << 1) | 0x01, buff, 2, 500);
val = (uint16_t)(((buff[0] << 8) | buff[1]) / 1.2);
return val;
}
//------------------------------------------------------------------------------
LUX값으로 변환은 16bit 값 / 1.2 네요.
간단한 수식입니다.
즐거운밤 되세요.
반응형
'STMicro STM32' 카테고리의 다른 글
[HM-10] BLE 모듈 제어하기_SLEEP모드 (0) | 2020.12.10 |
---|---|
[EEPROM] M24128 I2C EEPRM 제어하기 (0) | 2020.11.01 |
IAR 손상된 프로젝트 복구하기 (1) | 2020.10.28 |
ST 홈페이지에서 STM8S 자료를 찾아보자. (0) | 2020.09.24 |
[STM32] Task, Thread 그리고 Process (0) | 2020.08.31 |
댓글