色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何控制Pan/Tilt Servo設備來安置一個PiCam

新機器視覺 ? 來源:機器學習研究組訂閱號 ? 作者:機器學習研究組訂 ? 2020-11-03 09:45 ? 次閱讀

01. 導語在之前的某個教程里,我們探討了如何控制Pan/Tilt Servo設備來安置一個PiCam(樹莓派的相機)。這次,我們將使用你的設備來幫助相機自動地跟蹤某種顏色的物體,像下邊的動圖里那樣:

盡管這是我第一次使用OpenCV,但我必須承認,我已經愛上了這個“開源計算機視覺庫”。

OpenCV對學術用途和商業(yè)用途都免費。它有C++、C、PythonJava接口,并且支持Windows、Linux、MacOS、iOSAndroid系統。在我的OpenCV教程系列中,我們將專注于使用樹莓派(當然,操作系統就是Raspbian了)和Python。OpenCV為高效計算而生,極大地專注于實時應用。因此,它對于物理計算(即使用可以感知和響應模擬世界的軟件和硬件來構建交互式物理系統)項目來說,簡直再適合不過了!

02. 安裝 OpenCV 3 庫我使用的是安裝著目前最新的Raspbian版本(Stretch)的樹莓派V3。安裝OpenCV最好的辦法就是按照Adrian Rosebrock的這篇極棒的教程:Raspbian Stretch: Install OpenCV 3 + Python on your Raspberry Pi。

我在我的樹莓派上試了好幾種不同的OpenCV安裝教程,其中Adrian的是最棒的一篇。我建議各位讀者一步一步按照這篇教程的步驟做。

當你完成了Adrian的教程后,你的樹莓派應該已經安裝好了OpenCV的虛擬環(huán)境,并且可以進行我們的實驗了。

讓我們再次檢查一下虛擬環(huán)境并確認OpenCV 3已經正確安裝了。

Adrian建議每次打開新的終端都執(zhí)行一次“source”命令,從而確保你的系統變量已經正確設置:

source ~/.profile

接下來,進入我們的虛擬環(huán)境:

workon cv

如果你看到你的命令提示符之前多了個(cv),那說明你已經進入虛擬環(huán)境“cv”了。

(cv) pi@raspberry:~$

Adrian強調,Python虛擬環(huán)境“cv”是和Raspbian Stretch系統自帶的Python版本完全獨立的。也就是說,系統Python的site-packages目錄中的那些庫在虛擬環(huán)境“cv”中并不能使用——同樣,這個虛擬環(huán)境中的包在系統全局的Python版本中也是無法使用的。

現在,Python翻譯器,啟動!

python

同時,請確認你是用的是Python 3.5版本或者更高版本。

在翻譯器中(應該會有“>>>”提示符),導入OpenCV庫:

import cv2

如果沒有出現任何錯誤信息,說明OpenCV在你的虛擬環(huán)境中已經正確安裝~

03. 測試你的相機

既然你的樹莓派已經安裝好OpenCV了,那就先測試一下你的相機是否正常工作吧~(假設你已經在你的樹莓派上安裝PiCam了)

在你的IDE中輸入以下代碼:

import numpy as npimport cv2cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() frame = cv2.flip(frame, -1) # Flip camera vertically gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.imshow( frame , frame) cv2.imshow( gray , gray) if cv2.waitKey(1) & 0xFF == ord( q ): breakcap.release()cv2.destroyAllWindows()

上述代碼將捕獲你的PiCam的視頻流并使用BGR三色模式和灰度模式顯示。

請注意,我的相機在組裝過程中是上下顛倒的,所以我把得到的圖片垂直翻轉了。如果你并沒有我的情況,請刪掉frame = cv2.flip(frame, -1)那一行。

或者,你可以直接從我的GitHub下載該代碼:simpleCamTest.py

要執(zhí)行我的代碼,運行:

python simpleCamTest.py

要結束程序,請按鍵盤上的[q]鍵或[Ctrl]+[C]鍵。

下圖是我的結果:

要學習OpenCV的更多知識,可以參考以下教程:loading -video-python-opencv-tutorial

04. 使用 Python 與 OpenCV 進行顏色檢測我們想做的一件事情就是檢測并跟蹤某種顏色的物體。為此,我們必須理解一點OpenCV是如何翻譯顏色的。

關于顏色檢測,Henri Dang寫了一篇很棒的教程:Color Detection in Python with OpenCV。

通常,我們的相機是使用RGB顏色模式工作的。RGB顏色模式可以這樣認為:我們看到的所有可能的顏色都可以被三種顏色的光(紅,綠,藍)組成。然而,這里我們使用的OpenCV默認是BGR顏色模式,也就是將RGB的順序進行了調整。

正如以上所述,使用BGR顏色模式,每一個像素可以由三個參數——藍、綠、紅組成。每個參數通常是一個0~255之間的值(或者十六進制下0x00到0xFF)。比如,電腦屏幕上的純藍色的BGR值分別為:藍255,綠0,紅0。

OpenCV還使用一種RGB模型的替代——HSV(Hue色相,Saturation色度,Value色值)顏色模型,它是70年代的計算機圖形學研究者為了更好地與人類視覺對顏色屬性的感知方式相匹配而提出的。

好。如果你想要使用OpenCV跟蹤某一種確定的顏色,你必須使用HSV模型定義它。

示例比如說,我想要跟蹤下圖中的黃色塑料盒。首先要做的就是找出它的BGR值。你可以用很多辦法采樣(這里我用的是PowerPoint)。

我這里找到的是:

藍色:71

綠色:234

紅色:213

下面,我們需要將BGR模型(71, 234, 213)轉換為HSV模型,這將被定義為上下界取值范圍的形式。讓我們執(zhí)行以下代碼:

import sysimport numpy as npimport cv2 blue = sys.argv[1]green = sys.argv[2]red = sys.argv[3] color = np.uint8([[[blue, green, red]]])hsv_color = cv2.cvtColor(color, cv2.COLOR_BGR2HSV)hue = hsv_color[0][0][0] print("Lower bound is :"),print("[" + str(hue-10) + ", 100, 100]")print("Upper bound is :"),print("[" + str(hue + 10) + ", 255, 255]")

你也可以到GitHub下載我的這段代碼:bgr_hsv_converter.py

要執(zhí)行我的腳本,運行以下命令并把BGR值作為參數:

python bgr_hsv_converter.py 71 234 213

這個程序將會計算我們目標物體HSV值的上下界。給定以上參數會得到:

lower bound: [24, 100, 100]

以及

upper bound: [44, 255, 255]

以上結果將顯示在終端中。

最后讓我們看看OpenCV如何根據給出的顏色來選擇出我們的物體。

import cv2import numpy as np # Read the picure - The 1 means we want the image in BGRimg = cv2.imread( yellow_object.JPG , 1) # resize imag to 20% in each axisimg = cv2.resize(img, (0,0), fx=0.2, fy=0.2) # convert BGR image to a HSV imagehsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # NumPy to create arrays to hold lower and upper range# The “dtype = np.uint8” means that data type is an 8 bit integerlower_range = np.array([24, 100, 100], dtype=np.uint8)upper_range = np.array([44, 255, 255], dtype=np.uint8) # create a mask for imagemask = cv2.inRange(hsv, lower_range, upper_range) # display both the mask and the image side-by-sidecv2.imshow( mask ,mask)cv2.imshow( image , img) # wait to user to press [ ESC ]while(1): k = cv2.waitKey(0) if(k == 27): breakcv2.destroyAllWindows()

你也可以到GitHub下載我的這段代碼:colorDetection.py

要執(zhí)行我的腳本,運行以下命令并把圖片名作為參數(我這里的圖片為yellow_object.JPG):

python colorDetection.py

這個腳本將顯示原圖(“image”窗口)和OpenCV使用顏色范圍過濾后的掩膜(“mask”窗口)。

05. 移動物體跟蹤既然我們已經知道了如何用掩膜來選擇出我們的物體,那就讓我們用相機來實時跟蹤他的移動吧。為此,我基于Adrian Rosebrock的OpenCV小球目標跟蹤教程寫了我的代碼。

我強烈建議你詳細閱讀Adrian的教程。

首先,請確認你已經安裝了imutils庫。它是Adrian基于OpenCV自制的圖像處理基本任務(如修改尺寸、翻轉等)的易用函數集合。如果你還沒有安裝,請在你的Python虛擬環(huán)境中運行下面的命令安裝:

pip install imutils

下面,從我的GitHub下載ball_tracking.py代碼并用下面的命令執(zhí)行:

python ball_traking.py

你將會看到類似于下面的gif的結果:

總體而言,我與Adrian的代碼除了“視頻垂直翻轉”之外沒有什么不同:

frame = imutils.rotate(frame, angle=180)

請注意,這里使用的顏色掩膜的邊界值是我們在上一步得到的。

06. 測試通用 IO現在我們已經搞定OpenCV的基礎了,是時候給樹莓派裝個LED來試一下通用IO了。

請按照上圖的電路做:LED的負極接到GPIO 21口,正極接一個220Ω的電阻再連接GND。

現在使用我們的Python虛擬環(huán)境測試一下這個LED吧!

請注意,有可能你的Python虛擬環(huán)境還沒有安裝樹莓派的RPi.GPIO。如果還沒有的話,運行下面的命令即可使用pip安裝(請先確定自己在虛擬環(huán)境“cv”中):

pip install RPi.GPIO

現在用一個Python腳本來做個簡單的測試:

import sysimport timeimport RPi.GPIO as GPIO # initialize GPIO and variablesredLed = int(sys.argv[1])freq = int(sys.argv[2])GPIO.setmode(GPIO.BCM)GPIO.setup(redLed, GPIO.OUT)GPIO.setwarnings(False) print(" [INFO] Blinking LED (5 times) connected at GPIO {0} at every {1} second(s)".format(redLed, freq))for i in range(5): GPIO.output(redLed, GPIO.LOW) time.sleep(freq) GPIO.output(redLed, GPIO.HIGH) time.sleep(freq) # do a bit of cleanupprint(" [INFO] Exiting Program and cleanup stuff ")GPIO.cleanup()

上邊的代碼需要一個GPIO端口號和一個LED閃爍頻率作為參數。LED閃爍5次后程序結束。結束之前記得釋放GPIO。

也就是說,運行腳本時要給出兩個參數:“LED GPIO”和frequency。舉個例子:

python LED_simple_test.py 21 1

上邊的指令意味著使用“GPIO 21”上連接的LED燈,并且每1秒閃爍一次,總共閃爍五次。

同樣,上邊這段代碼也可以在GitHub下載:GPIO_LED_test.py

上邊的圖片顯示了我的程序結果。至于LED燈亮不亮,就要各位自己去檢驗啦。

好,下面讓我們把OpenCV和基本GPIO操作一起耍起來~

07. 識別顏色和GPIO(General-purpose input/output:通用型輸入輸出)交互讓我們開始集成 OpenCV 代碼和 GPIO 進行交互。我們會從 最后的OpenCV 代碼開始,并且我們將會把 GPIO_RPI 庫集成到代碼中,其目的是在攝像頭檢測到我們的著色物體時,能使紅色LED常亮。這一步驟使用的代碼是基于 Adrian 寫得非常不錯的教程OpenCV, RPi.GPIO, and GPIO Zero on the Raspberry Pi

第一件需要做的事情是:”創(chuàng)建“我們的LED對象,目的是為了連接上指定的GPIO。

import RPi.GPIO as GPIOredLed = 21GPIO.setmode(GPIO.BCM)GPIO.setwarnings(False)GPIO.setup(redLed, GPIO.OUT)

第二,我們必須初始化LED(關燈狀態(tài)):

GPIO.output(redLed, GPIO.LOW)ledOn = False

現在,在代碼循環(huán)體中,當物體被檢測到,”圓“被創(chuàng)建時,我們會把LED燈打開

GPIO.output(redLed, GPIO.HIGH)ledOn = True

你可以在我的GitHub庫中下載到完整的代碼:object_detection_LED.py

運行代碼使用到的命令行:

python object_detection_LED.py

下面的圖片就是實現的效果。提示:當物體被檢測到時,在圖片左下方的LED燈就會亮著。

試試不同顏色,不同形式的物體,你會發(fā)現一旦顏色和掩碼范圍內匹配的話,LED燈就會亮起來。

下面的視頻顯示了一些經驗。要注意的是,只有在色值一定范圍內的黃色物體才會被檢測到,LED等會亮起來。而其他不同顏色的物體則會被略過。

正如最后一步解釋的那樣,我們只是用到了LED燈。但是在視頻中,攝像頭卻集成了云臺(Pan Tilt:指攝像頭可全方位左右/上下移動),所以不妨先忽略它。我們會下一步驟中實現云臺機制。

08. 云臺機制

現在我們已經用上了基本的 OpenCV 和 GPIO,那么接下來我們升級一下云臺機制。

獲取更多細節(jié),請查看我的教程:Pan-Tilt-Multi-Servo-Control

伺服(servo:一種微型電子機械產品的合體轉置)需要連接額外的 5V 電力供應模塊,并且這些伺服使用它們的數據插口(在我這邊,它們是黃色的布線)連接草莓派的 GPIO,連接方式如下:

GPIO 17 ==> 傾斜伺服

GPIO 27 ==> 水平伺服

不要忘記了將 GND(GND:ground,接地端)引腳 也連到一起 ==> 草莓派——伺服——額外電力供應模塊

你有個可選項:在草莓派 GPIO 和 服務端的數據輸入引腳之間串聯一個 1K 歐姆的電阻。這個舉措可以在伺服發(fā)生問題時保護你的草莓派。

讓我們一起用這個機會在 虛擬 Python 環(huán)境中測試一下我們的伺服。
我們執(zhí)行 Python 腳本來測試一下驅動器

from time import sleepimport RPi.GPIO as GPIO) GPIO.setmode(GPIO.BCM)GPIO.setwarnings(False)def setServoAngle(servo, angle): pwm = GPIO.PWM(servo, 50) pwm.start(8) dutyCycle = angle / 18. + 3. pwm.ChangeDutyCycle(dutyCycle) sleep(0.3) pwm.stop() if __name__ == __main__ :import sys servo = int(sys.argv[1]) GPIO.setup(servo, GPIO.OUT) setServoAngle(servo, int(sys.argv[2])) GPIO.cleanup()

上面代碼的核心是 setServoAngle(servo, angle)方法。這個方法會接收的參數有:一個 GPIO 數字,一個伺服被定位的角度值。一旦把角度值輸入到這個方法中,我們必須將其轉換到等效的工作周期中(duty cycle:指伺服進入角度變化的時間段)。

執(zhí)行腳本時,你要輸入兩個參數值:GPIO 伺服對應的端口以及角度值。

例如:

python angleServoCtrl.py 17 45

上面的命令行會將在 連接在GPIO 17端口的伺服(傾斜伺服)定位到45度的”海拔“上。

angleServoCtrl.py 文件可以在我的GitHub上下載到。

09. 實時獲取物體位置將物體定位到屏幕中央的想法會使用到云臺機制。實現這個想法壞消息是 我們必須實時地定位到物體的位置,但好消息是 如果我們已經知道了物體中心坐標點,這將會很容易。

首先,我們使用之前用過的”object_detect_LED“代碼,以及修改該代碼,以打印出檢測物體的 x,y坐標點。

代碼可以從我的GitHub中下載到:objectDetectCoord.py

代碼核心邏輯是:在檢測到的物體區(qū)域畫出一個圓,并且在圓的中心畫一個紅點。

# only proceed if the radius meets a minimum sizeif radius > 10: # draw the circle and centroid on the frame, # then update the list of tracked points cv2.circle(frame, (int(x), int(y)), int(radius), (0, 255, 255), 2) cv2.circle(frame, center, 5, (0, 0, 255), -1) # print center of circle coordinates mapObjectPosition(int(x), int(y)) # if the led is not already on, turn the LED on if not ledOn: GPIO.output(redLed, GPIO.HIGH) ledOn = True

我們輸出中心點坐標到 mapObjectPosition(int(x), int(y))方法中,目的是打印這些坐標點。方法如下:

def mapObjectPosition (x, y): print ("[INFO] Object Center coordinates at X0 = {0} and Y0 = {1}".format(x, y))

在跑這個程序時,我們會看到在命令行終端上輸出的 (x,y)坐標點,如下圖所示:

太好了!我們可以使用這些坐標點作為云臺追蹤系統的開始點。

10. 物體位置追蹤系統我們想要目標始終在屏幕的中央,我們來定義一下,例如:假如滿足下方條件,我們就認為物體在中央:

220 < x < 280

160 < y < 210

而在這個界限之外的話,我們就需要通過移動云臺裝置來修正偏差。基于這個邏輯,我們可以構建如下方法mapServoPosition(x, y)。需要注意的是,該方法中使用到的”x“和”y“是和我們之前打印出來的中心位置一樣的。

# position servos to present object at center of the framedef mapServoPosition (x, y): global panAngle global tiltAngle if (x < 220): panAngle += 10 if panAngle > 140: panAngle = 140 positionServo (panServo, panAngle) if (x > 280): panAngle -= 10 if panAngle < 40: panAngle = 40 positionServo (panServo, panAngle) if (y < 160): tiltAngle += 10 if tiltAngle > 140: tiltAngle = 140 positionServo (tiltServo, tiltAngle) if (y > 210): tiltAngle -= 10 if tiltAngle < 40: tiltAngle = 40 positionServo (tiltServo, tiltAngle)

基于這些(x,y)坐標點,并使用方法positionServo(servo, angle),伺服位置命令已經產生了。舉個例子:假如”y“的位置是”50“,這就意味著我們的物體幾乎在屏幕的頂部,也就是說 攝像頭的視野是往下的(比如說傾斜裝置處于120°上),所以要調低傾斜裝置的角度(比如說調到100°),如此一來,攝像頭的視野將會抬高,進而使得物體在屏幕上就會往下方移動(比如 y坐標提高到190的位置)。

上面的圖例在幾何上解釋了舉的例子。

思考一下水平裝置上的攝像頭如何移動的。要注意的是 屏幕并不是鏡像映射的,也就是說,當你面對著攝像頭時,如果你將物體移動到”你的左邊“,但在屏幕上看,物體卻會在”你的右邊“移動。

positionServo(servo, angle)方法可以寫成這樣:

def positionServo (servo, angle): os.system("python angleServoCtrl.py " + str(servo) + " " + str(angle)) print("[INFO] Positioning servo at GPIO {0} to {1} degrees".format(servo, angle))

上面的代碼中,我們將會調用之前展示的伺服移動腳本。

注意:angleServoCtrl.py一定要和 objectDetectTrac.py 在同一個目錄下。

完整的代碼可以從我的GitHub上下載:objectDetectTrack.py

下面的gif 展示了我們的項目運行的效果:

11. 結論

我一如既往地希望這個項目能幫助其他人找到進入激動人心的電子世界的入口。

想要獲取項目細節(jié)以及最終的代碼,可以瀏覽我的GitHub倉庫:OpenCV-Object-Face-Tracking 。

而想了解更多的項目,請瀏覽我博客:MJRoBot.org

下面是我下一篇教程的預告,我們將會探索”人臉追蹤和檢測“。

向你們發(fā)出來自世界南半球的問候!

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 自動化
    +關注

    關注

    29

    文章

    5620

    瀏覽量

    79541
  • 計算機視覺
    +關注

    關注

    8

    文章

    1700

    瀏覽量

    46085
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41478

原文標題:實踐干貨 | 自動化視覺跟蹤

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    貿澤電子開售適合工業(yè)和智能家居應用的 Panasonic Industrial Devices PAN9019和PAN9019A Wi-Fi 6雙頻無線模塊

    Devices全新的PAN9019和PAN9019A系列Wi-Fi? 6雙頻2.4GHz/5GHz/藍牙5.4模塊。PAN9019系列是先進的Wi-Fi/藍牙模塊,具有出色的連接能力,可滿足工業(yè)物聯網
    發(fā)表于 12-13 15:19 ?102次閱讀

    雙開關控制燈怎么接線

    雙開關控制燈的接線方法主要有以下幾種,每種方法都有其特定的應用場景和接線方式: 、串聯接線法 接線步驟 : 將電源線的火線(L)與
    的頭像 發(fā)表于 10-09 15:57 ?7492次閱讀

    如何控制普通電機的轉動角度

    (Stepper Motor)和伺服電機(Servo Motor)。每種電機都有其特定的控制方式和應用場景。 直流電機 :通過改變電源電壓或電流來控制轉速和方向。 步進電機 :通過發(fā)送脈沖信號來
    的頭像 發(fā)表于 09-03 10:42 ?906次閱讀

    制作簡單手機充電器的步驟教程

    你有沒有想過手機充電器是如何工作的,或者小型設備如何將220 – 230伏的交流電源轉換為5伏或所需的電壓?在這個項目中,我們將解釋用于通過將 220 伏交流電源轉換為手機電源額定值來安
    的頭像 發(fā)表于 08-12 18:11 ?1860次閱讀
    制作<b class='flag-5'>一</b><b class='flag-5'>個</b>簡單手機充電器的步驟教程

    經典藍牙協議PAN詳解

    藍牙 Profile定義了藍牙設備之間如何進行通信以及實現特定的功能和應用場景。正是由于各種Profile的存在拓展出了藍牙豐富的應用場景,例如A2DP、HFP、HID等。PAN Profile便提供了藍牙設備接入以太網絡的能力
    的頭像 發(fā)表于 07-17 09:25 ?3399次閱讀
    經典藍牙協議<b class='flag-5'>PAN</b>詳解

    ESP-WROOM-02云端設備控制失敗是什么原因?

    Espressif APP(android)。smartconfig 是OK的,然后激活成功了,當手機和芯片在同一個路由器下面,顯示的是本地設備,使用light的控制,可以在串口上面看到打印的效果
    發(fā)表于 07-15 08:06

    esp8266中斷不準的原因?

    我使用esp8266 及 http服務來控制servo servo需要約每10ms更新次pwm值 (從i2c寫值給pwm ic控制)
    發(fā)表于 07-11 07:36

    使用wear_level api來安裝fat文件系統,如何格式化FAT文件系統?

    我使用wear_level api來安裝fat文件系統。 在使用過程中發(fā)現,在向該地址中寫入文件的時候斷電,將導致這份文件之后無法操作,還會占用文件位置。當這樣的情況出現多次,占用的文件位置過多
    發(fā)表于 06-26 06:51

    伺服控制器與PLC的區(qū)別

    在現代工業(yè)自動化領域中,伺服控制器(Servo Controller)和可編程序控制器(Programmable Logic Controller,簡稱PLC)是兩至關重要的
    的頭像 發(fā)表于 06-13 17:26 ?3391次閱讀

    工業(yè)自動化控制設備包括什么設備

    工業(yè)自動化控制設備是現代工業(yè)生產中不可或缺的部分,它們通過自動化技術實現生產過程的高效、穩(wěn)定和精確控制。本文將詳細介紹工業(yè)自動化控制
    的頭像 發(fā)表于 06-11 11:04 ?2231次閱讀

    工業(yè)控制設備有哪些類型

    工業(yè)控制設備是現代工業(yè)生產中不可或缺的部分,它們通過自動化、智能化的方式,提高了生產效率,降低了生產成本,保證了產品質量。本文將詳細介紹工業(yè)控制
    的頭像 發(fā)表于 06-11 10:49 ?1932次閱讀

    DIY推薦!基于 ESP32 做的三舵機機械螞蟻

    。 但在這個項目中只用到三舵機、夾爪和點機械設備,就實現了只極簡主義的螞蟻機器人,除開
    發(fā)表于 03-28 09:40

    輕量級的LED控制模塊

    比如LED周期控制函數為100ms,理論上設置500ms間隔閃爍,則需要占用10bit,但是增加bit時間顆粒度變量,只需要占用兩b
    發(fā)表于 02-29 11:43 ?619次閱讀

    PAN24001產品警報通知

    電子發(fā)燒友網站提供《PAN24001產品警報通知.pdf》資料免費下載
    發(fā)表于 02-21 11:08 ?0次下載
    <b class='flag-5'>PAN</b>24001產品警報通知

    電位器兩地控制變頻器,如何接線?

    電位器兩地控制變頻器,如何接線? 接線方式如下: 1. 首先,明確需要使用的電器設備。在這個場景中,我們需要兩
    的頭像 發(fā)表于 02-05 10:13 ?5672次閱讀
    主站蜘蛛池模板: 久久黄视频 | 97亚洲狠狠色综合久久久久 | 久久九九免费 | 老师那里好大又粗h男男 | 国产精品久久久久影院色 | 欧美狂野乱码一二三四区 | 午夜性伦鲁啊鲁免费视频 | 国产成人亚洲精品无广告 | 99在线观看免费视频 | 蜜桃狠狠色伊人亚洲综合网站 | 亚洲精品国产AV成人毛片 | 美女尿口羞羞视频 | 国产精品久久久久影院 | 日韩精品亚洲专区在线影院 | 黑丝袜论坛 | 十九禁啊啪射视频在线观看 | 国产午夜永久福利视频在线观看 | 午夜国产精品免费观看 | WWW国产亚洲精品久久久日本 | jiizzyou欧美喷液| 国产亚洲精品久久久久久鸭绿欲 | 久久国产加勒比精品无码 | 十九岁韩国电影在线观看 | 99久久999久久久综合精品涩 | 日韩精品久久久久久久电影 | 日韩在线av免费视久久 | 亚洲三级黄色 | 国产乱子影视频上线免费观看 | 果冻传媒剧情在线观看 | 久久精品99热超碰 | 亚洲国产成人精品不卡青青草原 | 国产精品免费大片 | 亚洲精品AV一二三区无码 | 狠狠色综合7777久夜色撩人 | 学生小泬无遮挡女HD | 精品一卡2卡三卡4卡乱码精品视频 | 动漫女生的逼 | 成人在线免费观看 | 国产亚洲精品成人AV久久 | 久久超碰国产精品最新 | 欧美午夜精品一区二区蜜桃 |