"""
Author: Dacadev
Description: Script to show how the Pin clase works and how use it with micropython.
This code was made for the raspberry pico (RP2040)
"""
from machine import Pin
from utime import sleep
# Basic usage
led_1 = Pin(0, Pin.OUT, value=True)
# Init after create instance
led_2 = Pin(4)
led_2.init(Pin.OUT, value=True)
# Use pin in and pin out
btn_1 = Pin(17, Pin.IN, pull=Pin.PULL_UP)
led_3 = Pin(22)
led_3.init(Pin.OUT, pull=Pin.PULL_DOWN, value=False)
# Configure an interrupt
btn_2 = Pin(16, Pin.IN, pull=Pin.PULL_UP)
led_4 = Pin(21, Pin.OUT, pull=Pin.PULL_DOWN, value=True)
def callback(pin):
led_4.toggle()
btn_2.irq(callback, Pin.IRQ_RISING)
while True:
sleep(.5)
led_1.toggle()
led_3.value(btn_1.value())
if led_1.value():
led_2.toggle()