樹(shù)莓派伺服電機(jī)的網(wǎng)頁(yè)控制使用Flask
伺服電機(jī)是機(jī)器人技術(shù)中常用的電機(jī)。與Arduino, Raspberry Pi和NodeMCU等微控制器進(jìn)行接口和控制伺服電機(jī)非常容易。早些時(shí)候,我們使用Arduino Uno和ESP8266從網(wǎng)頁(yè)控制伺服電機(jī)。在這個(gè)項(xiàng)目中,我們將伺服電機(jī)與樹(shù)莓派連接,并通過(guò)托管在樹(shù)莓派上的網(wǎng)頁(yè)控制它。
該網(wǎng)頁(yè)將使用Flask Web框架創(chuàng)建樹(shù)莓派伺服電機(jī)控制。網(wǎng)頁(yè)將有一個(gè)滑塊和一個(gè)提交按鈕,它將發(fā)送滑塊值到樹(shù)莓派按下提交按鈕。在基于物聯(lián)網(wǎng)的應(yīng)用中,web服務(wù)器用于使用web瀏覽器控制或監(jiān)控任何傳感器值,我們以前使用Arduino, ESP8266, NodeMCU, ESP32,樹(shù)莓派等創(chuàng)建了許多web服務(wù)器。
Flask是一個(gè)流行的Python web框架,由Pocoo的Armin Ronacher開(kāi)發(fā)。它是用于開(kāi)發(fā)web應(yīng)用程序的第三方Python庫(kù)。Flask被歸類為微框架,它基于Pocoo項(xiàng)目Werkzeug和Jinja2。Flask在樹(shù)莓派上非常常用,因?yàn)闃?shù)莓派有Linux操作系統(tǒng),可以很容易地處理Python腳本。樹(shù)莓派由于其高處理能力和內(nèi)置Wi-Fi功能,在創(chuàng)建web服務(wù)器和基于物聯(lián)網(wǎng)的項(xiàng)目中也很受歡迎。
組件的要求
?覆盆子π
?SG90伺服電機(jī)
?跳線
線路圖
用樹(shù)莓派控制伺服電機(jī)的電路圖如下:
這個(gè)項(xiàng)目的電路圖非常簡(jiǎn)單;你需要將伺服電機(jī)連接到樹(shù)莓派上。將伺服電機(jī)的紅線接樹(shù)莓派的5V,黑線接地,黃線接GPIO 21,即樹(shù)莓派的40引腳。
安裝Flask模塊和庫(kù)
在這里,我們將使用以下命令安裝Flask模塊和庫(kù):
首先,使用以下命令更新樹(shù)莓派
現(xiàn)在,安裝pip和Rpi。Gpio庫(kù)使用以下命令:
現(xiàn)在使用下面的命令來(lái)安裝Flask:
Python程序說(shuō)明
這個(gè)伺服電機(jī)與樹(shù)莓派項(xiàng)目接口的完整python代碼在文檔的末尾給出。
通過(guò)導(dǎo)入所需的庫(kù)文件來(lái)啟動(dòng)代碼。導(dǎo)入GPIO、Flask和sleep庫(kù)。GPIO功能使我們能夠?qū)I的GPIO引腳進(jìn)行編程。Sleep函數(shù)用于提供延遲,F(xiàn)lask用于創(chuàng)建Web應(yīng)用程序。
定義伺服電機(jī)連接的樹(shù)莓派GPIO引腳
將伺服引腳聲明為輸出
設(shè)置伺服電機(jī)PWM通道頻率為50 Hz
啟動(dòng)PWM信號(hào)生成。
下面的命令用于從網(wǎng)頁(yè)中獲取滑塊值,并根據(jù)滑塊移動(dòng)來(lái)移動(dòng)伺服電機(jī)。
運(yùn)行樹(shù)莓派Web服務(wù)器控制伺服電機(jī)
一旦你的代碼準(zhǔn)備好了,伺服電機(jī)按照電路圖連接,打開(kāi)PI來(lái)寫(xiě)程序。
使用以下命令創(chuàng)建servo.py文件:
現(xiàn)在將給定的內(nèi)容粘貼到末尾,并使用以下命令運(yùn)行python代碼:
現(xiàn)在導(dǎo)航到樹(shù)莓派Web瀏覽器,輸入頁(yè)面,如下所示。
最后,移動(dòng)滑塊并按下提交按鈕以旋轉(zhuǎn)伺服電機(jī)。如果向右移動(dòng)滑塊,則電機(jī)將沿逆時(shí)針?lè)较蛞苿?dòng),如果向左移動(dòng)滑塊,則電機(jī)將沿順時(shí)針?lè)较蛞苿?dòng)
這是如何使用Python語(yǔ)言控制伺服步進(jìn)電機(jī)。通過(guò)在路由器中啟用端口轉(zhuǎn)發(fā),您可以通過(guò)輸入ISP(互聯(lián)網(wǎng)服務(wù)提供商)提供的靜態(tài)IP來(lái)控制世界上任何地方的步進(jìn)電機(jī)。
本文編譯自iotdesignpro