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年08月15日 更新
  1. 「Pixel Watch 5」が8月20日に発売へ 前モデルから最大20%の高速化、価格は6万2800円から (2026年08月13日)
  2. 映画もゲームもPC画面も大迫力で楽しめる! Google TV搭載のRGBレーザー方式4Kプロジェクター「AWOL Valerion Pro 2」を試す (2026年08月14日)
  3. 劇的大進化した「Insta360 X6」 8K/50fpsや大型センサー、内蔵ストレージ搭載、X5から買い替える価値はある? (2026年08月14日)
  4. タッチパッドを手前に引き出して使える「Ewin ワイヤレス折りたたみキーボード」がセールで24%オフの5319円に (2026年08月12日)
  5. グラボ高騰が止まらない! RTX 5090は100万円超えの可能性も、「組むなら8月中」の声 (2026年08月15日)
  6. シャープのヘルスケア特化スマートウォッチ「からだメイト Watch」を試す 装着するだけでカロリー&水分補給を自動記録 (2026年08月10日)
  7. Googleの折りたたみスマホ「Pixel 11 Pro Fold」は何が変わった!? 最大14万7600円お得になるキャンペーンも (2026年08月12日)
  8. GMKtec、7.2cm四方のカラフルな超小型ミニPC「G5S」を発売 あえて少し古いCPUを採用して価格を抑制 「桜ピンク」も後日追加 (2026年08月14日)
  9. 3K非光沢OLEDが秀逸! 最新Ryzen AI搭載の14型モバイル「EliteBook X G2a 14 AI PC」を試す (2026年08月13日)
  10. ノートPCやミニPCにGPUを外付けできる! OCuLinkとUSB4 V2(Thunderbolt 5)両対応のeGPUドック「MINISFORUM DEG2」が22%オフの3万5994円に (2026年08月12日)
最新トピックスPR

過去記事カレンダー