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