python:lumiere
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | python:lumiere [2024/02/09 17:10] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== MOD-LTR-501ALS ====== | ||
+ | Capteur I2C de lumiere et de distance <8cm | ||
+ | https:// | ||
+ | |||
+ | ===== Code lumiere vers OSC ===== | ||
+ | OSC sur local host 9001 /LUX/0 /LUX/1 et /LUX/DIST | ||
+ | |||
+ | |||
+ | < | ||
+ | # | ||
+ | # -*- coding: utf-8 -*- | ||
+ | # Lecture du module LTR50ALS capteur de lumière , UEXT Olimex | ||
+ | # transmission des donnees en OSC | ||
+ | |||
+ | import sys, | ||
+ | from smbus import SMBus | ||
+ | |||
+ | BUS_NUMBER = 2 | ||
+ | PORT=9001 | ||
+ | ADRS=35 # 0x23 - LTR501ALS | ||
+ | # init pour le bus | ||
+ | b = SMBus(BUS_NUMBER) # 0 indicates /dev/i2c-0 | ||
+ | data = {} | ||
+ | |||
+ | try: | ||
+ | print(' | ||
+ | target = liblo.Address(" | ||
+ | except liblo.AddressError, | ||
+ | print str(err) | ||
+ | sys.exit() | ||
+ | |||
+ | # init du module | ||
+ | try: | ||
+ | b.write_i2c_block_data(2, | ||
+ | b.write_i2c_block_data(2, | ||
+ | b.write_i2c_block_data(2, | ||
+ | b.write_i2c_block_data(2, | ||
+ | b.write_i2c_block_data(2, | ||
+ | b.write_i2c_block_data(2, | ||
+ | except IOError, err: | ||
+ | print (" | ||
+ | #exept: | ||
+ | # print str(err init) | ||
+ | # | ||
+ | |||
+ | while True: | ||
+ | try: | ||
+ | status = b.read_byte_data(ADRS, | ||
+ | # | ||
+ | if(status & 0x04): | ||
+ | data_block = b.read_i2c_block_data(ADRS, | ||
+ | adc_0 = (data_block[1] * 2**8 + data_block[0]) | ||
+ | adc_1 = (data_block[3] * 2**8 + data_block[2]) | ||
+ | print " | ||
+ | print " | ||
+ | liblo.send(target,"/ | ||
+ | liblo.send(target,"/ | ||
+ | elif(status & 0x01): | ||
+ | data_block = b.read_i2c_block_data(ADRS, | ||
+ | PS = (data_block[1] * 2**8 + data_block[0]) | ||
+ | distance = 10 -(10.0/ | ||
+ | distance = format(distance,' | ||
+ | print "DIST= %d" % distance | ||
+ | liblo.send(target,"/ | ||
+ | else: | ||
+ | # | ||
+ | time.sleep(0.02) | ||
+ | except IOError, err: | ||
+ | print (" | ||
+ | |||
+ | except KeyError: | ||
+ | pass | ||
+ | except KeyboardInterrupt: | ||
+ | quit() | ||
+ | except StopIteration: | ||
+ | session = None | ||
+ | print "GPSD has terminated" | ||
+ | except: | ||
+ | # | ||
+ | continue | ||
+ | |||
+ | |||
+ | # | ||
+ | </ | ||
+ | {{: | ||
+ | script bash de lancement, sort si le capteur n'est pas present et l' | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | MOD-LTR501ALS --i2c=/ | ||
+ | RET=$? | ||
+ | if [ " | ||
+ | then | ||
+ | lumiere2OSC.py | ||
+ | fi | ||
+ | </ |