Ejemplo n.º 1
0
 def __init__(self, address=0x70, i2c=None):
     super().__init__()
     if i2c is None:
         i2c = board.I2C()
     self._segments = segments.Seg14x4(i2c, address)
     self._segments.auto_write = False
Ejemplo n.º 2
0
import microcontroller  # for checking CPU temperature
import gc  # for checking memory capacity
from simpleio import map_range

trellis = adafruit_trellism4.TrellisM4Express()
# Initialize external and internal I2C bus, sensor, and display
acc_i2c = busio.I2C(board.ACCELEROMETER_SCL,
                    board.ACCELEROMETER_SDA)  # for accelerometer
ext_i2c = busio.I2C(board.SCL, board.SDA)  # for DACs

# Initialize accelerometer and DACs
accelerometer = adafruit_adxl34x.ADXL345(acc_i2c)
pitch_dac = adafruit_mcp4725.MCP4725(ext_i2c, address=0x62)
gate_dac = adafruit_mcp4725.MCP4725(ext_i2c, address=0x63)
vl53 = adafruit_vl53l0x.VL53L0X(ext_i2c)
display = segments.Seg14x4(ext_i2c)

gate_dac.value = 0
pitch_dac.value = 0

#vl53.measurement_timing_budget = 33000  # default: compromise
#vl53.measurement_timing_budget = 20000  # fast and inaccurate
#vl53.measurement_timing_budget = 200000  # slow and accurate

# ### Setup ###

# ### Dictionaries and Lists ###


# ### Helpers ###
def plot(plot_val):
Ejemplo n.º 3
0
import re
from subprocess import Popen, PIPE
import board
import busio
from adafruit_ht16k33 import segments

i2c = busio.I2C(board.SCL, board.SDA)
seg = segments.Seg14x4(i2c)

output_pattern = re.compile(r"millis: (?P<millis>\d+) "
                            r"temp: (?P<temp>[\d\.]+) "
                            r"humidity: (?P<humidity>[\d\.]+) "
                            r"battery: (?P<battery>[\d\.])")

proc = Popen(['/home/gummi/git/hygrometer/scanner/scanner'], stderr=PIPE)

with proc:
    while True:
        line = proc.stderr.readline()
        m = output_pattern.match(line)
        millis, temp, humidity, battery = m.groups()
        millis = int(millis)
        temp = float(temp)
        humidity = float(humidity)
        battery = float(battery)
        print(millis, temp, humidity, battery, sep="\n")
        seg.print("{0:0.0f}{1:0.0f}".format(humidity, battery))
Ejemplo n.º 4
0
alarm_flag = False # is audible alarm playing?
wake = False    # Is any alarm active?
ip_mode = False # Whether IP address is displayed

# User set variables
t_begin = (7,0) # Time that gentle alarm triggers
t_end = (7,1)  # Time that hard alarm triggers
delay = 1      # Delay in minutes between hard and soft alarm
use_lamp = True    # Whether to use lamp instead of blinds
t_tilt = 35   # time to tilt up fully, tenths of a second
alarm_enable = True

# Initialize global objects
radio = NRF24(GPIO, spidev.SpiDev())
i2c = busio.I2C(board.SCL, board.SDA)
display = segments.Seg14x4(i2c)
app = Flask(__name__)

### Request-triggerable functions ###
@app.route("/tilt/up")
def tilt_up():
    global tiltStatus
    tiltStatus = 'f'
    
@app.route("/tilt/down")
def tilt_down():
    global tiltStatus
    tiltStatus = 'r'
    
@app.route("/tilt/stop")
def tilt_stop():