電子工作

[E-54] 倒立振子

倒立振子に関連した3つの実験をしました。(1)micro:bitの加速度センサーと回転サーボモーターモジュールを使って「動くシーソー」です。前に傾くと後ろに動き、後ろに傾くと前に動きます。(2)@Qikoroさんの「倒立振子を作ってみた」をフォローさせていただきました。軽量化のため「Arduino UNO」の代わりに「Arduino Nano」、「ギアDCモーター」は「marutsu」で200rpmのを2つ、タイヤはタミヤの「スリムタイヤ」を購入しました。投稿通りにモータードライバーに「L298N」、加速度・ジャイロセンサーに「MPU-6050」、ドリフト防止用にカルマンフィルターを使っています。なかなかうまく動きません。重心の位置の工夫と適切なPIDの係数が課題です。(3)「Pololu」の「Balboa 32U4 Balancing Robot Kit」を購入しました。マニュアルは全て英語でわかりにくいところもありましたが、サンプルを動かすことができました。さすがに「Kit」だけあってとても安定しています。「Arduino-compatible ATmega32U4 MCU」ですが、基板に「RaspberryPi」や「Raspberry Pi Zero W」を取りつけられ、より高度なコントロールができるようになっています。このソースプログラムのダウンロードはここをクリックしてください。(2018/03/15)
動くシーソー

動くシーソー

動くシーソーブロック

動くシーソーブロック

 
倒立振子Arduino

倒立振子Arduino

倒立振子回路図

倒立振子回路図

 
倒立振子Balboa

倒立振子Balboa

 

[E-53] 「python」+「pygame」でプロッタエミュレータを

「プロッタ・エミュレータ」を「python」+「pygame」で作りました。3モードがあり、(1)XYプロッタ(2)ポーラープロッタ(3)XY + ポーラープロッタです。(1)は直線line((x1,y1)-(x2,y2),color)、と円circle((cx,cy),r,color)が先日作ったプロッタで描けます。(2)は極座標の動径と角度を設定することにより、直線pline((r1,r2),angle,color)と円pcircle(r,color)が描けます。(3)は(1)+(2)の理想のプロッタ で、ステッピングモータが4個、サーボモータが1個必要です。ペンの現在位置からの移動または直線move(s,t,color)とペンの現在位置から(r,angle)方向の線分 go(r,angle,color)が描けます。描画後の位置はx=current_X+s+r*cos(a),y=current_Y+t+r*sin(a)になります。このソースプログラムのダウンロードはここをクリックしてください。(2018/02/08)
XYプロッタ出力例

XYプロッタ出力例

ポーラープロッタ出力例

ポーラープロッタ出力例

XY + プロッタ出力例

XY + プロッタ出力例

[E-52] ラズパイ専用学習リモコン「ADRSIR」で「i-SOBOT」を

前回、タカラトミーの「i-SOBOT」を「学習リモコンADR01P」で動かしましたが、今回、「ラズパイ電用学習リモコンADRSIR」が発売されたので、これで動かしました。リモコンのスイッチと並列になっているラズパイの10個のGPIOピンを制御しています。OSを起動するとリセットがかかることがあるので、スライドスイッチをつけました。2つ目の動画の「体操」はボタンの3つ同時押し操作で、学習できなかったので、付属のコントローラーで操作しています。このソースプログラムのダウンロードはここをクリックしてください。2018/02/05)
i-SOBOTリモコン制御

i-SOBOTリモコン制御

スライドスイッチ取付図

スライドスイッチ取付図