Skip to content

Python support library for the light sensor OPT3001 from Texas Instruments

License

Notifications You must be signed in to change notification settings

perryrh0dan/opt3001

Repository files navigation

Opt3001

Python support library for the light sensor OPT3001 from Texas Instruments

Description

Contents

Install

  • sudo apt-get install -y python-smbus
  • pip install opt3001

Usage

import opt3001 from opt3001

address = 0x44

opt = opt3001.OPT3001(address) 

# Configure to run in Continuous conversions mode
opt.write_config_reg(opt3001.I2C_LS_CONFIG_CONT_FULL_800MS)

while(True):
  print(opt.read_lux_float())
  time.sleep(1)

Raspberry pi

Add following line to /etc/modules to start i2c module on startup:

i2c_dev

Run following commands to start the i2c modules manually:

$ modprobe i2c-bcm2708
$ modprobe i2c_dev

Install i2c-tools to test with the terminal

$ sudo apt-get install i2c-tools

Run following command to get the address of the opt3001

$ i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Run the following command to test the opt30001

$ i2cget -y 1 0x44 0x00

0x0b

Flight Manual

Constants

Constant Description Value
I2C_LS_CONFIG_DEFAULT OPT3001 default settings 0xc810
I2C_LS_CONFIG_CONT_FULL_800MS settings for continuous measurement 0xcc10
I2C_LS_REG_RESULT Result Register 0x00
I2C_LS_REG_CONFIG Configuration Register 0x01
I2C_LS_REG_LOWLIMIT Low Limit Register 0x02
I2C_LS_REG_HIGHLIMIT High Limit Register 0x03
I2C_LS_REG_MANUFACTURERID Manufacturer ID 0x7E
I2C_LS_REG_DEVICEID Device ID Register 0x7F

OPT3001

constructor

Input:

  • address - i2c address of the opt3001
  • bus - default 1

read_lux_fixpoint

Read the brightness of the opt3001 with two fixed decimal places

read_lux_float

Read the brightness of the opt3001 as float

read_manufacture_id

Read manufacture id of the opt3001

read_device_id

Read device id of the opt3001

write_config_reg

Write data to config register

Input:

  • data - configuration data to write to registry

read_register_16bit

reads a register of the opt3001

write_register_16bit

Write to a register of the opt3001

Input:

  • adr - registeradress to write to
  • data - 16bit data to write to registry

Development

Build

python setup.py sdist bdist_wheel

Upload

twine upload dist/*

Team

Licence

MIT

This repository was generated by tmpo

About

Python support library for the light sensor OPT3001 from Texas Instruments

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages