Mlx90614 Proteus Library -
on_i2c_read(register_address):
if register_address == TOBJ:
raw = round((object_temp + 273.15) / 0.02)
return low_byte(raw), high_byte(raw)
elif register_address == TA:
...
Paste the three downloaded files into the LIBRARY folder:
The MLX90614 is a contactless IR temperature sensor with a digital SMBus/I2C output (addressable), commonly used to measure object and ambient temperatures. Proteus lacks an official behavioral model for the device; creating a custom library enables circuit simulation and firmware testing. mlx90614 proteus library
By default, the library may output a fixed temperature (e.g., 26.5°C). To change it: Implementation notes:
AMBIENT_TEMP=23.0).(Not all library versions support this – check your .HEX source.) Modify values (e.g.
Search for "MLX90614 Proteus library" on GitHub or ElectroSome. You need 3 files:
A functional simulation requires a specific circuit topology. The MLX90614 utilizes an open-drain interface; therefore, pull-up resistors are mandatory for the SCL and SDA lines.
Recommended Circuit Setup: