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