不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

CrowPiレッスン12:ステップモーターを使用し、ステップ動作を行う

2020-11-08 16:24:49 | CrowPi

Using the step motor and making step movements.

レッスン12"ステップモーターを使用し、ステップ動作を行う"をやっていく。
ステップモーターを使えるようになれば、ロボットや3Dプリンターなど応用の幅が広がる。

何を学習するか

このレッスンを終了すると、次のことができるようになります。
  • ステップモーターを制御し、ステップ動作を行う方法を学びます

何が必要か

  • 初期設定後のCrowPiボード
  • ステップモーター(CrowPiキットに含まれています)

Requires switching modules using the switch

  • はい、右スイッチ-ピン番号3,4,5,6-スイッチを上にしてオンにします(センサーの切り替え方法を忘れた場合は、ページ番号5を参照してください)

CrowPi上のステップモーターモジュールの位置



↑そこにステップモーターを接続

ステップモーターの操作

このレッスンで使用するPythonスクリプトは以下の通り。

Examples/stepmotor.py
import time
import RPi.GPIO as GPIO
import math

class Stepmotor:

def __init__(self):

 # set GPIO mode
 GPIO.setmode(GPIO.BCM)
 # These are the pins which will be used on the Raspberry Pi
 self.pin_A = 5
 self.pin_B = 6
 self.pin_C = 13
 self.pin_D = 19
 self.interval = 0.010

 # Declare pins as output
 GPIO.setup(self.pin_A,GPIO.OUT)
 GPIO.setup(self.pin_B,GPIO.OUT)
 GPIO.setup(self.pin_C,GPIO.OUT)
 GPIO.setup(self.pin_D,GPIO.OUT)
 GPIO.output(self.pin_A, False)
 GPIO.output(self.pin_B, False)
 GPIO.output(self.pin_C, False)
 GPIO.output(self.pin_D, False)
(省略)
def main():

 print("moving started")
 motor = Stepmotor()
 print("One Step")
 motor.turnSteps(1)
 time.sleep(0.5)
 print("20 Steps")
 motor.turnSteps(20)
 time.sleep(0.5)
 print("quarter turn")
 motor.turnDegrees(90)
 print("moving stopped")
 motor.close()

if __name__ == "__main__":
 main()

例のごとく、GPIO.setmodeとpin番号を修正。

修正後
 # set GPIO mode
 GPIO.setmode(GPIO.BOARD)
 # These are the pins which will be used on the Raspberry Pi
 self.pin_A = 29
 self.pin_B = 31
 self.pin_C = 33
 self.pin_D = 35

 self.interval = 0.010

このスクリプトを実行すると、ステップモーターがブルブル震え出すが特段何が動く様子はなかった。
てっきり軸の部分が回転するものだと思ってた😅
そもそもステップモーターって何だ?
ロボットとかに使えるんだよね?🤔







最新の画像もっと見る