投稿

3月, 2026の投稿を表示しています

サーボモータ制御

イメージ
サーボモータ( SG90 )を制御するプログラムをエイヤッと書いてみた.マイコンは秋月で45円のPIC10F222. 写真は実験中のブレッドボード.タクティルスイッチは黄,白,赤の順に0,90,リセットのボタン. 最初クロック周波数を4000000と書いて動かしてみたら,パルス周期・パルス幅とも所定の値より一定割合で大きくなったので, その割合の逆数をXTAL_FREQのデフォルト値(PIC10F222の場合4000000)に乗じて調整した(本当はOSCCALを設定してクロックを本当に4MHzにもっていくのが正解なんだけど). ポジション0の波形 ポジション90の波形 左の波形は電源投入直後,黄色スイッチを押した時,リセットを押した時のもの.右側が白スイッチを押した時の波形. プログラムの主要部はこんな感じ: servo = 0; // ポジション0 while(1){ if(GP1 && (!GP0)){ // 白ボタンを押した servo = 1; // ポジション90 }; if((!GP1) && GP0){ // 黄ボタンを押した servo = 0; // ポジション0 }; if(servo){ GP2 = 1; __delay_us(2400); GP2 = 0; __delay_us(17600); } else{ GP2 = 1; __delay_us(1450); GP2 = 0; __delay_us(18550); }; }; パルス周期がクロックに比べて十分長いので,これで十分だと思う.実際にサーボモータが来たら,繋いで動作確認してみよう.

訃報:池田昌子さん

銀河鉄道999のアニメーションでメーテルの声を担当された池田昌子さんがお亡くなりになったそうです. 今から20年前,北九州空港が海上空港として開港した際,1階観光案内所に音声認識・音声案内してくれるメーテル(音声はもちろん池田さんご本人)のロボットが登場しましたが( ここ とか ここ ),実をいうとこれに関わっていました.  企画会議でメーテルというアイディア出しをしたのもそうですし,PCやディスプレイ・プリンタ等の機種選定,音声入力・出力系統のアナログ回路設計と製作,電波時計によるPCの時刻較正(ネットワークから切り離しているにもかかわらず時刻案内するため必須),保守管理を担当していました. 開港1周年のイベント期間には2階出発ロビーフロアに移動させて,メーテルと記念写真を撮る(メーテルの脇からデジ一が出てきて写真を撮ってくれ,プリントアウトにメーテルを重ね合わせる)こともやりました. 当該のロボットは経年劣化もあり学術研究都市に戻されましたが,現在では2階の出発ロビーに別な(現在の)等身大フィギュアが置かれているそうです. 謹んでお悔やみを申し上げます(合掌).

\(\TeX\ \text{Live 2026}\)が来た

今日tlmgrでアップデートしようとしたら「もう古いよ!」と言われたので,CTANミラーを見に行くとTL2026が下りてきていました.アナウンスされたスケジュールより1週間近く早くリリースされたのですね. 早速インストーラとISOファイルをダウンロード.いつもは北陸先端を使うのですが,今日はちょっと速度が出なかったので山形大から. ISOファイルのUSBメモリへの書き込みは, Balena Etcher が広く知られていますが,私は Raspberry Pi Imager を使いました.起動したら「No filtering」を選び,「カスタムイメージを使う」でTL2026.isoを選択します. いきなりメインのmac miniにインストールするのは怖いので,サブのM1 mac miniにインストーラからインストール開始.リポジトリは山形大を明示的に指定し,約40分で4996個のファイルインストールを完了(有線LAN使用).全体で約45分程度でした. このサイトで公開している各パッケージ( Table of Contents からどうぞ)の適合性チェック結果は全てOKでした. これから残るmac 2台とLinux 7台(+自宅2台)にインストールです.