stepper-clock/Hardware.py

55 lines
1.3 KiB
Python

import machine
import ntptime
import time
import DS3231
import Buzzer
import StepperL298M
import HousingLEDs
import LED
import Button
import HousingCapButton
#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)
time.sleep(0.5)
#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)
#Init LEDs
housingLEDs = HousingLEDs.LEDs(pin=16)
leftButtonLED = LED.LED(13)
middleButtonLED = LED.LED(33)
rightButtonLED = LED.LED(32)
#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)