Quantcast
Viewing all articles
Browse latest Browse all 4909

General • Re: control a set of 15 inputs that output 15 outputs on Pico

Code:

from machine import Pin,Timerimport time# setup gpios for buttonskeypadColPins = [0,1,2]keypadRowPins = [3,4,5,6,7]row = []col = []for i in keypadRowPins:    row.append(Pin(i,Pin.IN,Pin.PULL_UP))for i in keypadColPins:    col.append(Pin(i,Pin.OUT))# setup outputsledPins = [8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]leds = []for i in ledPins:    leds.append(Pin(i,Pin.OUT))# clear ALL outputsfor i in range(0,len(leds)):    leds[i].low()# read buttonsdef keypadRead():    global row,col    krow = -1    kcol = -1    # scan for pressed button     for i in range(0,len(col)):        col[i].low()        time.sleep(0.005) #settling time        for j in range(0,len(row)):            if row[j].value() == 0:                # store button pressed                krow = i                kcol = j        col[i].high()    if krow != -1: # button pressed return values        print((krow*5)+kcol+1,krow,kcol,)        return krow,kcol    else: # if no button pressed return with -1        return -1,-1#main loopif __name__ == '__main__':    while True:        # read buttons        krow,kcol = keypadRead()        if krow != -1 and kcol != -1: # if a button has been pressed            # clear ALL outputs            for i in range(0,len(leds)):                 leds[i].low()            # set the required ouput            leds[(krow*5)+kcol].on()
Image may be NSFW.
Clik here to view.
3x5v2.jpg

Statistics: Posted by gordon77 — Thu Aug 22, 2024 4:19 pm



Viewing all articles
Browse latest Browse all 4909

Trending Articles