国产chinese实践打屁股3,春闺密事无删减版电影,欧美精品一本久久男人的天堂 ,亚洲av无码专区电影在线观看

當(dāng)前位置首頁 > 新聞資訊  > 支持中心 返回

通過RasPi 實現(xiàn) PWM 控制

來源:馬普科技(福州)有限公司  |  發(fā)布時間:2023年08月30日

來自 RasPi 的 PWM 控制

使用 Raspberry Pi 計算機(jī)控制 Survey3 的 Python 腳本

使用我們的HDMI PWM 觸發(fā)電纜,您可以將 PWM 命令發(fā)送到 Survey3 相機(jī)以執(zhí)行一些操作。

樹莓派設(shè)置

將 HDMI 電纜連接到相機(jī),將單伺服連接器連接到 RasPi GPIO 接頭上相應(yīng)的 GPIO 引腳,如下所示:

RASPI 上 GPIO 接頭的引腳圖

對于下面的代碼示例,我們將白色信號連接器連接到引腳 12 (GPIO18),將黑色接地連接器連接到引腳 14。

我們還將隨附的 Survey3 USB 電纜連接到 RasPi USB 端口之一。如果您不需要安裝/卸載 SD 卡或使用 USB 為相機(jī)供電,則可以將其保持?jǐn)嚅_狀態(tài)。


如果 RasPi 無法啟動且 USB 電纜已連接,則可能需要太多電流來為內(nèi)部相機(jī)電池充電。我們建議將相機(jī)電池取出,然后當(dāng) USB 線通電啟動時,它會自動打開相機(jī)。

所需的 PWM 信號需要始終發(fā)送“什么都不做”脈沖寬度。然后,僅當(dāng)我們想要執(zhí)行特定命令時才更改脈沖寬度。它只需要一個寬度較長的脈沖來執(zhí)行每個命令。

脈寬調(diào)制指令:

  • 1000us:什么都不做

  • 1500us:安裝/卸載 uSD 存儲卡(在 Survey3 相機(jī)內(nèi))

  • 2000us:觸發(fā)拍照

發(fā)送一次 1500us 命令以卸載(在軟件中)相機(jī)內(nèi)的 uSD 存儲卡,然后安裝到連接的 USB 計算機(jī) (RasPi),然后再次發(fā)送 1500us 以將 uSD 安裝回相機(jī)。這通常用于將捕獲的照片傳輸?shù)?RasPi 或?qū)D像進(jìn)行后期處理。


當(dāng) uSD 從相機(jī)上卸下時,它無法保存新拍攝的圖像。要在安裝時查看圖像,您需要使用WIFI 連接和相應(yīng)的 url 命令

脈寬調(diào)制代碼:

要發(fā)送 PWM 信號,您需要始終發(fā)送 1000us 的“無操作”脈沖寬度,然后當(dāng)您想要執(zhí)行命令時,您需要發(fā)送一個瞬時 1500us 或 2000us 寬度的脈沖。

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 設(shè)置為無操作 1000us,然后發(fā)送 2000us 觸發(fā)命令拍攝照片,然后返回發(fā)送無操作 1000us。最快的 2000us 命令應(yīng)該是大約每 1.5 秒發(fā)送一次,因為相機(jī)無法以超過 1.5 秒的速度捕獲 JPG 圖像。對于 RAW+JPG 模式,我們建議等待時間為 2.5-3.0 秒。

代碼可以設(shè)置為循環(huán)直到用戶退出(CTRL+Z),每 1.5 秒觸發(fā)一次捕獲命令:


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




二進(jìn)制

您還可以將其設(shè)置為接受用戶鍵盤輸入:

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()


二進(jìn)制

上面的代碼允許您輸入字母“t”,然后按“Enter”鍵,它會拍照。您可以鍵入“s + Enter”,它將從相機(jī)上卸載 uSD 卡,然后 RasPi 會將其顯示為可移動驅(qū)動器。再次鍵入“s + Enter”將從 RasPi 卸載并將 uSD 安裝回相機(jī)。

辽阳县| 商都县| 右玉县| 晋宁县| 汉源县| 宣化县| 洮南市| 车致| 锡林浩特市| 云浮市| 沽源县| 东辽县| 突泉县| 会泽县| 天祝| 积石山| 始兴县| 汝州市| 无为县| 南丰县| 安仁县| 望城县| 龙川县| 绍兴县| 邹城市| 白水县| 沈丘县| 泾川县| 永兴县| 舞阳县| 饶阳县| 昌邑市| 青阳县| 麦盖提县| 古田县| 留坝县| 赤峰市| 大名县| 瑞金市| 锡林郭勒盟| 扬中市|