4号機製作の続きです。Raspi Picoを試した時のコードを組み合わせてライントレースカー実装の準備を進めています。PWMの扱い方をよく分かってなくて苦戦しましたが、とりあえず動いたのが以下のコード。左右のフォトリフレクターの値に応じて、それぞれに紐づいた車輪が回転/停止します。
from machine import Pin, PWM, ADC
import time
ma1 = Pin(0, Pin.OUT)
ma2 = Pin(1, Pin.OUT)
map = PWM(Pin(2))
mb1 = Pin(3, Pin.OUT)
mb2 = Pin(4, Pin.OUT)
mbp = PWM(Pin(5))
led = Pin("LED", Pin.OUT)
pr1 = ADC(0)
pr2 = ADC(1)
# initialize
ma1.low()
ma2.low()
mb1.low()
mb2.low()
map.freq(1000)
map.duty_u16(30000)
mbp.freq(1000)
mbp.duty_u16(30000)
while True:
v1 = pr1.read_u16()
v2 = pr2.read_u16()
print("%d %d" % (v1,v2))
if v1 > 33000:
ma1.high()
else:
ma1.low()
if v2 > 33000:
mb1.high()
else:
mb1.low()
time.sleep(0.1)
さて、プログラムは簡単なんですが、問題は、どうやって載せるか。せっかくpico w(wifi機能付き)を使ってるので、遠隔でプログラムを操作する的なのもやれるといいんですが、まずは欲張らずにシンプルなのを作ろう(^^;