さ~ぼも~た SG90 | 60歳を迎えて、思うこと。

60歳を迎えて、思うこと。

いつの間にか、「60」という年月が経ちました。
残り少ないか多いか?わかりませんが。
じじぃ~の「ひとりごと」を細々と続けられれば。。。

さ~ぼも~た SG90


さ~ぼも~た SG90

の ぐるぐる回転する型

# ==== 【Gemini】様
ラズパイピコでのリベンジ・プログラム

前回のコードを少し改造して、
連続回転型専用の動きをさせてみましょう。

```python
import machine
import utime

# サーボの信号ピン (GP15)
servo = machine.PWM(machine.Pin(15))
servo.freq(50)

def set_servo(val):
    # 連続回転型の場合: 90が停止、0と180が最大速
    duty = int((val / 180) * (8192 - 1638) + 1638)
    servo.duty_u16(duty)

print("連続回転型サーボ・テスト開始")

try:
    while True:
        print("右回転!")
        set_servo(0)
        utime.sleep(2)
        
        print("停止(ブレーキ)")
        set_servo(90)
        utime.sleep(2)
        
        print("左回転!")
        set_servo(180)
        utime.sleep(2)
        
        print("ゆっくり回転")
        set_servo(85) # 90に近いほど遅くなります
        utime.sleep(2)

except KeyboardInterrupt:
    servo.deinit()

```



 接続の確認(Arduinoの時と同じ色ですが念のため)

* 茶色: GND
* 赤色: VBUS (5V)
* オレンジ: GP15 (20番ピン)

 これが動いたらどうなる?

もしこれで「右に回って、止まって、左に回る」ができたら、いよいよ「スリップリング」がなくても、センサーを首振りさせるレーダーが作れます!

* 右に1秒回して、距離を測る。
* 左に1秒回して、距離を測る。

これで、正面だけでなく左右の障害物も検知できる「自律走行車」の目のような仕組みになります。

どうでしょう、今度は「意図した通り(回れ・止まれ)」に動いてくれそうですか?もし、90を指定しても「ゆっくり回ってしまう」場合は、個体差なので88とか92とかで調整すればピタッと止まりますよ!
# ==============================