Python Scripts für Raspberry Pico H

 
1 Dezember / On Board LED
from machine import Pin
onboardLED = Pin(25, Pin.OUT)
onboardLED.value(1)
2. Dezember / LED's 
from machine import Pin
import time
gruen = Pin(18, Pin.OUT)
gelb = Pin(19, Pin.OUT)
rot = Pin(20, Pin.OUT)
# Anzahl der Iterationen für die Schleife
anzahl = 20
# Schleife mit Verzögerung von 5 Sekunden
for i in range(anzahl):
    print(f"Schleifeniteration {i + 1}")
    rot.value(1)
    time.sleep(3)
    rot.value(0)
    gelb.value(1)
    time.sleep(3)
    gelb.value(0)
    gruen.value(1)
    time.sleep(5)
    rot.value(0)
    gelb.value(0)
    gruen.value(0)
    time.sleep(5)
3. Dezember / 3 Taster 
from machine import Pin
import time
knopf1 = Pin(13, Pin.IN, Pin.PULL_DOWN)
knopf2 = Pin(8, Pin.IN, Pin.PULL_DOWN)
knopf3 = Pin(3, Pin.IN, Pin.PULL_DOWN)
rot = Pin(20, Pin.OUT)
gelb = Pin(19, Pin.OUT)
gruen = Pin(18, Pin.OUT)
rot.value(0)
gelb.value(0)
gruen.value(0)
while True:
    time.sleep(0.2)
    
    if knopf1.value() == 1:
        print("Knopf 1 gedrückt")
        rot.toggle()
    if knopf2.value() == 1:
        print("Knpf 2 gedrückt")
        gelb.toggle()
    if knopf3.value() == 1:
        gruen.toggle()
4. Dezember / Potentiometer / LED Helligkeitssteuerung mit PWM
from machine import ADC, Pin, PWM
import time
# Anschluss Poti an GP27 und an Plus 3.3 Volt und Minus
poti = ADC(Pin(27))
# LED
gruen = PWM(Pin(18))
gelb = PWM(Pin(19)) 
rot = PWM(Pin(20))
# Variable mdelay = 0
gruen.freq(1000)
gelb.freq(1000)
rot.freq(1000)
reading = 0
    
while True:
    
    reading = poti.read_u16()
    print(reading)
    gruen.duty_u16(reading)
    gelb.duty_u16(reading)
    rot.duty_u16(reading)
    time.sleep(0.001)
    
          
5. Dezember / Buzzer
 Imports
from machine import Pin, PWM
import time
# Set up the Buzzer pin as PWM
buzzer = PWM(Pin(13)) # Set the buzzer to PWM mode
# Create our library of tone variables for "Jingle Bells"
C = 523
D = 587
E = 659
G = 784
# Create volume variable (Duty cycle)
volume = 30000
# Play the tune
# "Jin..."
buzzer.duty_u16(volume) # Volume up
buzzer.freq(E) # Set frequency to the E note
time.sleep(0.1) # Delay
buzzer.duty_u16(0) # Volume off
time.sleep(0.2) # Delay
# "...gle"
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "Bells"
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.5) # longer delay
# "Jin..."
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "...gle"
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "Bells"
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.5) # longer delay
# "Jin..."
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "...gle"
buzzer.duty_u16(volume)
buzzer.freq(G)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "All"
buzzer.duty_u16(volume)
buzzer.freq(C)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "The"
buzzer.duty_u16(volume)
buzzer.freq(D)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# "Way"
buzzer.duty_u16(volume)
buzzer.freq(E)
time.sleep(0.1)
buzzer.duty_u16(0)
time.sleep(0.2)
# Duty to 0 to turn the buzzer off
buzzer.duty_u16(0)
6. Dezember / Helligkeitssensor
# Imports
from machine import ADC, Pin
import time
# Set up the LED pins
red = Pin(18, Pin.OUT)
amber = Pin(19, Pin.OUT)
green = Pin(20, Pin.OUT)
# Define pin for our sensor
lightsensor = ADC(Pin(26))
while True: # Run forever
    
    # Read sensor value and store it in a variable called 'light'
    light = lightsensor.read_u16()
    # Use the round function to limit the decimal places to 1
    lightpercent = round(light/65535*100,1)
    # Print our reading percentage with % symbol
    print(str(lightpercent) +"%")
    
    # 1 second delay between readings
    time.sleep(1)
    if lightpercent <= 30: # If percentage is less than or equal to 30
        
        red.value(1) # Red LED on
        amber.value(0)
        green.value(0)
    elif 30 < lightpercent < 60: # If percentage is between 30 and 60
        
        red.value(0)
        amber.value(1) # Amber LED on
        green.value(0)
    elif lightpercent >= 60: # If percentage is greater than or equal to 60
        
        red.value(0)
        amber.value(0)
        green.value(1) # Green LED on
7. Dezember / Bewegungssensor 
# Imports
from machine import Pin, PWM
import time
# Set up the LED pins
red = Pin(18, Pin.OUT)
amber = Pin(19, Pin.OUT)
green = Pin(20, Pin.OUT)
# Set up the Buzzer pin as PWM
buzzer = PWM(Pin(13))
# Set PWM duty to 0% at program start
buzzer.duty_u16(0)
 
# Set up PIR pin with pull down
pir = Pin(26, Pin.IN, Pin.PULL_DOWN)
# Warm up/settle PIR sensor
print("Warming up...")
time.sleep(10) # Delay to allow the sensor to settle
print("Sensor ready!")
def alarm(): # Our alarm function
    
    # Set PWM duty (volume up)
    buzzer.duty_u16(500)
    for i in range(5): # Run this 5 times
                
        buzzer.freq(1000) # Higher pitch
        
        red.value(1) # Red ON
        amber.value(1) # Amber ON
        green.value(1) # Green ON
        
        time.sleep(1)
        
        buzzer.freq(500) # Lower pitch
        
        red.value(0) # Red OFF
        amber.value(0) # Amber OFF
        green.value(0) # Green OFF
        
        time.sleep(1)
    # Set PWM duty (volume off)
    buzzer.duty_u16(0)
        
while True: # Run forever
    
    time.sleep(0.01) # Delay to stop unnecessary program speed
    
    if pir.value() == 1: # If PIR detects movement
        
        print("Bewegung erkannt!")
    
        alarm() # Call our function
        
        print("Sensor aktiv") # Let us know that the sensor is active again