PICでもっと遊ぶその3「EEROMを使ってサーボを“ガガガ”と動かす」夏でも楽しい工作教室(3/3 ページ)

» 2005年07月22日 15時43分 公開
[小林哲雄,ITmedia]
前のページへ 1|2|3       
 ;(……ソースコードの続き……)
 
▼▼ ; Moving Data (EEPROM preprogram data)
▼▼  ORG H'2100'
▼▼  DE H'80',H'32'
▼▼  DE H'01',H'32'
 DEH'ff',H'32'
 
▼▼  DE H'f0',H'0a'
▼▼  DE H'e0',H'0a'
▼▼  DE H'd0',H'0a'
▼▼  DE H'c0',H'0a'
▼▼  DE H'b0',H'0a'
▼▼  DE H'a0',H'0a'
▼▼  DE H'90',H'0a'
▼▼  DE H'80',H'0a'
▼▼  DE H'70',H'0a'
▼▼  DE H'60',H'0a'
▼▼  DE H'50',H'0a'
▼▼  DE H'40',H'0a'
▼▼  DE H'30',H'0a'
▼▼  DE H'20',H'0a'
▼▼  DE H'10',H'0a'
▼▼  DE H'01',H'0a'
▼▼  DE H'10',H'0a'
▼▼  DE H'20',H'0a'
▼▼  DE H'30',H'0a'
▼▼  DE H'40',H'0a'
▼▼  DE H'50',H'0a'
▼▼  DE H'60',H'0a'
▼▼  DE H'70',H'0a'
▼▼  DE H'80',H'0a'
▼▼  DE H'90',H'0a'
▼▼  DE H'a0',H'0a'
▼▼  DE H'b0',H'0a'
▼▼  DE H'c0',H'0a'
▼▼  DE H'd0',H'0a'
▼▼  DE H'e0',H'0a'
▼▼  DE H'f0',H'0a'
 DEH'ff',H'0a'
 
▼▼  DE H'f0',H'0a'
▼▼  DE H'd0',H'0a'
▼▼  DE H'b0',H'0a'
▼▼  DE H'90',H'0a'
▼▼  DE H'70',H'0a'
▼▼  DE H'50',H'0a'
▼▼  DE H'30',H'0a'
▼▼  DE H'10',H'0a'
▼▼  DE H'01',H'0a'
▼▼  DE H'20',H'0a'
▼▼  DE H'40',H'0a'
▼▼  DE H'60',H'0a'
▼▼  DE H'80',H'0a'
▼▼  DE H'a0',H'0a'
▼▼  DE H'c0',H'0a'
▼▼  DE H'e0',H'0a'
▼▼  DE H'ff',H'32'
 DEH'00',H'00'
 
 END

 今回のプログラムには擬似命令を2つ使っている。1つはワークレジスタの設定に使ったCBLOCK命令。今まではEQUで直接関連付けを行っていたが、CBLOCKはスタートを指定すると、そこから順番に割り振る。もう1つはBANKSEL命令。後ろにレジスタ名を入れるとそれに合わせたバンクセレクトを行ってくれる(ただし、先ほどのプログラムでは使い方がまだ中途半端なのだ)。

 今回のテストでは、扱えるシーケンスデータ数が少ないのでサーボは1つだけにした。スイッチを入れればガガ、ガガガ、と動き出すはずだ。アナログボリュームを動かすとサーボが動くというのはなんとなく当たり前という気もするが、たった8ピンのICに電源を繋ぐだけでサーボが勝手に動くのは「中のプログラム、頑張ってます!」という感じが伝わってきて楽しい。テスト回路を見ればわかるが、本当にシンプルな接続で動く。そして、本来の目的であるシーケンス動作への野望にも近づいている。

例によってブレッドボードで実験回路を組んでみる。たったこれだけでRCサーボがギコギコと動く姿は感激モノ
今回組んだ回路

 さて、こうなるとさらにいっぱい動かしたくなる。いっぱい動かすためにはデータ領域がより多く必要になる。

 1つのシーケンスに対し場所と時間という2バイトのデータが必要になる今回の方法では、PIC12F675を使う場合たった64ステップの動作しか行えない。といって、シーケンス数を増やすためにデータバイトを減らすと動きや時間に制約が出る。

 となると、データ総数を増やす方法を使うしかない。しかし、そのためにEEPROMの多いPICを買ってくるのもバカバカしい。というのもPICについているEEPROMデータサイズはPIC16シリーズだと最大256バイトで2倍にしかならない。もっともっとシーケンス動作ステップを増やさなければ面白くないし、将来の野望に備えるには不十分だ。

 そこで次回は「外部メモリ」を使ってこの問題を「打破っ」していくことにする。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年07月01日 更新
  1. Macで外付けGPUが使える「TinyGPU」をRTX 5060 Tiで検証 実用性と浮き彫りになった課題 (2026年06月29日)
  2. 懐かしの「タマゴ型マウス」が現代仕様にアップデート エレコム創業40周年モデルの4代目「EGG MOUSE」は10色の着せ替え対応で4980円 (2026年06月30日)
  3. サブスク不要で画面を持たない潔さ Polarの新型フィットネストラッカー「POLAR Loop」を「Fitbit Air」と比較 (2026年06月30日)
  4. “縦2眼”で広角20mmから望遠120mmまでカバーするジンバルカメラ「DJI Osmo Pocket 4P」を試す (2026年06月30日)
  5. アキバ夏のボーナス商戦は「コスパと延命」がキーワード! 5000円切りのピラーレスケースや3000円弱のDDR5用メモリクーラー登場 (2026年06月29日)
  6. NUC風PCやメモリ128GBのモンスターミニPC「DAIV CX」などを続々投入! マウスコンピューターが事業戦略発表会で明かした新製品ロードマップ (2026年06月29日)
  7. 各社製マザーボードをデザインしたカプセルトイ「手のひらPCパーツ」が発売予定 4大メーカーが監修 (2026年06月29日)
  8. レノボ、スピーカー9基を備えた12.1型Androidタブレット「Lenovo Tab Plus Gen 2」 (2026年06月30日)
  9. IBMが世界初のサブ1nm半導体チップ技術を発表/LenovoがノートPC向けで世界初となる“1000Wh/L”バッテリーの詳細を明らかに (2026年06月28日)
  10. GIGAスクール時代の学校に欠かせない「ネットワーク」と「周辺機器」 その動向に迫る (2026年06月30日)
最新トピックスPR

過去記事カレンダー