さて、前回に引き続いて、「エバポ用真空制御装置の自作」に挑戦しています。
前回までの記事では、センサからのアナログ信号をArduinoによってA/D変換し、パソコン上でArduino IDEに組み込まれているシリアルモニタやシリアルプロッタを利用して圧力を確認する方法を説明しました。
今回の記事では、パソコンがなくても圧力の確認ができるように液晶ディスプレイを接続し、それに表示する方法を説明します。
パーツ集め
まず、必要なパーツを挙げます。前回までの記事で用いた圧力センサなどのパーツは省略し、今回から新たに必要になるものだけを挙げています。
- 液晶ディスプレイ(LCDキャラクタディスプレイモジュール 16×2行 バックライト付白抜き 1個)(秋月電子通商、通販コード:P-02919)
- 液晶コントラスト調整用半固定ボリューム(半固定ボリューム 3362P 10kオーム 2個程度)(秋月電子通商、通販コード:P-03277)
※必要なのは一個だけですが、小さいパーツのため紛失しやすく、足も折れやすいので2個程度購入しておくことをお勧めします。
- ブレッドボード(ブレッドボード EIC-801 1個) (秋月電子通商、通販コード:P-00315)
※①の記事で紹介した「Arduinoをはじめようキット」には含まれています。
[amazonjs asin=”B0025Y6C5G” locale=”JP” title=”Arduinoをはじめようキット”]- ジャンパーワイヤー(ブレッドボード・ジャンパーワイヤ(オス-オス) 10 cmセット 1セット)(秋月電子通商、通販コード: C-05371)
前回使用した2本に加えて、今回は新たに14本使用します。この商品は最低でも18本入りなので、すでに同じものを購入している場合、今回新たに購入する必要はありません。ただし、「Arduinoをはじめようキット」には10本しか含まれていないので、足りない分はこちらを購入して補う必要があります。
- USB充電器
これまでは、パソコンから電源を供給していました。代わりにUSB充電器を用いれば、パソコンがなくても独立して使用できるようになります。スマートフォンなどの充電に使っているもので問題ありません。
- 工具など
Arduinoはハンダのいらない電子工作をうりにしているのですが、今回用いる液晶ディスプレイを駆動させるために、はんだ付けが必要です。YouTubeなどに、はんだ付けのコツを紹介する動画があがっていますが、やけどなどの怪我につながる恐れもあるので、初めての方は必ず経験のある方に面倒をみてもらってください。
- はんだごて、はんだごて台、はんだ(電子工作用):ホームセンター、ネット通販などで購入可能です。細かい作業に向いたはんだごて、電子工作用のはんだを用いてください。
- ラジオペンチ、ニッパー、ピンセット:抵抗器のリード線の曲げ、切断などに使います。
- プラスドライバー:ディスプレイのコントラストの調整に使います。購入した半固定ボリュームに合うものを使用してください。
液晶ディスプレイを接続してみる ハードウェア編
既に、前回の記事を参考に圧力センサがArduinoに接続され、正しく動作した前提で説明していきます。
まず、液晶ディスプレイを組み立てます。
A. パッケージの中には、図の左側から示すようにピンソケット(オス)、ピンソケット(メス)、100オームの抵抗器、ディスプレイ本体が含まれています。まず、赤四角で囲ったピンソケット(メス)をディスプレイ本体裏面からはんだ付けします。今回はピンソケット(オス)は使いません。
B. 表面(液晶側)から基板上の穴にピンソケット(メス)の足を差し込み、裏面から14か所をはんだ付けします。やけどに注意してください。秋月電子通商のこの商品のWebページから取扱説明書を見ることができます。念のため確認してください。これによるとLEDバックライトの点灯のために、裏面のJ3部分のショートと、R9部分に100オーム抵抗器を一本だけ、はんだ付けする必要があります。そこで、まず左側のJ3の部分にはんだをのっけてショートさせます。
C. J3部分にはんだをのっけてショートさせた後の画像です。次に、その下のR9の電極に100オーム抵抗器をはんだ付けしていきます。
D. まず、抵抗器のリード線をディスプレイ本体裏面R9部分に無理なくはんだ付けできるように、ラジオペンチなどでまげてやります。
E. 基盤裏面のR9部分の電極に抵抗器のリード線の端がのるように、余分なリード線をニッパーで切断します。その後二か所をはんだ付けします。あらかじめ、R9部分にはんだをのっけておくとやりやすいです。はんだをのっけた後、ピンセットで抵抗器が動かないように押さえながら、リード線とはんだがのったR9電極部分を同時にはんだごてで温めてはんだ付けします。
F. ピンソケット(メス)のはんだ付け、J3部分のショート、抵抗器のはんだ付けが正しく完了したことを確認します。最後に、液晶ガラス面の保護フィルムをはがせば、液晶ディスプレイの準備は完了です。
次に、Arduinoと組み立ての完了した液晶ディスプレイをつなげます。
A. ディスプレイ本体のピンの番号は、裏面に印刷されています。ピンソケットを表、左側に置いたとき、一番右下から1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14となっています。
B. まず、Arduinoを繋ぐUSBケーブルをパソコンから、圧力センサとつながっているACアダプターをコンセントから抜いていることを確認してください。Arduinoのデジタルピンと液晶ディスプレイのピンソケット間を7本のジャンパーワイヤーを用いて接続します。今回は以下のように接続します。ArduinoのデジタルピンはUSBポートを左側にもってきたときに、上部に位置しています。
・Arduinoのデジタル5番ピン⇔液晶ディスプレイの4番ピン
・Arduinoのデジタル6番ピン⇔液晶ディスプレイの5番ピン
・Arduinoのデジタル7番ピン⇔液晶ディスプレイの6番ピン
・Arduinoのデジタル10番ピン⇔液晶ディスプレイの11番ピン
・Arduinoのデジタル11番ピン⇔液晶ディスプレイの12番ピン
・Arduinoのデジタル12番ピン⇔液晶ディスプレイの13番ピン
・Arduinoのデジタル13番ピン⇔液晶ディスプレイの14番ピン
C. Arduinoと液晶ディスプレイ間の接続が完了したときの別アングルからの写真です。
D. 今回用いるブレッドボードは、長辺を横方向に置いたときに上下それぞれにある+,-の記号のある横のライン一行分の穴にさしたピンがすべてつながるようになっています。ここのラインを電源と接続すれば、様々なパーツにその電源を分配することができるようになります。真ん中の部分は上下二つに分かれており、それぞれ縦方向5個の穴にさしたピンが全てつながるようになっています。1列目の下段a,b,c,d,e(図の緑色のライン)が繋がっています。同様に、1列目の上段f,g,h,i,j(図のオレンジ色のライン) が繋がっています。2列目の下の段a,b,c,d,e(図の水色のライン)がという感じです。
ここまでできましたか?さらに続きます。
E. 半固定ボリュームをブレッドボードに差し込み、3本のジャンパーワイヤーもボリュームの三本の足にそれぞれつながるようにブレッドボードに差し込みます。半固定ボリュームの裏面からは三本の足が出ていますが、同じ列(縦方向)に複数のピンが重ならないように差し込みます。今回はそれぞれをブレッドボード上の4列目b行の穴、5列目a行の穴、6列目b行の穴に差し込みました。何列目のどこの位置でも問題ないですが、同じ列にボリュームのピンを複数差し込むような配置にしてはいけません。その後、三本の足を差したのと同じ列にジャンパーワイヤーを差し込みます。今回は4列目e行の穴、5列目e行の穴、6列目e行の穴に差し込みました。ブレッドボードは上下対称になっていますが、上のグループと下のグループはつながっていないので注意してください。
F. 半固定ボリュームと液晶ディスプレイとの接続を完了させます。以下のように接続します。
・半固定ボリュームの真ん中の足⇔液晶ディスプレイの3番ピン
・半固定ボリュームの左側の足⇔ブレッドボードの電源+ライン
・半固定ボリュームの右側の足⇔ブレッドボードの電源-ライン
G. 新たにジャンパーワイヤー4本を用いて、電源周りの配線を完了させます。
・Arduinoの5Vピン(下の方に位置している)⇔ブレッドボードの電源+ライン
・ArduinoのGNDピン(下の方に位置している)⇔ブレッドボードの電源-ライン
・液晶ディスプレイの1番ピン⇔ブレッドボードの電源+ライン
・液晶ディスプレイの2番ピン⇔ブレッドボードの電源-ライン
H. 以上で配線は完了です。前回の記事で説明した圧力センサやACアダプター周りの配線も含めて再度すべての配線を入念に確認してください。特にミノムシクリップでつないでいる部分は外れたりショートしたりしやすいので、外れていないか、導体部分が露出していないかを十分に確認してください。
液晶ディスプレイを接続してみる ソフトウェア編
A. ArduinoとパソコンをUSBケーブルで接続し、Arduino IDEを起動し、以下のようなスケッチ(プログラム)を書いてください。既に入力されているコードを全て消したのちに、コピー&ペーストでも大丈夫です。その後、上部の「→」”マイコンボードに書き込む”ボタンをクリックし、ボードに書き込んでください。エラーが出る場合は、プログラムにミスがないか、正しいボード、ポートが選択されているかを前回の記事を参考に確認してください。今回はノイズを除去するために、2ミリ秒ごとに50回測定したデータの平均値average_xを用いています。
const int Pressure_sensor = 5;
#include <LiquidCrystal.h>
LiquidCrystal lcd( 5,6,7,10,11,12,13 );
void setup() {
Serial.begin( 9600 );lcd.begin(16, 2);
}void loop() {
int sum_x = 0;
for (int i = 0; i < 50; i++) {
int x = analogRead( Pressure_sensor );
sum_x = sum_x + x;
delay(2);
}int average_x = sum_x / 50;
int y = 2.40 * average_x – 483;
Serial.println( y );lcd.clear();
lcd.setCursor(0,0);
lcd.print( y );
lcd.print (” “);
lcd.print (“mbar”);delay(250);
}
(加筆:「int y = 2.40 * average_x – 483;」 の部分の-は「エンダッシュ」でなく「ハイフンマイナス」です。記事の仕様の関係で、「エンダッシュ」に変換されてしまうので、コピー&ペーストした後に、この部分を「ハイフンマイナス」に変更してください。また、lcd.print (” “);と次の行のlcd.print (“mbar”);の計4か所のダブルクォーテーション部分に関しても、コピー&ペースト後、一度この4か所の”を消し、半角で再度”を入力してください。)
B. ボードへの書き込みが完了したら、圧力センサに繋がっているACアダプターをコンセントに差し込んでください。既に、半固定ボリュームが適切なポジションだと液晶ディスプレイに圧力が表示されます。しかし、たいていは調整が必要です。ブレッドボード上の半固定ボリュームをプラスドライバーで左右に回して、適切なコントラストに調整してください。半固定ボリュームは左右ともにある位置以上に回せません。無理に回すと破損するので注意してください。
C. パソコンの代わりにUSB充電器とArduinoを接続すれば、そこから電源が供給されます。およそ13 mbar~の真空度を測定可能な簡易真空計が完成したことになります。前回の記事を参考に圧力センサ、真空計、バルブ、ダイアフラムポンプなどを接続し、正しく動作することを確認してください。前回同様、パソコンと接続してシリアルモニタあるいはシリアルプロッタで圧力を確認することもできます。見ていて楽しいのはシリアルプロッタかもしれません。
※電源の種類を変えると、そのわずかな供給電圧の差によって、ずれが生じる場合があります。気になる場合は、電圧-圧力直線を作り直し、プログラム中の式を更新してください。
今回は圧力センサのみを接続していますが、サーミスタや熱電対などを接続して、デジタル温度計としての機能をもたせることもできます。一連の記事を通して、Arduinoに慣れ親しんだら、一例にすぎない真空制御装置の制作にとらわれず、世界に一つしかないオリジナルの装置の開発に挑戦してみてください。
以上で、今回の記事は終わります。次回はロータリエンコーダ、電磁弁などを接続し、設定圧力の入力、および真空度を制御する方法を説明します。
エバポ真空制御装置を作ろうシリーズ
- 部品の大まかな説明、マイコンについて、また必要なパーツを集め
- 圧力センサの信号をパソコンに転送。ハードウェア編とソフトウェア編
- 液晶ディスプレイを接続し、それに表示する方法(本記事)
本記事は、大阪大学鳶巣研究室の櫻井駿さん(博士課程2年)による寄稿記事です。