しなぷすのハード製作記

Arduinoとホットプレートを使ったリフロー装置(2号機)の製作(3)

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ
2016年09月15日 公開。
2016年09月16日 スケッチが動作するArduino IDEのバージョンの説明を追加。

5. 配線

これから、トレー上に固定された部品に、配線をしていきます。

今回製作した温度制御装置(2号機)のブロック図は図4の様になります。

図4、温度制御装置(2号機)のブロック図
↑ 画像をクリックすると拡大
図4、温度制御装置(2号機)のブロック図

グラフィックLCDシールドとArduino Uno互換機の間には6本の配線がありますが、実際にはシールドをArduinoのピンソケットに差し込むだけで配線は完了します。

圧電ブザー、キーパッド、熱電対モジュール、リレーモジュールの4つについては、便宜上Arduinoに直接配線している様に書いてありますが、実際にはグラフィックLCDシールドのピンソケットに配線しています。

配線は、写真28に示す様に、片方にオス、片方にメスのコネクタが付いた、ブレッドボード用のジャンパ線を主に使用します。差し込むだけで配線ができるので、この線を使って配線する部分は、半田付けをせずに配線ができます。半田付けが必要な部分もありますが、後で説明します。

写真28、オスとメスのコネクタが付いたブレッドボード用のジャンパ線
↑ 画像をクリックすると拡大
写真28、オスとメスのコネクタが付いたブレッドボード用のジャンパ線

また、グラフィックLCDシールド周辺の配線の様子を写真29に示します。

写真29、グラフィックLCDシールド周辺の配線の様子
↑ 画像をクリックすると拡大
写真29、グラフィックLCDシールド周辺の配線の様子

1ページでも説明しましたが、圧電ブザーには、マイコンの保護用の1kΩの直列抵抗を入れておく方がいいので、図5の様に、配線の間に1/6Wの1kΩの抵抗を半田付けし、外側を熱収縮チューブで保護して絶縁しました。熱収縮チューブの使い方に関しては、Arduinoで電子オルガンを作るの記事で説明していますので、参考にしてください。

図5、配線中に挿入した抵抗の熱収縮チューブによる保護
↑ 画像をクリックすると拡大
図5、配線中に挿入した抵抗の熱収縮チューブによる保護

Arduinoのピンソケットに差し込むだけで5Vが給電されるグラフィックLCDシールドは除いても、キーパッドと熱電対モジュールの2つに5Vを供給する必要があります。Arduinoのピンソケットには、5Vのピンはひとつしかありませんので、図6の様に分岐ケーブルを作りました。

図6、5Vの電源を分配するための分岐ケーブルの構造
↑ 画像をクリックすると拡大
図6、5Vの電源を分配するための分岐ケーブルの構造
広告

リレーモジュールは、ブレッドボードのジャンパ線でも配線できるのですが、グラフィックLCDモジュールの手前の配線がすっきりする様に、写真30の様なケーブルを作りました。L字型のピンヘッダと被覆付きより線を半田付けし、熱収縮チューブで半田付けした部分を保護しています。

写真30、リレーモジュールを接続するケーブル
↑ 画像をクリックすると拡大
写真30、リレーモジュールを接続するケーブル
赤がVCC、黒がGND、黄色がSIGのケーブル。

熱電対の配線の方法については、AdafruitのMAX31855基板を使った温度測定の記事を参照してください。また、リレーモジュールとAC100V用のケーブルの接続については、Arduinoとホットプレートを使ったリフロー装置(1号機)の製作(6)を参照してください。なお、AC100V用のケーブルに付いては、15A以上流せる太いケーブルを使う必要があります。細いケーブルを使うと火災の原因になります。

配線が完成すると写真31の様になります。この時点で、各部品が正常に動作するかどうか、試験しておく方がよいでしょう。ブログの方でも説明しましたが、リスト1のスケッチを実行すると、使う部品全部の動作試験ができます。

写真31、配線の終わった温度制御装置
↑ 画像をクリックすると拡大
写真31、配線の終わった温度制御装置
リスト1、部品の動作試験用スケッチ
#include <SPI.h> // 128×64 LCDシールドとThermocouple Amplifier MAX31855 breakout boardで使用
#include <MGLCD.h> // 128×64 LCDシールドで使用
#include <MGLCD_SPI.h> // 128×64 LCDシールドで使用
#include <ResKeypad.h> // I/Oピン一つで読める4X4キーパッドで使用
#include <Adafruit_MAX31855.h> // Thermocouple Amplifier MAX31855 breakout boardで使用

// 128×64 LCDシールド関係の宣言
#define CS_PIN   10
#define DI_PIN    9
#define MAX_FREQ (7400*1000UL)
MGLCD_GH12864_20_SPI MGLCD(MGLCD_SpiPin2(CS_PIN, DI_PIN), MAX_FREQ);

// I/Oピン一つで読める4X4キーパッド関係の宣言
ResKeypad keypad(A1,16,RESKEYPAD_4X4,RESKEYPAD_4X4_SIDE_B);

// 温度測定用のThermocouple Amplifier MAX31855 breakout board関係の宣言
#define MAXDO   3
#define MAXCS   4
#define MAXCLK  5
Adafruit_MAX31855 thermocouple(MAXCLK, MAXCS, MAXDO);

void setup() {
  // リレー制御用ピンの初期化
  pinMode(A0,OUTPUT);
  digitalWrite(A0,LOW);

  // 他励式圧電ブザー用ピンの初期化
  pinMode(6,OUTPUT);
  digitalWrite(6,LOW); // D6はずっとLOWにしてGNDの代わりに使う(配線をしやすくするため)
  pinMode(7,OUTPUT);
  digitalWrite(7,LOW); // D7に信号を送ってブザーを鳴らす

  // LCDの初期化
  MGLCD.Reset();
  if(strlen("ア")!=1) MGLCD.SetCodeMode(MGLCD_CODE_UTF8); // 半角カナの表示の有効化
}

void loop() {
  static uint32_t LastMillis=millis(); // 経過時間測定用
  static int RelayState=LOW; // 最後のリレーへの出力

  // キーパッドからの入力の処理
  char c=keypad.GetChar(); // キーを取得
  if(c) { // キーが押されていた
    MGLCD.println(c); // LCDに押されたキーを表示
  } // if

  // 温度の読み取りとリレー・ブザーの制御
  uint32_t m=millis();
  if(m-LastMillis>1000) { // 前回から1秒経った
    LastMillis=m;

    // 温度の測定結果を表示
    MGLCD.print(thermocouple.readCelsius());
    MGLCD.print("゚C ");

    // リレーの状態の表示と制御
    RelayState=(RelayState==LOW) ? HIGH : LOW;
    MGLCD.println((RelayState==LOW) ? "OFF" : "ON");
    digitalWrite(A0,RelayState);

    // ブザーを鳴らす
    tone(7,2000,100);
  } // if
}

リスト1を動かすには、Arduino IDEMGLCDライブラリのVer. 0.41以上と、ResKeypadライブラリのVer. 1.00以上、およびAdafruitのMAX31855用ライブラリをインストールしておく必要があります。なお、MAX31855用ライブラリのインストール法については、AdafruitのMAX31855基板を使った温度測定の記事に説明が載っています。

リスト1は、Arduino IDE 1.6.11と1.7.10で動作確認しました。Arduino 1.0.X(Xは任意の数字)では動作しませんので注意してください。

また、リスト1を実行するためには、Arduinoに12VのACアダプタを接続しておく必要があります。USBからの給電ではリレーが動作しませんので、ご注意ください。

リスト1を実行すると、1秒間に1回温度測定を行い、画面に測定結果を表示します。また、1秒に1回、リレーのONとOFFを切り替えます。温度測定およびリレーの制御の際に、圧電ブザーが0.1秒鳴ります。キーパッドのキーを押すと、温度やリレーの状態の表示に割り込む形で、押したキーが画面に表示されます。動作時は、写真32の様な画面表示になります。

写真32、部品の動作試験時の画面表示
↑ 画像をクリックすると拡大
写真32、部品の動作試験時の画面表示

次のページでは、温度制御装置のスケッチのダウンロードの方法や、画面構成の説明を行います。

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

128×64モノクログラフィックLCDシールド 商品名 128×64モノクログラフィックLCDシールド
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
I/Oピン一つで読める4X4キーパッド(完成品) 商品名 I/Oピン一つで読める4X4キーパッド(完成品)
税抜き小売価格 1150円
販売店 スイッチサイエンス 妙楽堂
サポートページ
I/Oピン一つで読める4X4キーパッドキット 商品名 I/Oピン一つで読める4X4キーパッドキット
税抜き小売価格 750円
販売店 スイッチサイエンス 三月兎
サポートページ
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
サイトマッププライバシーポリシーお問い合わせ用語集
しなぷすのハード製作記