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

» 2005年07月22日 15時43分 公開
[小林哲雄,ITmedia]

勝手に動かすデータとしてEEROMを使う

 シーケンス動作をさせるためにPICで使えそうなもの、と資料を見るとデータ用にEEPROMが用意されていることが分かる。PIC12F675には128バイトのEEPROMが組み込まれており、プログラムで読み書きが可能だ。

 データをEEPROMに書き込むのは少々面倒そうなので、ここでは読み出しだけでシーケンス動作を実現させたい。書込みはソースファイルで指定してHEXファイルに埋め込み、プログラムと一緒に書いてしまおう。

 シーケンス動作については次のようなフォーマットを考えてみた。位置指定は1から255の間で設定するので1バイト分必要だ。また、時間は割り込みの単位時間となる20ミリ秒単位で指定するとよさそうだ。こちらも1から255で設定するので1バイト分、合計2バイトを組で使うことになる。

 時間0の指定を行うと先頭に戻るというループにし、位置0はサーボ制御を行わないことにする。これで最大64stepの動作が可能となる。ちょっと少ない気もするがテストなので我慢することにしよう。

 EEPROMの読み出しは(書込みに比べると)簡単だ。読み出しアドレスをEEADR(9bh)にセットし、EECON1(9Ch)のRDビット(第0ビット)をセットするとEEDAT(9Ah)にデータが入る。

 今回はEEPROMの読み出しをメインプログラムで担当することにした。サーボには位置と残り時間と2つのパラメータがあるので、時間が0になった時点で次のサーボデータを呼び出しセットするのがメインルーチンの役目となる。

 ;
 ; RCサーボの制御テスト 16bit timer version
 ;内蔵EEPROMからデータを読み込んで移動
 ;
▼▼  LIST P=PIC12F675
▼▼  INCLUDE "P12F675.INC"
▼▼  __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF
 errorlevel-302; エラー302以下は無表示
 ;
 ;
 ;
▼▼  CBLOCK 20h
 RC1POS; RC1のサーボ位置(1-中心-80-FF)
 ;RC2POS
▼▼  RC1TIM ; RC1の保持時間(0で次データ読み出し)
 EERPOS; EEPROMの読み出し位置
 
 
▼▼  COUNT ; LOOPワーク
▼▼  WBUF ; LOOPワーク
▼▼  SBUF ; LOOPワーク
 ENDC
 
▼▼  ORG 0
▼▼  GOTO MAIN
 ORG4
 ;(ソースコードは次のページに続く……)
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2026年04月01日 更新
  1. オーソリニア配列キーボード「Keychron Q15 Max」を試す 美しいグリッド配列は人を選ぶ? (2026年03月31日)
  2. シンプル・イズ・ベストなワイヤレスマウス「ロジクール M185」が999円で買える (2026年03月30日)
  3. 鮮明に撮れるアクションカメラ「DJI Osmo Action 4」が32%オフの2万9778円に (2026年03月30日)
  4. 簡単だけど時間が掛かる TerraMasterのNASキット「F2-425」でHDDを交換してみた【容量アップ編】 (2026年03月31日)
  5. Corsairの縦長ディスプレイ「XENEON EDGE」に待望の白&紫が登場! ガンダムやエヴァコラボの高級デバイスも (2026年03月30日)
  6. ONYX、10.3型電子ペーパー「BOOX Go 10.3」の新モデルを発売 フロントライトモデルも用意 (2026年03月30日)
  7. 「録音+文字起こし」を耳元で完結 Nottaユーザー必携の“常時装着”AIレコーダー「Zenchord 1」を試す (2026年03月30日)
  8. 高騰続くPCパーツ市場に変化? DDR5メモリの一部値下がりと依然厳しいストレージ事情 (2026年03月28日)
  9. “パワードスーツ”はもうSFの道具じゃなかった 高尾山でコンシューマー向け外骨格「Hypershell X Pro」を試す (2026年03月27日)
  10. 新生活を始める前にそろえておきたい! エレコムのトラックボールやドッキングステーションといったPC周辺機器が最大25%お得 (2026年03月30日)
最新トピックスPR

過去記事カレンダー

2026年