GP2Y0A41SK0F

GP2Y0A41SK0F 的概述以及GP2Y0A41SK0F 用OSS-ECAL的提供情况。GP2Y0A41SK0F是 Sharp 公司生产的距离测量传感器 IC(40.0 至 300.0mm)。
MCU interface : ADC

注意: 本资源的原始语言为英语。 翻译仅为方便起见提供概要,可能使用了机器翻译,我们对翻译的准确性和合理性不作任何保证。 此外,在进行实际设计等操作前,请务必参考最新版本的Datasheet。

GP2Y0A41SK0F

概述

GP2Y0A41SK0F 是一款集成了 PSD(位置感应型检测器)、IR-LED(红外发光二极管)和信号处理电路的测距传感器单元。该传感器采用三角测量方式,因此不受目标物反射率差异、环境温度、工作时间等因素的影响,能够实现距离检测。它根据检测距离输出相应的电压,因此也可作为接近传感器使用。

特点

  • 测距传感器由光电二极管阵列(PSD)、红外线LED和信号处理电路组成。
  • 短测量周期(16.5 ms)
  • 测距范围: 40.0 至 300.0 mm
  • 紧凑型尺寸(29.5×13.0×13.5mm)
  • 模拟输出类型

用途

  • 非接触式传感器开关
  • 清洁机器人
  • 节能传感器
  • 娱乐

OSS-ECAL规格

API 函数

OSS-ECAL API 函数基本上被假定为周期性Thread (TASK) 的函数调用。

etSTS oGP2Y0A41SK0F_START(void)

oGP2Y0A41SK0F_START 函数是用于启动 GP2Y0A41SK0F 的 AD 转换的 API 函数。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_HAL_ADCHAL ADC 错误
eSTS_ERR_OTHERS_RUN其他组件正在执行程序
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL (STM32F4)
eSTS_ERR_ADC_OBJECTADC 对象选择错误
etSTS oGP2Y0A41SK0F_READ( float32* rlt )

oGP2Y0A41SK0F_READ函数用于确认 GP2Y0A41SK0F 的AD转换是否完成,读取AD转换值,将该AD转换值转换为距离,并将该距离保存到rlt中的API函数。

AD转换值到距离转换公式
Voltage value = (AD conversion value × VDD) / ( 2AD bit )
Distance = table search value below (Min, Max Limit)

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_MIN最低距离error(rlt为最低距离)
eSTS_ERR_MAX最高距离error(rlt为最高距离)
eSTS_ERR_HAL_ADCHAL ADC 错误 (STM32F4 Timeout)
eSTS_ERR_OTHERS_RUN其他组件正在执行程序
eSTS_ERR_ADC_OBJECTADC 对象选择错误
参数 OUTfloat32* rlt距离 40.0 至 300.0 [mm]
etSTS oGP2Y0A41SK0F_START_READ( float32* rlt )

oGP2Y0A41SK0F_START_READ 函数是一个 API 函数,用于启动 GP2Y0A41SK0F 的 AD 转换,等待 AD 转换完成,读取 AD 转换值,将 AD 转换值转换为距离特性,并将距离存储在 rlt 中。

AD转换值到距离转换公式
Voltage value = (AD conversion value × VDD) / ( 2AD bit )
Distance = table search value below (Min, Max Limit)

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_MIN最低距离error(rlt为最低距离)
eSTS_ERR_MAX最高距离error(rlt为最高距离)
eSTS_ERR_HAL_ADCHAL ADC 错误 (STM32F4 Timeout)
eSTS_ERR_OTHERS_RUN其他组件正在执行程序
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL (STM32F4)
eSTS_ERR_ADC_OBJECTADC 对象选择错误
参数 OUTfloat32* rlt距离 40.0 至 300.0 [mm]
电压/距离转换表

HAL 支持列表

OSS-ECAL 的 HAL 支持如下。 请注意,即使使用相同的 HAL,不同的版本、MCU 和开发环境也可能无法协同工作。 该列表正在按顺序扩展。

ManufacturerSDK/IDE ToolHAL NameVerHALNAMESupport
ArduinoArduino IDEArduino1.8.6ARDUINOX
ArmKeil MDK v6Mbed OS6.17.0MBEDX
DebianGNU/Linux10.3Linux
InfineonModusToolboxmtb-hal-cat12.4.3ModusToolboxX
NXPMCUXpresso SDKSDK_2.x_EVKB-IMXRT10502.16iMXRT1051B1052BX
RenesasSynergy Software PackageHAL2.6.0SSPX
STMicroelectronicsSTM32CubeSTM32CubeF4V1.28.1STM32F4X
HAL 功能对应表
HALNAMEoGP2Y0A41SK0F_STARToGP2Y0A41SK0F_READoGP2Y0A41SK0F_START_READ
ARDUINOX
MBEDX
Linux
ModusToolboxX
iMXRT1051B1052BXXX
SSPXXX
STM32F4XX
Time-out time: HAL_MAX_DELAY
X
Time-out time: HAL_MAX_DELAY
开发环境

OSS-ECAL 开发过程中的 MCU 和开发环境如下。

HALNAMEManufacturerBoardMCUIDE
ARDUINOArduino1.Mega 2560 Rev3
2.Arduino Pro Mini 3.3V
ATmega2560
ATmega328P
Arduino IDE 2.3.3
MBEDSTMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxArm Keil Studio Cloud
LinuxBeagleBoardBeagleBone BlackTI AM335x
ModusToolboxInfineonCY8CPROTO-063-BLE PSoC 6 BLE Prototyping KitCYBLE-416045-02ModusToolbox
iMXRT1051B1052BNXPIMXRT1050-EVKBi.MX RT1050MCUXpresso IDE
SSPRenesasS7G2 SKR7FS7G27H3A01CFCe² studio for Renesas Synergy
STM32F4STMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxSTM32CubeIDE

文件结构

Folder*FileSummary
GP2Y0A41SK0F_HALNAME_010000/samplesample.c (.cpp)Sample application program
sample.hSample application header
GP2Y0A41SK0F_HALNAME_010000oGP2Y0A41SK0F.c (.cpp)OSS-ECAL program for GP2Y0A41SK0F
oGP2Y0A41SK0F.hOSS-ECAL header for GP2Y0A41SK0F
oss_ecal.hOSS-ECAL common header
GP2Y0A41SK0F_ARDUINO.inoSample application programs for Arduino
user_setting.c (.cpp)User configured constants and tables
user_setting.hUser configuration Header
readme.mdReadme
OSS-ECAL Terms of Use.txtOSS-ECAL Terms of Use

* 有关 HALNAME,请参阅 HAL 支持。

OSS-ECAL 下载

请从 OSS-ECAL 英文网站下载 OSS-ECAL。下载时,请先登录 OSS-ECAL 英文网站,然后再进行操作。

内置方法

如何将 OSS-ECAL 纳入用户程序

如何在用户程序中整合多个 OSS-ECAL(相同的 MCU 功能)

如何在用户程序中整合多个 OSS-ECAL(不同 MCU 功能)

如何将多个相同的电子元件整合到一个用户程序中

如何通过更换电子元件减少对用户程序的影响

注意

OSS-ECAL 示例版本不适用于线程(任务)或不同优先级的中断。 请不要像下面的示例那样使用它。

例如 如果每个传感器被分配到相同的 ADC 组,而 OSS-ECAL API 在具有不同优先级的进程中执行,则可能无法获得正确的值。

ADC Gr0 Ch0 Temperature sensor AD22100A 每隔 100 毫秒采集一次温度(低优先级)
ADC Gr0 Ch1 Pressure sensor   MPX5999D 事件中断时采集压力(高优先级)

OSS-ECAL Chinese
error: 内容受保护 !