關於樹莓派控制電機 Python

2021-08-06 07:59:39 字數 1684 閱讀 1286

乙個月前開始玩樹莓派3,由於樹莓派是基於linux系統,用python語言來控制。所以入門python語言,當然最爽的就是驅動電機,根據自己的想法來控制。不得不說,python語言控制很有優勢,**簡單而且沒有很多繁瑣的邏輯。所以近些年他上公升的快也是有道理的。乙個讓我印象最深的就是不需要先變數宣告,跟c語言完全不一樣。據了解,如果做遊戲,該語言是不二之選。最後將電機的控制整理如下:

#!/usr/bin/python

#coding: utf8
import rpi.gpio as gpio

import time

import sys

from array import *

gpio.setwarnings(false)

gpio.setmode(gpio.board)

steps = int(sys.argv[1]);

clockwise = int(sys.argv[2]);

arr = [0,1,2,3];

if clockwise!=1:

arr = [3,2,1,0];

ports = [40,38,36,35] # gpio 21(pin 40) gpio 20(pin 38) gpio 16(pin 36) gpio 19(pin 35)

for p in ports:

gpio.setup(p,gpio.out)

for x in range(0,steps):

for j in arr:

time.sleep(0.01)

for i in range(0,4):

if i == j:

gpio.output(ports[i],true)

else:

gpio.output(ports[i],false)

執行方法:執行 python motor.py 90 0 可以順時針轉動大約80度。

執行 python motor.py 90 1 則可逆時針轉動大約80度。

說明:該程式可以用來控制小電流的步進電機,也可以用來控制無刷電機(只需要將節拍改掉即可)

也可參考下面的**,利用l298n驅動板來控制,並實現pwm調控。樹莓派的sleep是毫秒級的。

import rpi.gpio as gpio

import time, sys

#我用的第12個引腳

pin = 12

gpio.setmode(gpio.board)

gpio.setup(pin, gpio.out)

#頻率設定為400hz

p = gpio.pwm(pin, 400)

p.start(0)

#占空比從10開始,逐漸加到90

該鏈結是講關於步進電機控制攝像頭的,非常不錯。

樹莓派控制電機轉速 樹莓派控制l298n驅動電機

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 樹莓派控制l298n驅動電機,如下 import rpi.gpio as gpio import timegpio.setmode gpio.board 使用board引腳編號,此外還有 gpio.bcm in1 11 in2 12 in3 13 in4...

樹莓派控制舵機和步進電機

import rpi.gpio as gpio import time pwm gpio.pwm pin,frequence 建立pwm例項 pwm.start dc 啟動pwm dc值 占空比 0.0pwm.changefrequency freq 改變pwm頻率 pwm.changedutycy...

樹莓派python控制舵機 樹莓派控制舵機資料

舵機介紹 樹莓派pwm函式介紹 舵機角度和占空比對應的關係動畫。對應關係如下,範圍為 90 到 90 為了方便計算,可以將其對映到0 180 角度20ms內脈衝寬度 占空比對映後角度 90 0.5ms 2.5 0 45 1ms5.0 45 0 1.5ms 7.5 90 45 2ms10.0 135 ...