■ AVR & BASCOM トレーニング・シールド on Arduino ■


 電源(ACアダプター)もAVRライター(書込器)も不要で、とりあえず完成品の基板を購入すればAVRマイコンを動かすことができる、それが「Arduino」。
 ただし、「Arduino」基板だけを購入した状態では、基板に載っている小さなLEDを点滅させるくらいしかできないのも実際の所です。
 シールドと呼ばれる各種の拡張用基板も売られていますが、入門向けには何を購入すればよいのかわからないことも多いと思います。
 
 そこで、当ページに掲載している「AVR & BASCOM-AVR トレーニング・ボード」の機能を、そのまま「Arduino」に載せられるボード(シールド)を製作しました。
 
 スイッチ、4色LED、LCD(液晶表示器)、圧電スピーカー、温度センサー、光センサー、そしてこのボードでは赤外線受信モジュールも搭載しておりますので、マイコンで制御できる色々なデバイスを体験できると思います。
 
 基板の部品は全てリード部品(面実装やチップ部品以外)を使用していますので、ハンダ付け入門の練習用や自分で作る楽しみも味わえます。
 
 プログラムは、「Arduino」IDEのスケッチも、BASCOM-AVRのBASIC言語も使用できます。
 BASCOM-AVRはマイクロソフトのVB(Visual Basic)準拠のBASIC言語なので、VBの経験があれば、スケッチよりもAVRマイコンへの取り組みは早いと思います!

 一点だけ理解しておいて頂きたいのは、今後、他のAVRチップ(8ピンや20ピン・40ピン)を使用して製作する可能性がある場合は、AVRライター(書込器)や電源(ACアダプター)が必需品となりますので、「AVR & BASCOM-AVR トレーニング・ボード」の方が先々のコストは低くなります。


トレーニング・シールド 基板の準備
 
・「Arduino」ボード(ATmega168・ATmega328を搭載)を用意して下さい。

・シールド基板を自作できる方。
 下記の回路図等をご利用頂き、ユニバーサル基板やブレッドボードまたはプリント基板で
 トレーニング・シールド基板を製作して下さい。
・「Arduino」は拡張用コネクターのピッチが1.27mmずれているので、2.54mmユニバーサル基板を
 使用する場合は、特殊なピンソケットを使用する必要があります。

・プリント基板やキットならば組み立てられる方。
 頒布室にて、プリント基板やキットの頒布を行っておりますのでご利用下さい。
 
・配線やハンダ付けなどができない方。
 頒布室にて、完成品の頒布も行っておりますのでご利用下さい。


回 路 図  GIF版 ArduinoTS_Cir.gif (98KB)  PDF版 ArduinoTS_Cir.pdf (298KB)

部品配置図  GIF版 ArduinoTS_Pcb.gif (158KB)   部 品 表
アートワーク  GIF版 ArduinoTS_AW.gif (40KB)  
 
   
注意! この図面を使用した、いかなる損害にも責任を負いません。
 
        著作権は放棄しておりませんので、販売目的での使用は絶対にしないで下さい。
        (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)



 
汎用タクトスイッチを搭載
(標準)

 

12mm角 KC901TC
スイッチを搭載 (任意選択)

基板 正面

基板 側面

 
プリント基板

 
基板 部品面

基板 ハンダ面
全パターンのハンダメッキは
任意(不要)です

Arduinoボード



シールド基板の製作について
 
部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
 
・ジャンパー線は、すずメッキ線や被覆電線を使用して下さい。
・炭素皮膜抵抗器は、4目 (10.16mm) で両端を折り曲げて取り付けます。 (向きは問わず)
・半固定抵抗器は、基板の穴と部品の足を合わせて取り付けます。
・積層セラミックコンデンサーは、5.08mmピッチの物が取り付け可能です。 (向きは問わず)
・ピンソケットとピンヘッダは、部品配置図の通りに取り付けます。
・圧電スピーカーは、向きを問わず。
・温度センサーIC、フォト・トランジスタ、赤外線受信モジュールは、部品配置図の通りに取り付けます。
・ターミナルは、2個を組み合わせてから取り付けます。 (上からスライドさせて組み合わせる)
・発光ダイオードは、4色の高さを合わせて下さい。(リードの部分で約3mm)
 (高輝度のLEDを使用しますので、光拡散キャップの取り付けをお勧めします)
・タクト・スイッチ(リセット用)は、汎用のタクト・スイッチを取り付けます。
・タクト・スイッチ(4色の操作用)は、汎用のタクト・スイッチ または 12mm角のスイッチが取り付け
 できます。
 (12mm角のKC901TC、SKHC-AAは耐久性が良いのですが高価なので任意で選択して下さい)
 
・長足 ピンソケットは、ハンダ付けが少々難しいので注意して取り付けて下さい。
・長足 ピンソケットを基板に差し込んで、部品面からセロテープ等で
 固定します。
・Arduino基板のピンソケットに差し込む部分にハンダが付かないように、
 ハンダ面に突き出たピンを、基板から2mm程度のすき間を空けて
 マスキングテープで保護します。
・基板のランドとすき間部分のピンを、ハンダ付けします。
 
・Arduino基板とシールド基板の間隔を確保するために、ジュラコン スペーサーを取り付けます。
 シールド基板のハンダ面に、M2.6-L1mm 六角スペーサーをM2.6-L6mmのビス4本で固定します。
 (Arduino基板側のネジは、任意で締めて下さい)
・Arduino Uno基板は設計の不具合により、USBコネクターに
 近い基板取り付け穴の横に部品が配置されているため、
 ネジでの固定ができなくなっています。
・ジュラコン スペーサーが当たる場合は、シールド基板の穴を
 基板右下へ約1mm広げて下さい。(写真の赤矢印)

・シールド基板をケース等に入れて固定する場合は、シールド基板の4隅の穴にM3-L15mm〜L20mm
 のスペーサーを4本取り付けできます。
 (ゴム足の場合はL15mm、ケースに組み込む場合はL20mmを使用します)
・キャラクタ液晶表示器には、14ピンと5ピンのピンヘッダを基板の裏側に取り付けて、シールド
 基板上のソケットに差し込みます。

基板の調整箇所。
 
・シールド基板の電源は、Arduino基板から供給されます。
 
・基板作製後、下記の「プログラム制作環境の準備」を整え、「トレーニング・シールド機能テスト
 プログラムを実行すると、LCD画面にテストの状態が表示されます。
・この時、基板上の液晶コントラスト調整用、半固定抵抗器を左右に回して、LCDの文字がきれいに
 見える位置に調整して下さい。


プログラム制作環境の準備 (BASCOM-AVR)
 
1.USBドライバをインストールする。
 
 ・「Arduino」の関連ページを参照して、USBドライバをインストールして下さい。
 ・本家 / 日本語のページは、「Arduino インストール」で検索すると、随所に出ています。
 ・すでに、「Arduino」の環境がインストールされている場合は不要です。

2.「Arduino」のUSB接続ポート番号を調べる。
・ArduinoボードをUSBケーブルで接続します。
・コントロールパネルの「システム または システムとセキュリティ」
 を開き、「ハードウェア」の「デバイス マネージャ」を開きます。
・ポート(COMとLPT)の+をクリックして、「Arduino」のCOM番号を
 控えておきます。 (写真ではCOM7)
・ウィンドウは、全て閉じて下さい。

3.BASCOM-AVRをインストールする。
 
 ・BASCOM-AVRは、作成したBASICプログラムを、AVRの機械語に変換してくれるコンパイラです。
 ・試用版(DEMO)は、無償で試用できます。 (4Kbyteのプログラム容量制限があります)
 ・製品版は、約12,000円で購入できます。
 ・まずは、試用版(DEMO)で、練習をして下さい。
 
    BASCOM-AVR (DEMO) のインストール
 
 ※ 初期設定の「2.プログラマーの選択」の項目は、下記の様にして下さい。

4.プログラマーを選択する。

・BASCOM-AVRを起動します。
・メニューバーから、[ Options ]→[ Programmer ]と進みます。
Programmerのプルダウンメニューから、[ ARDUINO ] を
 選択します。
COM-portのプルダウンメニューから、先に調べた「USB接続
 ポート番号」を選択します。
BAUD(ボーレート)を、下記の表を参照してプルダウンメニュー
 から選択します。
Arduino ボード名 BAUD
Arduino Uno 115200
Arduino Duemilanove ATmega328 57600
Arduino Diecimila
Arduino Duemilanove ATmega168
19200
Arduino Leonardo 57600

・[ Ok ] をクリックして完了です。
 
 ・コメントに日本語を使用する場合は、「3.表示フォントの選択」も設定して下さい。



BASCOM-AVR と トレーニング・シールドの使い方
 
 ・このシールドでBASCOMのプログラムを作成する場合は、初期設定プログラム
  AVRtrainingArd.bas に、オリジナルのプログラムを書き足すと便利です。
 ・上記をダウンロードして、任意のフォルダに保存して置いて下さい。
 ・フォルダ名 及び ファイル名は、必ず半角英数字にして下さい。
 ・日本語のフォルダ名・ファイル名は、エラーになる場合があります。
 
 ・この、「初期設定プログラム」では、 トレーニング・シールドに搭載されている回路に合わせて、
  AVRマイコンの動作を初期設定しています。
 ・内容を詳しく知りたい方は、BASCOM-AVRのリファレンス・マニュアルと、ATmega328Pの
  マニュアルを参照して下さい。


1.プログラムの作成手順
 
  Arduinoは、各種の28ピンAVRを使用できます。
   掲載の応用プログラムは、ATmega88Pを使用する仕様になっていますので、Arduino基板上の
   AVRチップに合わせて、初期設定やプログラム集の「.bas」ファイル冒頭にある
   「$regfile = "******"」 行を、下記の様に変更してコンパイルして下さい。
AVRチップ名 $regfile =  (行) 備   考
ATmega88P-20PU
ATmega88PA-PU
$regfile = "m88pdef.dat" プログラム容量:8Kbyte 省電力
ATmega88-20PU
ATmega88A-PU
$regfile = "m88Adef.dat" プログラム容量:8Kbyte 旧タイプ
ATmega168-20PU $regfile = "m168def.dat" プログラム容量:16Kbyte 旧タイプ
ATmega168P-20PU
ATmega168PA-PU
$regfile = "m168pdef.dat" プログラム容量:16Kbyte 省電力
ATmega328-PU $regfile = "m328def.dat" プログラム容量:32Kbyte 旧タイプ
ATmega328P-PU $regfile = "m328pdef.dat" プログラム容量:32Kbyte 省電力

 (1) BASCOM-AVRを起動して、メニューバーから [ File ]→[ Open ] をクリックし、
   先に保存した[AVRtrainingArd.bas] ファイルを開いて下さい。
 
   「応用プログラム集」等を利用する場合は、ダウンロードしたプログラム「XXXXX.bas」を開き、
    「$regfile = "******"」 行を修正して(3)へ進んで下さい。
 
   シールド基板製作時には、「トレーニング・ボード機能テスト」プログラムで動作の確認が
   できます。[ATSboardTest_ard101.bas]
 
 (2) 各自のプログラムを作成した後に、メニューバーから、[ File ]→[ Save As... ]
   クリックし、任意の名前を付けて保存して下さい。
   ・フォルダ名 及び ファイル名は、必ず半角英数字にして下さい。
   ・日本語のフォルダ名・ファイル名は、エラーになる場合があります。
   ・「Leave the old CFG file ?」 と言うメッセージが出た場合は、[Yes] をクリックして下さい。
   ・2回目以降は、[ File ]→[ Save ] で、上書き保存できます。
 
 (3) メニューバーから、[ Program ]→[ Compile ] をクリックし、コンパイルを行います。
   ・問題が無い場合は、画面下のステータス行に、「No errors found」と表示されます。
   ・プログラムの打ち間違い等がある場合は、画面下に「Error Panel」が開き、エラーのある
    行番号とエラー内容が表示されますので修正して下さい。
   ・エラー報告をダブルクリックすると、プログラムにエラーのある行が、赤く表示されます。

 (4) メニューバーから、[ Program ]→[ Send to chip ] をクリックし、書き込み用の
   ウィンドウを開きます。
   ・メニューバーから、[ Chip ]→[ Autoprogram ] をクリックすると、プログラムが
    書き込まれます。
   ・ウィンドウ下のステータス欄に、書き込みの進行状況が表示されて、このウィンドウが
    自動的に閉じれば書き込みは正常に終了です。
    (赤×マークでエラーが表示された場合は、エラー内容により対処が必要です)

 (5) 書き込みが終了すると、ボード上で自動的にプログラムが開始されます。
   ・[RESET] スイッチを押すと、再度プログラムの最初から実行されます。


応用プログラム 集
トレーニング・ボード 機能テスト
適温表示機能付き 温度計
LED調光 イルミネーション
メロディー 再生
音感センサー & スイッチ
デジタル時計
ストップ・ウォッチ
パルス・ジェネレーター
周波数カウンター
デジタル タイマー プログラム
光センサー 周波数+回転計 プログラム
ゲーム・プログラム 集
体内時計 精度測定 ゲーム
LED たたき ゲーム
電子サイコロ
マウス・ハント ゲーム
四則計算 算数 ゲーム
Hit & Blow ゲーム
神経衰弱 ゲーム
応用回路の製作とプログラム 集
サーボ・モーター 制御
RC5 赤外線リモコン
NECフォーマット 赤外線リモコン 受信テスト
家電製品協会(AEHA)フォーマット 赤外線リモコン 受信テスト
Arduino用 赤外線キット [DFR0107] を受信する
FT232RL USBシリアル変換モジュール[AE-UM232R]使用 パソコン通信テスト
[DS18B20] 高精度デジタル温度計の制御 (-55℃〜+125℃)
電子オルガン
ストロボ式 ギター・チューナー
シャープ測距モジュール GP2Y0A710K 距離計測 & 近接アラーム
デジタル 温度&湿度センサー [SHT11] ・ [DHT22] を制御
小型のI2Cデジタル気圧計 MPL115A2を制御
デジタル気圧センサー LPS331APを制御
Arduino用 赤外線キット [DFR0107] を受信
ホール効果センサー A1324LUA-T で磁束密度の測定
SDカードの接続と制御


BASCOM-AVRでのプログラム方法
 
○順次掲載して行きます。




   電子工作の部屋 Top へ 前のページへ戻る