import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(22, GPIO.OUT) while 1: GPIO.output(22, True) time.sleep(0.5) GPIO.output(22, False) time.sleep(0.5)
まずは、RPi.GPIO の方でディジタル出力を確認しました。LEDと抵抗を出力ピンとグランドの間に入れて、上記のソースでLEDの点滅を確認しました。 次に、WiringPi の方でPWM出力を試してみました。
import wiringpi
import time
io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS)
io.pinMode(1, io.PWM_OUTPUT)
while 1:
count = 0;
while count < 100:
io.pwmWrite(1, count)
count += 1
time.sleep(0.1)
while count > 0:
io.pwmWrite(1, count)
count -= 1
time.sleep(0.1)
抵抗は通さずに、PWM出力ピン→LED→GNDに接続してしまうことにしました。
タイマーでじわじわ明るくなったり、暗くなったりするのを確認。調子に乗って、Motor Shieldを装着。
動きました。PWM出力以外のdirectionピンやbrakeピンを初期化していなかったのと、アナログ出力の設定値が0~254だと勝手に思っていたんですが、実際には0~1023でした。Arduinoでは254なので、そう思い込んでいて、LEDくらいは光るけどモータを動かすには足りない値を設定していたようです。breakピンの状態に寄ってはブレーキがかかっていたかもしれません。





0 件のコメント:
コメントを投稿