IR Sense 2 click is the infrared sensor Click board™, designed to be used in the short range IR sensing applications. Unlike other pyroelectric sensors, it is able to sense environmental heat changes up to 1m, even through the glass. IR Sense 2 click is perfectly suited for human presence detection, so it can be used in many human presence detection applications. A programmable interrupt engine simplifies the software development and saves MCU cycles, that would be wasted on polling, otherwise. The ability to sense IR through the glass allows an unconstrained design of the final product.
Advanced sensing features of the small quantum-type IR sensor chip used on the IR Sense 2 click, such as the on-chip processing and signal filtering, 16bit ADC signal conversion, I2C interface, programmable interrupt engine, low power consumption, integrated temperature sensor and very compact size, allow this click board to be used as a very reliable and accurate presence detection device. It can be used for a range of applications that rely on human presence detection, such as proximity sensor activated lights and surveillance cameras, automatic doors, detection of heated objects, information terminals, and similar applications.
How does it work?
IR Sense 2 click uses the AK9752, an ultra-small infrared sensor IC, with an I2C interface, from Asahi Kasei Microdevices (AKM) company. This sensor is capable of sensing wavelengths from 2 to 5 μm, allowing it to penetrate through the 0.7mm glass, which allows it to be hidden behind the transparent housing of some device. The sensor IC integrates the AKM’s original InSb quantum IR sensor element - used to sense the IR spectrum light, analog front end - for the signal conditioning and the sensor offset canceling, analog to digital converter (ADC) - used to convert temperature and IR sensor voltages into a digital information, the digital lowpass filter (LPF) with the selectable cut-off frequency, and finally - the communication I2C interface. Power on Reset section as well as the internal oscillator sections are integrated on this chip, as well.
The chip comes with the factory calibrated offset, making the IR Sense 2 click ready to be used out of the box. The sensor data is output through the I2C bus, with its pins routed to the appropriate mikroBUS™ pins. The I2C interface supports both normal (clock speed up to 100kHz) and fast mode (clock speed up to 400kHz). However, to enable I2C in fast mode, the device needs to be operated at lower voltage levels, which are not available at the mikroBUS™ directly. For this reason, the click board is equipped with a small LDO network, which provides 1.8V for the sensor. By employing two MOSFET transistors, the I2C levels are shifted to a voltage level selected by the onboard SMD jumper (3.3V or 5V). This allows fast I2C mode, even when interfaced to 3.3V or 5V MCUs.
The programmable interrupt engine can be used to trigger an interrupt request, whenever the programmed criteria are met. The interrupt will be triggered by all the events that meet the programmed criteria; the specific event that caused the interrupt can be found in the INTCAUSE register of the AK9752 sensor IC. The interrupt pin of the AK9752 is routed to the INT pin of the mikroBUS™ and it is driven to a LOW logic state when it is triggered. It is pulled to a HIGH logic level by the onboard resistor (to 1.8V). More about I2C communication and the interrupt sources can be found in the AK9752 datasheet.
IR Sense 2 click can be operated in three modes:
As already mentioned, the onboard SMD jumper is used to set the logic voltage for the I2C and INT pin to 3.3V or 5V. this allows both 3.3V and 5V operated MCUs to be interfaced with the IR Sense 2 click.
The provided click library offers functions for easy configuration and reading of the sensor data. The included example application demonstrates the usage of these functions and it can be used as a reference for a custom development. More information about the functions can be found inside the click library HELP file.
Specifications
Type | IR,Temperature |
Applications | IR Sense 2 click is perfectly suited for human presence detection, so it can be used in various human presence detection applications |
On-board modules | AK9752, an ultra-small infrared sensor IC with I2C interface, from Asahi Kasei Microdevices (AKM) company |
Key Features | On-chip processing and signal filtering, 16bit ADC signal conversion, I2C interface, programmable interrupt engine, low power consumption, integrated temperature sensor, ability to sense through the glass |
Interface | I2C |
Input Voltage | 3.3V or 5V |
Click board size | M (42.9 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on IR Sense 2 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED indicator |
JP1 | SEL JMP | Left | Power supply selection: left position 3V3, right position 5V |
Software support
We provide a library for IR Sense 2 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo application can run on all the main MikroElektronika development boards.
Library Description
The library contains basic functions for reading from, and configuring the clicks registers,
as well as functions for calculation of temperature and IR data.
Key functions
uint8_t irsense2_readReg(uint8_t registerAddress)
- generic read function.
void irsense2_writeReg(uint8_t registerAddress, uint8_t data_)
- generic read function.
float irsense2_readTemp()
- reads temperature data, and converts to Celsius degrees.
float irsense2_readIR()
- reads IR data, and converts to pA.
Examples Description
The demo application is composed of three sections:
void applicationTask() { char txt[10] = {0}; float temperature; float IRdata; temperature = irsense2_readTemp(); FloatToStr(temperature, txt); mikrobus_logWrite("Temperature reading: ",_LOG_TEXT); mikrobus_logWrite(txt,_LOG_LINE); IRdata = irsense2_readIR(); FloatToStr(IRdata, txt); mikrobus_logWrite("IR reading: ",_LOG_TEXT); mikrobus_logWrite(txt,_LOG_LINE); Delay_ms( 1000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
mikroE Libraries used in the example:
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This click board is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.
Downloads
mikroBUS™ Standard specification