from machine import Pin
from utime import sleep
led1 = Pin(0, Pin.OUT)
led2 = Pin(1, Pin.OUT)
led3 = Pin(2, Pin.OUT)
led4 = Pin(3, Pin.OUT)
while True:
led4.value(0)
led3.value(0)
led2.value(0)
led1.value(0)
sleep(1)
led4.value(0)
led3.value(0)
led2.value(0)
led1.value(1)
sleep(1)
led4.value(0)
led3.value(0)
led2.value(1)
led1.value(0)
sleep(1)
led4.value(0)
led3.value(0)
led2.value(1)
led1.value(1)
sleep(1)
led4.value(0)
led3.value(1)
led2.value(0)
led1.value(0)
sleep(1)
led4.value(0)
led3.value(1)
led2.value(0)
led1.value(1)
sleep(1)
led4.value(0)
led3.value(1)
led2.value(1)
led1.value(0)
sleep(1)
led4.value(0)
led3.value(1)
led2.value(1)
led1.value(1)
sleep(1)
led4.value(1)
led3.value(0)
led2.value(0)
led1.value(0)
sleep(1)
led4.value(1)
led3.value(0)
led2.value(0)
led1.value(1)
sleep(1)
led4.value(1)
led3.value(0)
led2.value(1)
led1.value(0)
sleep(1)
led4.value(1)
led3.value(0)
led2.value(1)
led1.value(1)
sleep(1)
led4.value(1)
led3.value(1)
led2.value(0)
led1.value(0)
sleep(1)
led4.value(1)
led3.value(1)
led2.value(0)
led1.value(1)
sleep(1)
led4.value(1)
led3.value(1)
led2.value(1)
led1.value(0)
sleep(1)
led4.value(1)
led3.value(1)
led2.value(1)
led1.value(1)
sleep(1)
'''
#Efficient 4-bit Binary-counting LEDs (from PDF)
from machine import Pin
from utime import sleep
PORT = [3,2,1,0] # port connections
DIR = ["0","0","0","0"] # port directions
L= [0]*4
#This functions configures the port pins as outputs ("O") or as inputs ("I")
def configure_port():
for i in range(0,4):
if DIR[i] == "0":
L[i] = Pin(PORT[i],Pin.OUT)
else:
L[i] = Pin(PORT[i],Pin.IN)
return
#This function sends 4-bit data (0 to 15) to the PORT
def port_output(x):
b = bin(x) # convert into binary
b = b.replace("0b","") # remove leading "0b"
diff = 4 - len(b) # find the length
for i in range(0,diff):
b = "0" + b # insert leading os
for i in range(0,4):
if b[i] == "1":
L[i].value(1)
else:
L[i].value(0)
return
configure_port() # configure port to all outputs
#Main program loop :- Count up in binary every second
cnt = 0
while True:
port_output(cnt) # send cnt to port
sleep(1) # wait 1 second
cnt = cnt + 1 # increment cnt
if cnt > 15:
cnt = 0
'''
'''
# Optimised Code by Manaswini Ray
from machine import Pin
from utime import sleep
led1 = Pin(0,Pin.OUT)
led2 = Pin(1,Pin.OUT)
led3 = Pin(2,Pin.OUT)
led4 = Pin(3,Pin.OUT)
led_pins = [led1, led2, led3, led4]
while True:
for i in range(16):
for j in range(4):
led_pins[j].value(i & 1)
i>>=1
sleep(1)
'''