RaspberryPi Picoでラジコン制作(Rev#4-2)

2025-09-16 raspi python 電子工作 /posts/2025/2025-09-16-raspi-pico-car-rev4-2.jpg

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機能付き)を使ってるので、遠隔でプログラムを操作する的なのもやれるといいんですが、まずは欲張らずにシンプルなのを作ろう(^^;

AIと働く(その2)