# digi_io_v13 tlfong01 2021mar04hkt2219 # Piromoni Tiny2040 # *** Contents *** # 01 Import machine, Pin, time # 02 Digital output and LED pin functions # 03 Digital input and button pin functions # *** Import *** from machine import Pin import time # *** Logical/time/repetition variable/constant declarations *** lowValue = 0 highValue = 1 onValue = lowValue # On board RGB led = Low active offValue = highValue highTime = 0.5 # seconds lowTime = 0.5 # seconds onTime = lowTime # Led on time offTime = highTime # Led off time totalCount = 2 # Repeat twice # *** Digital output/LED pin configuration *** # RGB led pin num *** redLedPinNum = 18 greenLedPinNum = 19 blueLedPinNum = 20 rgbLedPinNumList = [redLedPinNum, greenLedPinNum, blueLedPinNum] # *** Digital ouput Led pin functions *** def initDigiOutPinNumList(digiOutPinNumList): print('Begin initDigiOutPinNumList(), ...') for digiOutPinNum in digiOutPinNumList: digiOutPin = Pin(digiOutPinNum, Pin.OUT) digiOutPin.value(onValue) time.sleep(onTime) digiOutPin.value(offValue) print('End initDigiOutPinNumList().') return def initLedPinNumList(ledPinNumList): print('Begin initLedPinNumList') initDigiOutPinNumList(ledPinNumList) print('End initLedPinNumList') return def blinkLedPinNumList(ledPinNumList, onTime, offTime, countTotal): print('Begin blinkLedPinNumList') # *** Init *** ledPinList = [] for ledPinNum in ledPinNumList: ledPin = Pin(ledPinNum, Pin.OUT) ledPin.value(offValue) ledPinList.append(ledPin) #*** Blink *** for count in range(countTotal): for ledPin in ledPinList: ledPin.value(onValue) time.sleep(onTime) ledPin.value(offValue) time.sleep(offTime) print('End blinkLedPinNumList') return def toggleDigiOutPinNumList(digiOutPinNumList, lowTime, highTime, countTotal): print('Begin toggleDigiOutpPinNumList(),...') # *** Init digiOutPinList *** digiOutPinList = [] for digiOutPinNum in digiOutPinNumList: digiOutPin = Pin(digiOutPinNum, Pin.OUT) digiOutPin.value(offValue) digiOutPinList.append(digiOutPin) #*** Toggle *** for count in range(countTotal): for digiOutPin in digiOutPinList: digiOutPin.value(lowValue) time.sleep(lowTime) digiOutPin.value(highValue) time.sleep(highTime) print('End toggleDigiOutpPinNumList().') return # *** Digital Input Pins *** # *** Boot/Select button pin config *** # *** Button state varaibles and constants *** buttonNotPressed = True buttonPressed = False # *** Button config *** bootSelectPinNum = 23 bootSelectButtonPin = Pin(bootSelectPinNum, Pin.IN, Pin.PULL_DOWN) def readBootSelectButton(): print('\nBegin readBootSelectButton(),...') print(' Press and hold 0.5 second Button pin 14 to toggle LED pin 15, <Ctrl F2> to exit program.') for count in range(10): print(' count =', count, end = '') if bootSelectButtonPin.value() == buttonNotPressed: print(' Button not pressed, ...') else: #led.toggle() print(' Button pressed, ...') time.sleep(1) print('End readBootSelectButton(),...') return # *** main *** #initLedPinNumList(rgbLedPinNumList) toggleDigiOutPinNumList([18, 19, 20], 0.25, 0.5, 1) readBootSelectButton() # End *** # *** Sample Output - tlfong01 2021feb10hkt2043 *** ''' >>> %Run -c $EDITOR_CONTENT Begin toggleDigiOutpPinNumList(),... End toggleDigiOutpPinNumList(). >>> ''' # *** End of sample output ***
Categories: Uncategorized