Ich würde gerne in folgenden Code
Code: Alles auswählen
#...Programm
from tkinter import *
import RPi.GPIO as GPIO
import time
import neopixel
import board
pixels = neopixel.NeoPixel(board.D18, 24)
def Mischung1():
pixels.fill((255, 0, 0))
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, GPIO.LOW)
time.sleep(2)
GPIO.output(17, GPIO.HIGH)
GPIO.setup(22, GPIO.OUT)
GPIO.output(22, GPIO.LOW)
time.sleep(8)
GPIO.output(22, GPIO.HIGH)
pixels.fill((0, 255, 0))
Den Ablauf starte ich aus einem anderen Skript mit tkinter und dies Funktioniert auch, die Pumpen reagieren.
Wie ist den die beste herangehensweise?
Ich habe unter den "def" eine If Funktion gestartet aber dies funktionierte nicht.
Hier der Code den ich zur reinen überprüfung der Funktionalität der Schranke verwendet habe:
Code: Alles auswählen
import RPi.GPIO as GPIO
import os, time
import board
import neopixel
import time
from rpi_ws281x import *
import argparse
pixels = neopixel.NeoPixel(board.D18, 24)
RECEIVER_PIN = 16
def callback_func(channel):
if GPIO.input(channel):
time.sleep(0.25)
pixels.fill((0, 255, 0))
else:
pixels.fill((255, 0, 0))
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(RECEIVER_PIN, GPIO.IN)
GPIO.add_event_detect(RECEIVER_PIN, GPIO.RISING, callback=callback_func,)
try:
while True:
time.sleep(0.2)
except:
GPIO.remove_event_detect(RECEIVER_PIN)
Liebe Grüße
Alfred