樹莓派學習 5 呼叫pigpio庫使串列埠舵機轉動

2021-10-25 05:43:55 字數 3538 閱讀 7276

(1)開啟終端輸入

ls -l /dev
按回車會顯示當前的串列埠對映關係

(2)編輯輯 /boot/config.txt 檔案

在終端輸入

sudo nano /boot/config.txt
在檔案後面增加一句**

dtoverlay=pi3-miniuart-bt
按ctrl+x,按y儲存並退出

(3)重啟樹莓派

(4)輸入

ls -l /dev
再次檢視對映

(1)在終端輸入

刪除紅框內的內容(刪除console=serial0,115200)

刪除後如下圖

按ctrl+x,按y儲存並退出

(3)重啟樹莓派即可

到這裡修改串列埠對映關係已經完成

筆者這裡使用的是幻爾串列埠匯流排舵機

(1)啟動pigpio守護程序

在終端輸入

sudo pigpiod
如果沒有啟動pigpio,無法呼叫pigpio庫傳送資料

(2)執行例程

可新建python檔案,在終端cd 到python檔案目錄,再輸入 python3 檔名

舉個例子:

進入資料夾

輸入python3 檔名

例程程式如下:

#!

/usr/bin/python3

import serial

import pigpio

import time

pi = pigpio.pi(

) #初始化 pigpio庫

serialhandle = serial.

serial

("/dev/ttyama0"

,115200

) #初始化串列埠, 波特率為115200

####命令傳送

##def servowritecmd

(id, cmd, par1 = none, par2 = none)

: buf =

bytearray

(b'\x55\x55'

)try

: len =

3 #若命令是沒有引數的話資料長度就是3

buf1 =

bytearray

(b''

) ## 對引數進行處理

if par1 is not none:

len +

=2 #資料長度加2

buf1.

extend([

(0xff

& par1),(

0xff

&(par1 >>8)

)]) #分低8位 高8位 放入快取

if par2 is not none:

len +=2

buf1.

extend([

(0xff

& par2),(

0xff

&(par2 >>8)

)]) #分低8位 高8位 放入快取

buf.

extend([

(0xff

& id),(

0xff

& len),(

0xff

& cmd)])

buf.

extend

(buf1) #追加引數

##計算校驗和

sum =

0x00

for b in buf: #求和

sum +

= b sum = sum -

0x55

-0x55 #去掉命令開頭的兩個 0x55

sum =

~sum #取反

buf.

(0xff

& sum) #取低8位追加進快取

serialhandle.

write

(buf) #傳送

except exception as e:

print

(e)def portinit()

: #配置用到的io口

pi.set_mode(17

, pigpio.output) #配置rx_con 即 gpio17 為輸出

pi.write(17

,0) pi.

set_mode(27

, pigpio.output) #配置tx_con 即 gpio27 為輸出

pi.write(27

,1)def portwrite()

: #配置單線串列埠為輸出

pi.write(27

,1) #拉高tx_con 即 gpio27

pi.write(17

,0) #拉低rx_con 即 gpio17

def portread()

: #配置單線串列埠為輸入

pi.write(27

,0) #拉低tx_con 即 gpio27

pi.write(17

,1) #拉高rx_con 即 gpio17

portinit()

while true:

try:

portwrite

() #將單線串列埠配置為輸出

servowritecmd(1

,1,0

,1000

) #傳送命令 引數1 舵機id=

1, 引數2 命令 =

1, 引數3 位置 =

0, 引數4 時間 =

1000ms

time.

sleep

(1.1

)servowritecmd(1

,1,1000

,2000

) time.

sleep

(2.1

) except exception as e:

print

(e)break

樹莓派學習 一 啟動樹莓派

格式化選擇碟符時務必謹慎,千萬不要選錯!在sd卡的boot根目錄下新建乙個txt檔案,修改名稱為ssh 沒有字尾 插入網線 插入sd卡 給樹莓派供電。共享網際網路。開啟網路和internet共享設定 更改介面卡選項 右鍵wlan屬性 共享 允許其他網路使用者通過此計算機的internet連線 家庭網...

樹莓派golang呼叫wiringPi

用go搭建tcp伺服器,實在很方便,呼叫c寫的底層應用也很方便,有些特別注意的地方,紅色標記,以便以後查閱 package main cgo ldflags llib lwiringpi 編譯時鏈結wiringpi庫 include include include wiringpi.h void c...

樹莓派學習總結

一 ssh登陸問題 看教程說樹莓派的ssh是隨系統自動啟動的,但是在實際操作過程中發現一直ssh遠端連線不上。經過仔細排查問題,連線顯示器進行具體操作,發現樹莓派3的ssh設定上有一些問題,雖然支援自啟動,但還是需要自己手動進行修改。問題詳細介紹 1.用advanced ip scanner掃瞄區域...