test — Raspberry Pi 5 simulation

An interactive Raspberry Pi 5 circuit simulation you can run free in your browser on Velxio, by teofeel.

Components

Sketch code

import RPi.GPIO as GPIO
import time
import random

LED_PIN = 2
BTN_PIN = 3
BUZZER_PIN = 4
PIR_PIN = 5

GPIO.setmode(GPIO.BCM)

GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.setup(BUZZER_PIN, GPIO.OUT)
GPIO.setup(BTN_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(PIR_PIN, GPIO.IN)

def pir_handler(channel):
    print('Moved')
    if LED_ACTIVE and GPIO.input(channel):
        print('Buzzzzz')
        #buzz(500, 1)


GPIO.add_event_detect(PIR_PIN, GPIO.BOTH, callback=pir_handler)


while True:
    LED_ACTIVE = False

    delay_time = random.randint(3, 10)
    start_delay_time = time.time()
    while time.time() - start_delay_time < delay_time:
        time.sleep(0.5)

    LED_ACTIVE = True
    GPIO.output(LED_PIN, GPIO.HIGH)

    active_time = random.randint(3, 5)
    start_active_time = time.time()
    while time.time() - start_active_time < active_time:
        time.sleep(0.5)

    LED_ACTIVE = False
    GPIO.output(LED_PIN, GPIO.LOW)



Buzz=GPIO.PWM(BUZZER_PIN, 440)
def buzz(pitch, duration):
    Buzz.ChangeFrequency(pitch)
    Buzz.start(50)
    time.sleep(duration)
    Buzz.stop()