modus added
This commit is contained in:
parent
e7c4577e28
commit
3bd70227da
@ -7,6 +7,7 @@ class StepperClock:
|
||||
self._stepperMinute = stepperMin
|
||||
self._stepperHour = stepperHour
|
||||
self.started_async = False
|
||||
self._async_running = False
|
||||
|
||||
def start(self):
|
||||
if not self.started_async:
|
||||
@ -16,10 +17,15 @@ class StepperClock:
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.create_task(self._update_async())
|
||||
|
||||
def stop(self):
|
||||
self._async_running = False
|
||||
self.started_async = False
|
||||
|
||||
async def _update_async(self):
|
||||
while(True):
|
||||
await asyncio.sleep(1)
|
||||
self._async_running = True
|
||||
while(self._async_running):
|
||||
self.update()
|
||||
await asyncio.sleep(1)
|
||||
|
||||
def update(self):
|
||||
hour = time.localtime()[3]
|
||||
@ -31,3 +37,6 @@ class StepperClock:
|
||||
self._stepperHour.disablePower()
|
||||
self._stepperMinute.disablePower()
|
||||
#self._stepperHour.disablePower()
|
||||
|
||||
def isRunning(self):
|
||||
return self._async_running
|
||||
|
21
main.py
21
main.py
@ -15,8 +15,9 @@ rtc = machine.RTC()
|
||||
rtc.init(dsRtc.DateTime()+[0])
|
||||
|
||||
#Initalise the Motors
|
||||
stepperminu = StepperL298M.Stepper([19,21,22,23],inverted=False)
|
||||
stepperhour = StepperL298M.Stepper([12,27,26,25],inverted=True)
|
||||
stepDurationMs = 8
|
||||
stepperminu = StepperL298M.Stepper([19,21,22,23],inverted=False,stepDurationMs=stepDurationMs)
|
||||
stepperhour = StepperL298M.Stepper([12,27,26,25],inverted=True, stepDurationMs=stepDurationMs)
|
||||
clock = StepperClock.StepperClock(stepperhour,stepperminu)
|
||||
|
||||
|
||||
@ -29,7 +30,10 @@ def leftButtonClickDown():
|
||||
def leftButtonClickUp():
|
||||
leftButtonLED.off()
|
||||
def leftButtonClick():
|
||||
stepperminu.stepnum = (stepperminu.stepnum+8)%stepperminu.stepsPerRev
|
||||
if(clock.isRunning()):
|
||||
stepperminu.stepnum = (stepperminu.stepnum+8)%stepperminu.stepsPerRev
|
||||
else:
|
||||
stepperminu.rotateTo(stepperminu.getOrientation()+0.25)
|
||||
leftButton = Button.Button(pin=36,onPushDown=leftButtonClickDown,onPushUp=leftButtonClickUp,onClick=leftButtonClick,inverted=True)
|
||||
|
||||
def rightButtonClickDown():
|
||||
@ -37,7 +41,10 @@ def rightButtonClickDown():
|
||||
def rightButtonClickUp():
|
||||
rightButtonLED.off()
|
||||
def rightButtonClick():
|
||||
stepperhour.stepnum = (stepperhour.stepnum+8)%stepperhour.stepsPerRev
|
||||
if(clock.isRunning()):
|
||||
stepperhour.stepnum = (stepperhour.stepnum+8)%stepperhour.stepsPerRev
|
||||
else:
|
||||
stepperhour.rotateTo(stepperhour.getOrientation()+0.25)
|
||||
rightButton = Button.Button(pin=34,onPushDown=rightButtonClickDown,onPushUp=rightButtonClickUp,onClick=rightButtonClick,inverted=True)
|
||||
|
||||
def middleButtonClickDown():
|
||||
@ -46,6 +53,12 @@ def middleButtonClickUp():
|
||||
pass
|
||||
def middleButtonClick():
|
||||
middleButtonLED.value(not middleButtonLED.value())
|
||||
if middleButtonLED.value():
|
||||
clock.stop()
|
||||
stepperminu.rotateTo(0)
|
||||
stepperhour.rotateTo(0)
|
||||
else:
|
||||
clock.start()
|
||||
middleButton = Button.Button(pin=39,onPushDown=middleButtonClickDown,onPushUp=middleButtonClickUp,onClick=middleButtonClick,inverted=True)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user