FIRST PICk ROBOガイドブック目次
  • はじめに

  • 2
  • □実習の進め方

  • 3
  • □ガイドブックについて

  • 3
  • □FIRST PICk ROBOの保証と注意点

  • 3
  • Chapter1 プログラミングの基礎

  • 12
  • 1.1 PICマイコンの概要

  • 12
  • 1.1.1 マイクロコントローラ

  • 12
  • 1.1.2 PICマイコンの概要

  • 13
  • 1.2 PICマイコンの構成と動作

  • 14
  • 1.2.1 基本構成

  • 14
  • 1.2.2 PIC16F84の構造と動作

  • 16
  • 1.2.3 メモリ空間

  • 18
  • 1.2.4 代表的なレジスタ

  • 20
  • 1.2.5 周辺機能

  • 22
  • 1.3 PICのアセンブラ

  • 23
  • 1.3.1 PIC のニモニックコード

  • 24
  • 1.3.2 疑似命令

  • 26
  • 1.3.3 ラベル

  • 26
  • 1.4 Cコンパイラの基礎

  • 27
  • 1.4.1 mainループ

  • 27
  • 1.4.2 ヘッダファイル

  • 27
  • 1.4.3 関数とプログラム構造

  • 27
  • 1.4.4 変数

  • 28
  • 1.4.5 定数

  • 29
  • 1.4.6 式と演算子

  • 30
  • 1.4.7 配列

  • 31
  • 1.4.8 ポインタ

  • 32
  • 1.4.9 C言語の基本命令

  • 34
  • Chapter2 環境設定と操作の基本

  • 40
  • 2.1 FIRST PICK ROBO 商品の構成と内容

  • 40
  • 2.2 FIRST PICK ROBO の構成

  • 41
  • 2.2.1 装置の構成

  • 41
  • 2.2.2 ロボマルシェの回路構成

  • 43
  • 2.2.3 ロボマルシェの動作確認

  • 47
  • 2.2.4 ボードの取り扱い注意点

  • 47
  • 2.3 プログラムの開発環境

  • 48
  • 2.4 PIC_ISP_Writerのインストール

  • 49
  • 2.4.1 プログラムのインストール

  • 49
  • 2.4.2 USBドライバのインストール

  • 51
  • 2.4.3 PICIWアプリケーションの起動

  • 53
  • 2.4.4 PICIWの画面操作

  • 53
  • 2.5 アセンブラ

  • 58
  • 2.5.1 ISPライタを使用した開発手順

  • 58
  • 2.5.2 エディター

  • 60
  • 2.5.3 MPLABをインストールする

  • 61
  • 2.5.4 MPLABの起動

  • 63
  • 2.5.5 アセンブラによるプログラム入力

  • 64
  • 2.5.6 MPLAB-ICD2の活用

  • 65
  • 2.5.7 MPLABのデバック機能

  • 66
  • 2.6 Cコンパイラ

  • 67
  • 2.6.1 Cコンパイラを用意する

  • 67
  • 2.6.2 Cコンパイラのインストール

  • 69
  • 2.6.3 プログラム入力

  • 71
  • 2.6.4 コンパイル

  • 71
  • 2.6.5 書込

  • 72
  • 2.6.6 MPLAB上でPICCを利用する

  • 73
  • 2.7 ISP書込

  • 74
  • 2.7.1 ISP書込の概要

  • 74
  • 2.7.2 コンフィグレーション

  • 74
  • 2.7.3 書込器への拡張

  • 74
  • Chapter3 PICの基本機能とプログラム

  • 76
  • Step1 データの移動

  • 76
  • ■ステップ実行とプログラムカウンタ

  • 80
  • Step2 演 算

  • 81
  • Step2-1 加減算の基本

  • 81
  • Step2-2 2バイトの加算

  • 84
  • Step2-3 簡単な乗除算演算

  • 86
  • Step2-4 乗算演算

  • 86
  • Step3 論理演算

  • 88
  • Step4 Cコンパイラでの移動・演算処理

  • 90
  • Step5 数値の比較

  • 92
  • Step5-1 数値を比較し判断する

  • 92
  • Step5-2 Cコンパイラによる数値の比較

  • 94
  • ■ヘッダファイル pic.h

  • 95
  • Step6 LEDランプの点灯

  • 96
  • Step6-1 LEDランプを点灯させる

  • 96
  • Step6-2 LED点灯プログラム

  • 99
  • Step6-3 LED点灯プログラム2

  • 100
  • Step6-4 LED点灯プログラム3

  • 101
  • Step6-5 CコンパイラによるLED点灯

  • 104
  • Step7 ブザーの駆動

  • 106
  • Step7-1 ブザーを鳴らしてみる

  • 106
  • Step7-2 メロディーを作る

  • 108
  • Step7-3 Cコンパイラによるプログラム

  • 110
  • Step8 スイッチのインタフェース

  • 111
  • Step8-1 スイッチ信号を検査する

  • 111
  • Step8-2 Cコンパイラでのスイッチ入力

  • 113
  • Step8-3 スイッチ入力の瞬間の検出

  • 113
  • Chapter4 PICマイコンの応用機能

  • 118
  • Step9 非同期シリアル通信

  • 118
  • Step9-1 非同期シリアル通信のハード構成

  • 118
  • Step9-2 文字を送信する

  • 121
  • ■ハイパーターミナルの利用

  • 124
  • Step9-3 文字を受信する

  • 125
  • Step9-4 文字列を送信する

  • 126
  • Step9-5 Cコンパイラで文字列送信

  • 128
  • Step9-6 Wレジスタを表示する

  • 129
  • Step9-7 変数を表示する

  • 131
  • Step10 A/DコンバータとCDSセンサ

  • 133
  • Step10-1 CDSセンサと光の強さ

  • 133
  • Step10-2 CDSセンサ回路

  • 134
  • Step10-3 CDSセンサをポートで受ける

  • 135
  • Step10-4 A/Dコンバータ

  • 136
  • Step10-5 CDSセンサの電圧取込

  • 139
  • Step10-6 CDSセンサの電圧取込2

  • 141
  • Step10-7 電圧表示

  • 142
  • Step10-8 CDSの応答特性

  • 144
  • Step11 タイマによる時間の発生

  • 146
  • Step11-2 タイマ0のプログラム

  • 148
  • Step11-3 タイマの時間を拡大する

  • 149
  • Step11-4 Cコンパイラによるタイマプログラム

  • 150
  • Step11-5 時間を設定する

  • 151
  • Step11-6 タイマの外部入力機能

  • 152
  • Step11-8 タイマ1のプログラム

  • 155
  • Step11-9 タイマ1 Cコンパイラ プログラム

  • 156
  • Step12 モータ制御

  • 157
  • Step12-1 直流モータ

  • 157
  • Step12-2 モータの特性

  • 157
  • Step12-3 駆動部の組立

  • 158
  • Step12-4 モータの駆動回路

  • 161
  • Step12-5 駆動系の回転特性を調べる

  • 162
  • Step12-6 PWMの動作原理

  • 163
  • Step12-7 PICマイコンのPWM機能

  • 166
  • Step12-8 PWMとモータの回転

  • 169
  • ■PWM回転特性・速度特性

  • 171
  • Step12-9 モータの動作による電源の影響

  • 171
  • Step12-10 走行の準備

  • 173
  • Chapter5 走行プログラム

  • 176
  • Step13 直線走行

  • 176
  • Step13-1 直線走行1

  • 176
  • Step13-2 直線走行2

  • 178
  • Step13-3 加速走行1

  • 179
  • Step13-4 加速走行2

  • 181
  • Step13-5 加速走行 電源への影響

  • 182
  • Step13-6 直線走行のデータ

  • 183
  • Step13-7 回転走行

  • 184
  • Step14 Uターン走行プログラム

  • 186
  • Step14-1 Uターン走行プログラム

  • 186
  • Step14-2 Uターン走行プログラム2

  • 188
  • Step15 8の字走行

  • 190
  • Step16 コマンドテーブル走行

  • 192
  • Step16-1 コマンドテーブル走行

  • 192
  • Step16-2 コマンドテーブル走行2

  • 195
  • ■大きなプログラムの構築

  • 197
  • Step17 ランダム走行

  • 198
  • Step17-1 乱数の発生

  • 198
  • Step17-2 CとASMのコラボレーション

  • 201
  • Step17-3 ランダム走行

  • 202
  • Step17-4 ランダム走行2

  • 206
  • Step18 プログラム走行

  • 208
  • Step18-1 プログラム方法とダウンロード

  • 208
  • Step18-2 シリアルデータの受信

  • 210
  • Step18-3 プログラム走行プログラム

  • 212
  • Step18-4 プログラム走行プログラム2

  • 216
  • Step19 プログラムデータの記憶

  • 219
  • Step19-1 EEPROMメモリ

  • 219
  • Step19-2 EEPROM アクセス2

  • 221
  • Step19-3 プログラム記憶での走行

  • 222
  • Step19-4 プログラム記憶での走行2

  • 225
  • ■牽引力

  • 228
  • Chapter6 センサを利用した走行プログラム

  • 230
  • STEP20 CDSセンサによる走行

  • 230
  • STEP20-1 CDSセンサでの単純な制御

  • 230
  • STEP20-2 CDS単純制御2

  • 232
  • STEP20-3 アナログ的な制御1

  • 233
  • STEP20-4 アナログ的な制御1(ASM)

  • 235
  • ■各モータ制御の動きの違い

  • 236
  • STEP20-5 アナログ的な制御2

  • 238
  • STEP20-6 アナログ的な制御2(ASM)

  • 241
  • STEP21 リモコン制御

  • 244
  • STEP21-1 リモコン制御の動作環境

  • 244
  • STEP21-2 リモコン制御プログラム

  • 245
  • STEP21-3 リモコン制御プログラム2

  • 248
  • STEP21-4 加減速リモコン制御

  • 250
  • STEP22 割込機能を利用した走行

  • 253
  • STEP22-1 割込機能

  • 253
  • STEP22-2 割込処理の実験プログラム

  • 257
  • STEP22-3 Cコンパイラでの割込

  • 260
  • STEP22-4 割込を利用した走行

  • 261
  • STEP22-5 外部割り込み

  • 263
  • Chapter7 システムの拡張

  • 266
  • 7.1 ブリッジモータドライバ

  • 266
  • 7.1.1 ブリッジモータ制御回路

  • 266
  • 7.1.2 ドライバ基板の取付

  • 268
  • 7.1.3 動作テスト

  • 268
  • 7.2 ライントレーサセンサユニット

  • 270
  • 7.2.1 ユニットの機能

  • 270
  • 7.2.2 ユニットの取付と接続

  • 271
  • 7.2.3 ライントレースプログラム

  • 272
  • 7.3 ロボマルシェの動作テスト

  • 275
  • 7.4 ロボマルシェの寸法と外装

  • 276
  • 7.5 コンフィグレーション

  • 277
  • 7.6 ボードの機能拡張

  • 278
  • 7.6.1 CPUの互換性

  • 278
  • 7.6.2 空きポートの利用

  • 278
  • 7.6.3 PIC18のプログラム例

  • 279
  • 7.6.4 サブPICの活用

  • 281
  • 7.6.5 CDSセンサ回路

  • 281
  • 7.6.6 リモコン

  • 281