Ich verwende ein Raspberry Pi Pico von 2020. Und programmiere das erste mal auf einem Microcontroller.
Dort ich versuche den Button S2 zum hochzählen zu programmieren, solange der Button S1 gedrückt ist.
Leider zählt er nicht bei jedem drücken hoch.
Ich weiß nicht genau woran das liegt, ob an den sleep Zeiten oder ob der Speicher überlastet ist?
Für Hilfe wäre ich sehr dankbar.
Viele Grüße
DoGro
Code: Alles auswählen
from machine import Pin
from time import sleep_ms
#Pins
button_S1 = Pin(16, Pin.IN, Pin.PULL_DOWN)
button_S2 = Pin(18, Pin.IN, Pin.PULL_DOWN)
class ButtonEvent:
def __init__(self, name):
self.name = name
self.last = False
def is_pressed(self):
pressed = self.name.value()
sleep_ms(50)
self.last = pressed
return pressed
def has_changed(self):
pressed = self.is_pressed()
changed = (self.name.value() != self.last)
self.last = pressed
sleep_ms(50)
return changed
def count():
counter = 0
button1 = ButtonEvent(button_S1)
button2 = ButtonEvent(button_S2)
sleep_ms(500)
if button1.is_pressed():
print('ha')
x = True
while x:
if button1.has_changed():
print('Ende')
x = False
elif button2.has_changed():
print('counter: '+ str(counter))
counter += 1
return counter
#Hauptprogramm
zahl = 0
zahl = count()
print(zahl)