import machine import ntptime import time import DS3231 import Buzzer #import StepperL298M import MotorPot import HousingLEDs import LED import Button import HousingCapButton import Bme280 import uasyncio as asyncio #>>> pins = [machine.Pin(i,machine.Pin.OUT) for i in (12,27,26,25)] #>>> adcs = [machine.ADC(machine.Pin(i)) for i in (32,33)] #def f(t): #... pins[1].value(1);time.sleep(t);pins[1].value(0); #... print([ads.read() for ads in adcs]) #Init i2c Bus on 17,18 i2cBus = machine.I2C(sda = machine.Pin(17), scl=machine.Pin(18)) #Initialise the time module with the RTC dsRtc = None rtc = machine.RTC() try: dsRtc = DS3231.DS3231(i2cBus) rtc.init(dsRtc.DateTime()+[0]) except Exception as e: print("Error on DS3231-Inititalisation\n",e) print("Trying NTP-Sync") for i in range(4): try: ntptime.settime() print("Synced with NTP") break except: print("timesync error trying again",i) asyncio.sleep_ms(500) #Init Buzzer buzzer = Buzzer.Buzzer(pin=2) #Initalise the Motors #stepperminu = StepperL298M.Stepper((19,21,22,23),inverted=False) #stepperhour = StepperL298M.Stepper((12,27,26,25),inverted=True) motorHour = MotorPot.MotorPot((12,27),33,steps_per_turn = 192) motorMinu = MotorPot.MotorPot((26,25),32,steps_per_turn = 192) #Init LEDs housingLEDs = HousingLEDs.LEDs(pin=16) leftButtonLED = LED.LED(13) middleButtonLED = LED.LED(22) rightButtonLED = LED.LED(23) #Init Buttons leftButton = Button.Button(pin=34,inverted=True) middleButton = Button.Button(pin=39,inverted=True) rightButton = Button.Button(pin=36,inverted=True) housingButton = HousingCapButton.HousingCapButton(pin=15) buttons = (leftButton,middleButton,rightButton) leds = (leftButtonLED,middleButtonLED,rightButtonLED) #Init Sensors try: sensorBme = Bme280.BME280(i2c=i2cBus) except Exception as e: print(e) def reset(): machine.reset()