ダウンロードの前にお読みください
最初に、ファイルの構成のテキストファイルをダウンロードしてください。
ほかの圧縮したzipファイルの位置関係を示しています。
ファイル構成をダウンロード 【filelist.txt】 (4KB)
Arduinoをダウンロード 【arduino.zip】 (74KB)
CCSCをダウンロード 【ccsc.zip】 (492KB)
WinAVRをダウンロード 【winavr.zip】 (150KB)
WinCSをダウンロード 【wincs.zip】 (1,999KB)
以下は、WizC15内のファイルです。
_Prj001をダウンロード 【_prj001.zip】 (635KB)
_Prj002をダウンロード(_Prj002-242を含む) 【_prj002.zip】 (1,110KB)
_Prj003をダウンロード(_Prj003A、B) 【_prj003.zip】 (1,750KB)
_Prj004をダウンロード 【_prj004.zip】 (1,091KB)
_Prj005をダウンロード(_Prj005Bを含む) 【_prj005.zip】 (1,546KB)
Commonをダウンロード 【common.zip】 (35KB)
LcdNWTestをダウンロード 【lcdnwtest.zip】 (181KB)
Prj701をダウンロード 【prj701.zip】 (995KB)
Prj801をダウンロード 【prj801.zip】 (650KB)
Prj901をダウンロード 【prj901.zip】 (3,042KB)
書籍内で利用しているArduinoのバージョンは0014です。その後のバージョン(0017と思われる)以降で、ファイル名の命名規則が変更されたため、用意したファイルを読み込むことができません。
1.ファイル名に"-"(マイナス)が使えない。"_"(アンダスコア)はok
2.ファイル名の先頭に数字が使えない
3.文字コードはUTF-8に要変換
これらに対応したファイルを用意しましたので、ご利用ください。
P258_N1をダウンロード 【p258_n1.zip】 (72KB)
原因は、シャント・レギュレータの電圧が安定しないためです。PICのVRev+(5番ピン)とGND(8番ピン)あたりに0.1μFのセラミック・コンデンサを取り付けてください。
これで安定するはずです。
第8章 CANブリッジ、第9章 組み合わせのWindowsアプリケーションのアップデートをアップします。
どちらもVisualStudio2008版にアップグレード済みです。
CAN_CSをダウンロード 【can_cs.zip】 (267KB)
-----------------------------------------
内容
(1) 08\CanBridge
CANブリッジ制御用Windowsアプリケーションのプロジェクト・フォルダ
実行ファイル "08\CanBridge\bin\Release\CanBridge.exe"
(2) 09\CanCont
組み合わせ制御用Windowsアプリケーションのプロジェクト・フォルダ
実行ファイル "09\CanCont\bin\Release\CanCont.exe"
修正箇所
第8章のCANブリッジ制御アプリケーションで、直接シリアル・コマンドを送信するためのテキスト・ボックスが空欄の場合に例外が発生しないように、空欄のときは送信処理を無視するように修正しました。
第9章のアプリケーションは、サーボ用のトラックバー・コントロールの初期状態を中央(90°)のニュートラル位置にしました。
そのほか、関係のないファイルを削除してフォルダ内を少し整理しました。
-----------------------------------------
第9章で使うPIC版ノード(ノード1)のWIZ-Cソースを修正したものをアップします。
WIZC_901UDをダウンロード 【wizc_901ud.zip】 (176KB)
-----------------------------------------
内容
Prj901\219-N1フォルダ一式
#219基板用のノード#1プログラムです。
アップデート方法
既存のPrj901\219-N1を丸ごと入れ替えてください。相対パスで"Common"フォルダなどを参照しているため、フォルダ構成は変更不可です。
このプロジェクトはWIZ-C Ver.16でコンパイルしています。
修正箇所
第10章で使うArduinoノード関係の処理が抜けていました。申し訳ございません。
-----------------------------------------
書籍内の第10章で使用する、サーボ、PWM制御ができるArduinoノードのスケッチをアップします。
ついでにWIZ-C版のCANバスモニタ(第7章)、CANブリッジ(第8章)、PC I/F(第9章)の各ノードもArduinoに移植しましたので、一緒にアップしておきます。
各章の#219-N1ノードと完全に置き換えが可能です(各ノードはArduino+#258基板で製作)。
なお、Arduinoから適当な方法でSPI信号と電源ラインを引きだし、ブレッドボードなどでCANコントローラ回路を製作して接続することで、#258基板を使わなくても利用可能です。シリアル通信にはArduinoのUSBを利用しますので、必要なものはCANコントローラ関係の回路だけです。
Can_Arduinoをダウンロード 【can_arduino.zip】 (44KB)
-----------------------------------------
内容
(1) Prj0701AR
CANバスモニタ用Arduino版ノード。WIZ-C版から移植。Arduino+#258基板で作動。
(2) Prj0801AR
CANブリッジ用Arduino版ノード。WIZ-C版から移植。Arduino+#258基板で作動。
(3) Prj0901AR
複合アプリケーションのPC I/F用Arduino版ノード。WIZ-C版から移植。Arduino+#258基板で作動。
(4) Prj1001
第9章のCANバスに接続するArduinoノード(ノード#5)。サーボ、PWM制御用。Arduino+#258基板で作動。
-----------------------------------------
(1)〜(3)は書籍には未掲載ですが、大部分はPIC版と同じですので、PIC版の記事を参考にしてください。
各スケッチ・フォルダは適当な場所に解凍して、それぞれのフォルダにあるスケッチファイル("*.pde")をArduinoスケッチブックから開けば即利用可能です。使用したArduinoスケッチブックのバージョンは018です。
CCS-C 、WIZ-Cで下記のCANの初期化の行でコンパイル・エラーが発生する場合があります。
CANInit(CAN_BRP_20MHz_125BPS); // CLOCK 20MHz CAN 125bps
その場合は下記のように修正してください。
誤)"CAN_BRP_20MHz_125BPS"
正)"CAN_BRP_20MHz_125KBPS"
"K"が抜けています。お詫びして訂正いたします。
###「動かして学ぶCAN通信」で使用したCCSC関係のファイル(共通関数やコンパイル後のヘキサ・ファイル含む)一式
CCSC 4.071でコンパイルしてあります。 Can_CCSCをダウンロード 【can_ccsc.zip】 (1,317KB)
共通のドライバやヘッダファイルは相対パスで参照しているため、フォルダ構造を変更しないようにしてください。
既出の"_Prj002", "Prj701" プロジェクトフォルダも含んでいます。若干修正しています。
<CCS-C移植 注意事項、覚え書き>
(1) 大文字、小文字の区別
大文字小文字を区別するためにプリプロセッサ "#case" を指定しています。
(2) 文字定数のポインタの扱い
LCDの表示で、文字列定数を表示する場合は、次のマクロを使用しています。
#define LCDSTRING(str) strcpy(StrBuf, str);LCDString(StrBuf)
"LCDString()"はLCDへ文字列を表示する関数です。
CCS-Cでは関数の引数に定数の文字列のポインタを渡せないため("strcpy"や"printf"などの引数は除く)、いったん配列変数へ設定する必要があります。
"sprintf()"で文字列を配列に作成している場合は直接"LCDString()"へ渡します。
(3) 一般的なCコンパイラとのデータ型の違い
CCSCのint型は8ビットです。16ビットの場合はlongかint16と定義します。また、sprintfなどの書式指定で、16ビット変数を使う場合は"l"(エル)をつける必要があります。
例)
int16 hex = 0x1234;
printf("%04lX", hex);
(4) その他
Prj003Aのノード1(219-N1)と_Prj003Bのノード1(219-N1)はまったく同じものです。
便宜的にコピーしてプロジェクト・フォルダにまとめてあります。
お詫びして訂正いたします。
・p.14 修正図(赤バーは削除)
・p.15 修正図
・p.20 下から2行目
「CANトランシーバ」 → 「CANコントローラ」
・p.30 本文上から3行目
「受信ステータス・リード・コマンド」 フォントをゴシックに変更
・p.38 図2-6の図中の計算式で括弧追加
分子「2 x BPR + 1」 → 「2 x (BPR + 1) 」
・p.50 修正図
・p.53 「●動作確認」2行目
「LED4」 → 「LED3」
・p.64 図3-7 図中の説明 「CN2ブレッドボード用」の下の行
「外部ピン(28ピン 800mil)」を削除
・p.125 コラム記事 右列上から4行目
「...というです。」 → 「...ということです。」
・p.172 「●使用する部品と材料」の上から3行目のモータ型番
「RE-130」 → 「FA-130」
掲載時およびダウンロード・ファイルでは,Arduinoのスケッチの拡張子はpdeですが,バージョン1.0からinoに変更されました.文字コードUTF-8のテキスト・ファイルです.