Skip to main content

Python library for the Grove - Sunlight Sensor (si114x,si115x).

Project description

Seeed_Python_SI114X

Grove - Sunlight Sensor (si114x) is a multi-channel digital light sensor, which has the ability to detect UV-light, visible light and infrared light.

This device is based on SI1145, a new sensor from SiLabs. The Si1145 is a low-power, reflectance-based, infrared proximity, UV index and ambient light sensor with I2C digital interface and programmable-event interrupt output. This device offers excellent performance under a wide dynamic range and a variety of light sources including direct sunlight.

Dependencies

This driver depends on:

This is easy to install with the following command.

pip3 install Seeed-grove.py

Installing from PyPI

On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally from PyPI. To install for current user:




pip3 install seeed-python-si114x



To install system-wide (this may be required in some cases):




sudo pip3 install seeed-python-si114x



if you want to update the driver locally from PyPI. you can use:


pip3 install --upgrade seeed-python-si114x

Usage Notes

First, Check the corresponding i2c number of the board:




(.env) pi@raspberrypi:~ $ ls /dev/i2c*

/dev/i2c-1



Check if the i2c device works properly, 0x60 is the SI114x i2c address.




pi@raspberrypi:~/Seeed_Python_SI114X $ i2cdetect -y -r 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00:          -- 04 -- -- -- -- -- -- -- -- -- -- -- 

10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- -- 

50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

70: -- -- -- -- -- -- -- --   



Usage

import seeed_si114x

import time

import signal

def handler(signalnum, handler):

    print("Please use Ctrl C to quit")

def main():

    SI1145 = seeed_si114x.grove_si114x()

    print("Please use Ctrl C to quit")

    signal.signal(signal.SIGTSTP, handler) # Ctrl-z

    signal.signal(signal.SIGQUIT, handler) # Ctrl-\

    while True:

        print('Visible %03d UV %.2f IR %03d' % (SI1145.ReadVisible , SI1145.ReadUV/100 , SI1145.ReadIR),end=" ")

        print('\r', end='')

        time.sleep(0.5)

if __name__  == '__main__':

    main()

API Reference

  • uint16_t ReadVisible(void): return visible light of Ambient.
    print("Visible %03d" % SI1145.ReadVisible)
  • uint16_t ReadUV(void): return Ultraviolet (UV) Index.
    print("UV %.2f" % SI1145.ReadUV / 100)
  • uint16_t ReadIR(void): return infrared light of Ambient.
    print("IR %03d" % SI1145.ReadIR)

This software is written by seeed studio

and is licensed under The MIT License. Check License.txt for more information.

Contributing to this software is warmly welcomed. You can do this basically by

forking, committing modifications and then pulling requests (follow the links above

for operating guide). Adding change log and your contact into file header is encouraged.

Thanks for your contribution.

Seeed Studio is an open hardware facilitation company based in Shenzhen, China.

Benefiting from local manufacture power and convenient global logistic system,

we integrate resources to serve new era of innovation. Seeed also works with

global distributors and partners to push open hardware movement.

Analytics

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

seeed_python_si114x-1.1.0-py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page