Raspberry Pi 4: Python — RuntimeError: ошибка ожидания края

Я пытаюсь получить задний фронт доплеровского радара HB100 с модулем усилителя Lm358.

Ошибка: RuntimeError: Ошибка ожидания края.

Все работало отлично и внезапно остановилось.

Я уже пробовал использовать другие модули радара и усилителя, но ошибка продолжается. Я безуспешно пытался переключить контакты GPIO.

Код ниже

Я использую Raspberry-Pi 4 и Python11.

import RPi.GPIO as GPIO
import time

GPIO.cleanup()

AMPLIFICADOR_INPUT_PIN = 23
GPIO.setmode(GPIO.BCM)
GPIO.setup(AMPLIFICADOR_INPUT_PIN, GPIO.IN)

MAX_PULSE_COUNT = 10
MOTION_SENSITIVITY = 10

def count_frequency(GPIO_pin, max_pulse_count=10, ms_timeout=50):
    start_time = time.time()
    pulse_count = 0

    for count in range(max_pulse_count):

        edge_detected = GPIO.wait_for_edge(GPIO_pin, GPIO.FALLING, timeout=ms_timeout)

        if edge_detected is not None:
            pulse_count += 1

    duration = time.time() - start_time 
    frequency = pulse_count / duration
    
    return frequency

while True:
    doppler_freq = count_frequency(AMPLIFICADOR_INPUT_PIN)
    speed = doppler_freq / float (31.36)
    print (speed)

    if (speed>2):
        print ('high Speed'+ "Your speed = "+ str(speed) +'Mph')        

    if doppler_freq < MOTION_SENSITIVITY:
        print("No motion was detected")

    else:
        print("Motion was detected, Doppler frequency was: {0}".format(doppler_freq))
        
GPIO.cleanup()

Этот вопрос может принести дополнительную помощь на Raspberry PI stackexchange, где люди могут поговорить как о программировании, так и о физической настройке, чтобы помочь в дальнейшем устранении неполадок.

itprorh66 25.04.2024 23:28

Хорошо. я опубликую там

GuiDupas 26.04.2024 00:17
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
354
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я нашел сообщение, и там написано следующее:

Bookworm в ОС Raspberry Pi включает в себя предустановленный файл RPi.GPIO, который несовместим с Bookworm или Pi 5.

Сообщение: https://forums.raspberrypi.com/viewtopic.php?t=360130

Я использую Bookworm.

Решением является установка rpi-lgpio в Python.

pip uninstall rpi.gpio
pip install rpi-lgpio

Теперь это работает.

Другие вопросы по теме