サーボモータとの配線を完了する。
Raspberry Pi用の電源はスマートフォンの充電器(5V 2A)からとり、
サーボモータ用には別途用意する。
(本当は、ラズパイの電源もモバイルバッテリー等からとりたいけど、それまで
載せたら、脚が崩壊する)
当初単3電池4本でやってみたが、重過ぎで、ブラケット部の歪みが激しい。
そこで、単4電池にしてみたところ、何とか姿勢を維持できるようになった。
サーボモータを制御する為のシェルスクリプトを適当に作る。
兎にも角にも、動かしたいので、スクリプトの体裁は考えない。
#!/bin/bash hservo=(0 2 4 6) vservo=(1 3 5 7) function home(){ for i in ${hservo[@]};do echo $i=50% > /dev/servoblaster done echo 0=55% > /dev/servoblaster echo 4=45% > /dev/servoblaster for i in ${vservo[@]};do echo $i=50% > /dev/servoblaster done echo 7=45% > /dev/servoblaster } function star(){ echo 0=65% > /dev/servoblaster echo 2=40% > /dev/servoblaster echo 4=35% > /dev/servoblaster echo 6=60% > /dev/servoblaster sleep 0.1 echo 1=30% > /dev/servoblaster echo 3=70% > /dev/servoblaster echo 5=70% > /dev/servoblaster echo 7=30% > /dev/servoblaster sleep 0.5 echo 1=70% > /dev/servoblaster echo 3=30% > /dev/servoblaster echo 5=30% > /dev/servoblaster echo 7=70% > /dev/servoblaster sleep 0.5 echo 1=30% > /dev/servoblaster echo 3=70% > /dev/servoblaster echo 5=70% > /dev/servoblaster echo 7=30% > /dev/servoblaster } function first(){ echo 1=70% > /dev/servoblaster echo 7=60% > /dev/servoblaster sleep 0.2 echo 0=65% > /dev/servoblaster echo 6=40% > /dev/servoblaster echo 2=40% > /dev/servoblaster echo 4=55% > /dev/servoblaster sleep 0.1 echo 1=30% > /dev/servoblaster echo 7=30% > /dev/servoblaster } function second(){ echo 5=30% > /dev/servoblaster echo 3=30% > /dev/servoblaster sleep 0.2 echo 2=60% > /dev/servoblaster echo 4=35% > /dev/servoblaster echo 0=45% > /dev/servoblaster echo 6=60% > /dev/servoblaster sleep 0.1 echo 5=70% > /dev/servoblaster echo 3=70% > /dev/servoblaster } home sleep 0.5 star sleep 0.5 for((i = 0; i < 5; i++));do first sleep 0.5 second sleep 0.5 done sleep 1 star
じゃあ、動かしてみよう。
デスクトップPCからSSHでRaspberry Piへログインし、先ずはsudoでServoBlasterを起動。
シェルスクリプトを動かす。
まあ、真っ直ぐ進まないのはご愛嬌。
何せ手作り故、脚部の加工精度なんて出てない。多少は補正を入れてあるけど、適当なので。
それでも、初めて自作したロボットが前進したので大満足!!
今後は、それっぽいモーションを少しずつ作って行きたい。
0 件のコメント :
コメントを投稿