I'm trying to write my first real MicroPython script. It's supposed to be a timer that starts to count down from 60, when a button is pushed and visualise it on a display. This works fine so far:
Code: Select all
import machine
from machine import Pin, I2C
import ssd1306
from time import sleep
i2c = I2C(-1, Pin(5), Pin(4))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
led = Pin(15, Pin.OUT)
button = Pin(12, Pin.IN, Pin.PULL_UP)
oled.fill(1)
oled.show()
def frame():
oled.line(1,1,126,1,0)
oled.line(1,2,126,2,0)
oled.line(1,3,126,3,0)
oled.line(1,60,126,60,0)
oled.line(1,61,126,61,0)
oled.line(1,62,126,62,0)
oled.line(1,4,1,59,0)
oled.line(2,4,2,59,0)
oled.line(3,4,3,59,0)
oled.line(124,4,124,59,0)
oled.line(125,4,125,59,0)
oled.line(126,4,126,59,0)
oled.line(5,5,5,58,0)
oled.line(5,5,122,5,0)
oled.line(122,5,122,58,0)
oled.line(5,58,122,58,0)
oled.show()
def clear():
for j in range(6,57):
oled.line(6,j,121,j,1)
oled.show()
def countdown():
for i in range(60,-1,-1):
oled.text(str(i),55,32,0)
oled.show()
sleep(0.9)
clear()
oled.show()
frame()
while True:
if not button.value():
countdown()
I was thinking:
Code: Select all
def countdown():
try:
for i in range(60,-1,-1):
oled.text(str(i),55,32,0)
oled.show()
sleep(0.9)
clear()
oled.show()
except:
if not button.value():
countdown()
Greetings, Tom