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
No Comments