2008年発売の秋月のキット、2012年くらいに一つ作っていましたが、10年ぶりにもうひとつ組んでいます。半田づけ作業中、眼鏡を外した方が楽になってしまいましたが…
合計100個の超音波素子をつける作業も終わりました。
前回↓はエネループ10本の電池ボックスをグリップにしてハンドガンぽくプラ板で仕上げましたが、今回はどういう筐体にするか思案中です。
小林@筑波技大/福祉工学やら支援技術やら
2008年発売の秋月のキット、2012年くらいに一つ作っていましたが、10年ぶりにもうひとつ組んでいます。半田づけ作業中、眼鏡を外した方が楽になってしまいましたが…
合計100個の超音波素子をつける作業も終わりました。
前回↓はエネループ10本の電池ボックスをグリップにしてハンドガンぽくプラ板で仕上げましたが、今回はどういう筐体にするか思案中です。
これまでArduinoやESPだけしか触ってきませんでしたが、Micropythonで動くので学生受けもよさそうかな…と思ってRaspberry Pi Picoに手を出してみることにしました。
とりあえずサーボです。「Raspberry pi Pico servo/サーボ」などと検索すれば1つ動かすサンプルはいくつも出てくるのですが、スレッドで2つ動かしたいので適当に書いてみます。
from machine import PWM, Pin
from time import sleep
import _thread
servo_1 = PWM(Pin(0))
servo_1.freq(50)
servo_2 = PWM(Pin(1))
servo_2.freq(50)
angle_0 = int(2.5 / 20 * 65536)
angle_90 = int(1.5 / 20 * 65536)
angle_180 = int(0.5 / 20 * 65536)
def Move_1():
while True:
servo_1.duty_u16(angle_0)
sleep(0.5)
servo_1.duty_u16(angle_90)
sleep(0.5)
servo_1.duty_u16(angle_180)
sleep(0.5)
def Move_2():
while True:
servo_2.duty_u16(angle_0)
sleep(1)
servo_2.duty_u16(angle_90)
sleep(1)
servo_2.duty_u16(angle_180)
sleep(1)
_thread.start_new_thread(Move_1, ())
Move_2()
無事それっぽいリズムを刻む動きをしてくれました。
最初、2つともスレッドにしていて少しハマりました。
(最終行を「_thread.start_new_thread(Move_2, ())」と書いていた)
PicoはPWMを2系統しか出せないようなので、3つ以上のサーボを動かすには別途コントローラが必要ですね。
© 2024 M.Kobayashi's Page
Theme by Anders Noren — 上へ ↑