Welcome: Mputek (Фучжоу) Ко., Лтд
Chinese   English  Russian 
sales@mputek.com 0591-83517896

ШИМ-управление через RasPi

Скрипт Python для управления Survey3 с помощью компьютера Raspberry Pi

Почта

ШИМ-управление от RasPi

Скрипт Python для управления Survey3 с помощью компьютера Raspberry Pi

Используя наш триггерный кабель HDMI PWM, вы можете отправлять команды PWM на камеру Survey3 для выполнения некоторых действий.

Настройка малины Pi

Подключите кабель HDMI к камере, а один разъем сервопривода — к соответствующему контакту GPIO на разъеме RasPi GPIO следующим образом:

Схема контактов для заголовка GPIO на RASPI

В приведенном ниже примере кода мы подключаем белый сигнальный разъем к контакту 12 (GPIO18), а черный разъем заземления — к контакту 14.

Мы также подключили прилагаемый USB-кабель Survey3 к одному из USB-портов RasPi. Вы можете оставить его отключенным, если вам не нужно монтировать/демонтировать SD-карту или использовать USB для питания камеры.如果 RasPi 无法Если питание включено и USB-кабель подключен, для зарядки внутренней батареи камеры может потребоваться слишком большой ток. Мы рекомендуем вынуть батареи из камеры, тогда при включении USB-кабеля камера автоматически включится.

Желаемый ШИМ-сигнал должен всегда посылать ширину импульса «ничего не делать». Затем измените ширину импульса только тогда, когда мы хотим выполнить определенную команду. Для выполнения каждой команды требуется только один импульс большей ширины.

Инструкции по широтно-импульсной модуляции:

  • 1000us: ничего не делать

  • 1500us: подключение/отключение карты памяти USB (в камере Survey3)

  • 2000us: триггер для фотосъемки

Отправьте один раз команду 1500 мкс, чтобы размонтировать (в программном обеспечении) карту памяти USB внутри камеры, затем подключите ее к подключенному USB-компьютеру (RasPi), а затем отправьте еще 1500 мкс, чтобы снова подключить карту памяти USB к камере. Это часто используется для передачи захваченных фотографий в RasPi или для постобработки изображений.

Когда USB-накопитель отсоединен от камеры, он не может сохранять вновь снятые изображения. Для просмотра изображений во время установки вам потребуется соединение WIFI и соответствующая команда URL.

ШИМ-код:

Для отправки ШИМ-сигнала вам нужно всегда отправлять импульс шириной 1000 мкс «нет операции», затем, когда вы хотите выполнить команду, вам нужно отправить мгновенный импульс шириной 1500 мкс или 2000 мкс.

pin = 18  #set (BCM) GPIO pin to send GPIO.HIGH pulse


GPIO.setmode(GPIO.BCM)

GPIO.setup(pin, GPIO.OUT)

time.sleep(0.001) #1000us pulse width (do nothing)

GPIO.cleanup()


time.sleep(0.1)


GPIO.setmode(GPIO.BCM)

GPIO.setup(pin, GPIO.OUT)

GPIO.output(pin, GPIO.HIGH)

time.sleep(0.002) #2000us pulse width

GPIO.cleanup()

    

time.sleep(0.1)

    

GPIO.setmode(GPIO.BCM)

GPIO.setup(pin, GPIO.OUT)

time.sleep(0.001) #1000us pulse width (do nothing)

GPIO.cleanup()



Вышеприведенный код устанавливает PWM в состояние отсутствия операций в течение 1000 мкс, затем отправляет триггерную команду 2000 мкс, чтобы сделать снимок, а затем возвращается к отправке сигнала отсутствия операций в течение 1000 мкс. Самые быстрые команды 2000us должны отправляться примерно каждые 1,5 секунды, поскольку камера не может захватывать изображения JPG быстрее, чем за 1,5 секунды. Для режима RAW+JPG мы рекомендуем время ожидания 2,5–3,0 секунды.

Код можно настроить так, чтобы он зацикливался до тех пор, пока пользователь не выйдет (CTRL+Z), запуская команду захвата каждые 1,5 секунды:


import RPi.GPIO as GPIO

import time


GPIO.setwarnings(False)


pin = 18  #set (BCM) GPIO pin to send GPIO.HIGH pulse


try:

    while True:

    

        print("Command Sent\n")        

    

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        GPIO.output(pin, GPIO.HIGH)

        time.sleep(0.002) #2000us pulse width

        GPIO.cleanup()

    

        time.sleep(0.1)

    

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        time.sleep(0.001) #1000us pulse width (do nothing)

        GPIO.cleanup()

    

        time.sleep(1.5) #time delay between GPIO.HIGH pulses, >1.5s recommended


#to exit type CTRL+Z

except KeyboardInterrupt:

    pass





бинарный

Вы также можете настроить его на прием пользовательского ввода с клавиатуры:

import RPi.GPIO as GPIO

import time


GPIO.setwarnings(False)


pin = 18  #set (BCM) GPIO pin to send GPIO.HIGH pulse


GPIO.setmode(GPIO.BCM)

GPIO.setup(pin, GPIO.OUT)

time.sleep(0.001)

GPIO.cleanup()


print("\nCommands:")

print("t + Enter: Trigger (2000us)")

print("s + Enter: SD Card Mount/Unmount (1500us)")

print("e + Enter: Exit\n")


while True:

    key = input(">")

    if key == "t":

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        GPIO.output(pin, GPIO.HIGH)

        time.sleep(0.002)

        GPIO.cleanup()

        

        time.sleep(0.1)

        print("Trigger")        

        

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        time.sleep(0.001)

        GPIO.cleanup()


    if key == "s":

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        GPIO.output(pin, GPIO.HIGH)

        time.sleep(0.0015)

        GPIO.cleanup()

        

        time.sleep(0.1)

        print("SD Mount/UnMount")

        

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        time.sleep(0.001)

        GPIO.cleanup()


    if key == "e":

        print("Exiting\n")

        break

                

    else:        

        GPIO.setmode(GPIO.BCM)

        GPIO.setup(pin, GPIO.OUT)

        time.sleep(0.001)

        GPIO.cleanup()


бинарный

Приведенный выше код позволяет вам ввести букву «t», нажать «Enter», и он сделает снимок. Вы можете ввести «s + Enter», и карта USB будет отключена от камеры, а RasPi покажет ее как съемный диск. Повторный ввод «s + Enter» приведет к отключению от RasPi и подключению USB-накопителя обратно к камере.

Онлайн заказ

навигация по классам

Контакты

Контакты: г-н Лан

Тел.: 13358250301

Почта: sales@mputek.com

Whatsapp:+8613358250301

Адрес компании: 4-й этаж, здание 43, зона C, Software Park, район Гулоу, город Фучжоу, провинция Фуцзянь