Esempio n. 1
0
    def __init__(self,
                 i2c_bus,
                 name="sns_uv0",
                 interval=SENSOR_UPDATE_INTERVAL,
                 *args,
                 **kwargs):
        Device.__init__(self, name=name, interval=interval, *args, **kwargs)

        import adafruit_veml6075
        self.sensor = adafruit_veml6075.VEML6075(i2c_bus, integration_time=100)
Esempio n. 2
0
import time
import board
import busio
import adafruit_veml6075

i2c = busio.I2C(board.SCL, board.SDA)
veml = adafruit_veml6075.VEML6075(i2c, integration_time=100)

while True:
    print(veml.uv_index)
    print(veml.uva)
    print(veml.uvb)
    time.sleep(1)
Esempio n. 3
0
        dt = datetime.now()
        wind_start_time = time.time()
        reset_wind()
        #time.sleep(wind_interval)
        while time.time(
        ) - wind_start_time <= wind_interval:  # 5 másodperces szél ciklus
            store_directions.append(wind_direction_byo.get_value())

            s += 1  # PMS7003 indítása az adatküldés előtt
            if s >= 49:  # 30 másodperccel
                pms.on()
            print(s)
            if s == 49:
                print("PMS7003 indítása!")

            veml = adafruit_veml6075.VEML6075(
                i2c, integration_time=100)  # UV értékek felolvasása
            store_uva.append(veml.uva)  # UVA tárolása
            store_uvb.append(veml.uvb)  # UVB tárolása
            store_uvi.append(veml.uv_index)  # UV-index tárolása
            uva = max(store_uva)  # Maximális UVA számítása
            uvb = max(store_uvb)  # Maximális UVB számítása
            uv_index = max(store_uvi)  # Maximális UV-index számítása
            int_time = veml.integration_time  # Integrálási idő kiolvasás

        final_speed = calculate_speed(wind_interval)
        store_speeds.append(final_speed)

    wind_average = wind_direction_byo.get_average(store_directions)
    wind_gust = max(store_speeds)
    wind_speed = statistics.mean(store_speeds)
 def __init__(self, integration_time=100):
     i2c = busio.I2C(board.SCL, board.SDA)
     self.sensor = adafruit_veml6075.VEML6075(
         i2c, integration_time=integration_time)
Esempio n. 5
0
    def __init__(self, spi_clock, spi_mosi, spi_miso, i2c_scl, i2c_sda,
                 dsp_command, dsp_chip_select, dsp_reset, i2s_clock, i2s_word,
                 i2s_data, uart_tx, uart_rx):
        # Turn on the Pico's on-board LED
        print("Setting up power blinky")
        self.setupPowerBlinky()
        time.sleep(1)
        print("Done power blinky")

        try:
            # Create your bus objects
            self.spi = busio.SPI(clock=spi_clock, MOSI=spi_mosi, MISO=spi_miso)
            self.display_bus = displayio.FourWire(self.spi,
                                                  command=dsp_command,
                                                  chip_select=dsp_chip_select,
                                                  reset=dsp_reset)
            self.main_screen = adafruit_ili9341.ILI9341(self.display_bus,
                                                        width=self.WIDTH,
                                                        height=self.HEIGHT)

            self.i2c = busio.I2C(scl=i2c_scl, sda=i2c_sda)
            self.uart = busio.UART(tx=uart_tx,
                                   rx=uart_rx,
                                   baudrate=9600,
                                   timeout=10)

            if sounds_enabled:
                self.i2s = audiobusio.I2SOut(bit_clock=i2s_clock,
                                             word_select=i2s_word,
                                             data=i2s_data)

            self.colours = Colours()

            # Create objects for display
            self.setupBlinkies()
            self.setupButtons()

            if touch_screen_enabled:
                try:
                    self.touch_screen = adafruit_stmpe610.Adafruit_STMPE610_I2C(
                        self.i2c, address=0x41)

                except Exception as err:
                    self.led.value = False
                    print("No touch screen could be enabled")

            self.okuda_font = bitmap_font.load_font("fonts/okuda.pcf")
            #self.okuda_font = bitmap_font.load_font("fonts/font5x8.bin")
            #self.okuda_font.load_glyphs(b'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 %.')

            # Define sensor devices
            self.thermal_camera = ThermalCamera(width=self.WIDTH,
                                                height=self.HEIGHT,
                                                i2c=self.i2c,
                                                display_bus=self.display_bus,
                                                display=self.main_screen,
                                                reverse=False,
                                                font=self.okuda_font)
            self.bme680 = adafruit_bme680.Adafruit_BME680_I2C(self.i2c,
                                                              address=0x77)
            self.bme680.seaLevelhPa = self.SEA_LEVEL_NORMAL
            self.veml = adafruit_veml6075.VEML6075(self.i2c,
                                                   integration_time=100)
            self.gps = adafruit_gps.GPS(self.uart, debug=False)
            self.matrix = Matrix(i2c=self.i2c)

            self.loadSounds()
            self.setupGPS()
            self.setupLCARS()

        except Exception as err:
            print("Error in PicoPicorder.init()")
            self.blinkError(err)
            time.sleep(2)
Esempio n. 6
0
 def __init__(self):
     self.i2c = busio.I2C(board.SCL, board.SDA)
     self.veml = adafruit_veml6075.VEML6075(self.i2c, integration_time=100)
Esempio n. 7
0
    lps = adafruit_lps35hw.LPS35HW(i2c)

#setup air quality sensor
#sgp30
SGP30 = True
if SGP30:
    i2c2 = busio.I2C(board.SCL, board.SDA, frequency=100000)
    sgp30 = adafruit_sgp30.Adafruit_SGP30(i2c2)
    sgp30.iaq_init()
    sgp30.set_iaq_baseline(0x8987, 0x8d39)

#setup UV index sensor
VEML6075 = True
if VEML6075:
    i2c3 = busio.I2C(board.SCL, board.SDA)
    veml6075 = adafruit_veml6075.VEML6075(i2c3, integration_time=800)

#create data backup text file
date_time = now.strftime("%Y%m%d%H%M%S.txt")
print(date_time)
elapsed_sec = 0

for i in range(20):
    if LPS35HW:
        Press = lps.pressure
        Temp = lps.temperature
    if SGP30:
        CO2 = sgp30.eCO2
        VOC = sgp30.TVOC
    if VEML6075:
        UVA = veml6075.uva
serial = i2c(port=1, address=0x3C)
device = ssd1306(serial)

#setup BME280
addressbme = 0x76  #BME280 adress
bme280.load_calibration_params(bus, addressbme)

#setup TSL4531
bus.write_byte_data(0x29, 0x00 | 0x80, 0x03)
# TSL45315 address, 0x29(41)
# Select Configuration register, 0x01(1), with Command register, 0x80(128)
#		0x00(00)	Multiplier 1x, Tint : 400ms
bus.write_byte_data(0x29, 0x01 | 0x80, 0x00)

#setup VEML6075
veml = adafruit_veml6075.VEML6075(busio.I2C(board.SCL, board.SDA),
                                  integration_time=100)

#create csv file
f = open('weather_data.csv', 'w')


def main():
    print("Dew Point | Absolute altitude | UV light | visible light")

    #create column headings
    f.write(
        "time(s),temperature,atmospheric pressure,humidity,dewpoint,altitude,UV,lux\n"
    )
    tstart = time.time()
    while (1):