愛知学院大学 歯学部 理工学講座 マイコンボード

Arduino+Macによる電子部品制御

概要


Arduinoは「電子部品を接続できるワンボードマイコン」です。Macには「Arduinoプログラム書き込みアプリケーション(Arduino IDE)のインストール」が必要です。

基本:Arduinoへの基盤制御プログラム書き込み

MacにRosetta 2をインストール

  1. Macで、「アプリケーション>ユーティリティ>ターミナル」を起動
    • % に続き以下を入力し↵(Enter)キーを押す
      クリックで全選択されます
      softwareupdate --install-rosetta --agree-to-license

MacにArduino IDEをインストール

  1. Arduino IDEをダウンロード(公式ダウンロード)、ダブルクリックすると解凍(マウント)される
  2. Arduino.appを、アプリケーションフォルダーに入れる

使い方

  1. USBケーブルで、MacとArduinoをつなぐ
  2. Macで、「アプリケーション>Arduino IDE」を起動
    1. 重要)「Select Board」セレクトボックスで「Arduino UNO R4 Minima」を選択
    2. 重要)右下の「Arduino UNO R4 Board用Core」インストールメッセージの「YES」を押す
      • 右下にメッセージが出ない場合(もしくは必要なものがインストールされているかを確認する方法):
        インストール済みの場合、REMOVEボタンになる
    3. 重要)「メニューバー>Tools>Port」で、「/dev/cu.usbmodem[数字] (Arduino UNO R4 Minima)」が選択されていることを確認
    4. 下記いずれかの方法で、Arduinoプログラム(スケッチ)を作成
      • 「メニューバー>ファイル>新規ファイル」で新規ファイルを作成し、自分でプログラムを作成
      • 既存のスケッチファイルを開く
    5. Arduino本体にプログラムを書き込む
      • 「メニューバー>スケッチ>マイコンボードに書き込む」もしくは、ウィンドウ左上の右向きアイコンを押す
      • 新規ファイルだった場合、ファイルの保存先を指定
      • 問題がなければ下部に「ボードへの書き込みが完了しました。」と表示され、即実行される(LED点滅等)
    6. Arduinoからの情報取得
      • 「メニューバー>ツール>シリアルモニタ」もしくは、ウィンドウ右上の虫眼鏡アイコンを押す

各種スケッチと回路

LED点滅:led01.ino

クリックで全選択されます

CDSセンサー値表示:cds01.ino

クリックで全選択されます

温度測定(石膏、レジン加熱重合)

Arduinoで測定した値を、Macで取得しCSVファイルを作成します。

ハンダ付け

動画を再生するにはvideoタグをサポートしたブラウザ(Safari、Chromeなど)が必要です。 動画ダウンロード

温度計測からグラフ化までの手順

2024年度配布版(Arduino Uno R4 Minima)の場合

2023年度配布版の場合

事前に、★温度測定プログラム(クリックでダウンロード)を、Arduinoへ書き込んでおく必要があります。詳細は上記「基本:Arduinoへの基盤制御プログラム書き込み」を参照

  1. USBケーブルで、MacとArduinoをつなぐ
  2. 温度測定用回路を組む
  3. Macで、「アプリケーション>ユーティリティ>ターミナル」を起動(もしくはここをクリックでターミナルを起動)
    • % に続き以下を入力し↵(Enter)キーを押す(下記コマンドは1行です。改行しないように入力してください。)
      クリックで全選択されます
      while read line; do date "+%H:%M:%S" | tr '\n' '\t'; echo "$line"; done < /dev/cu.usbmodem* | tee -a ~/Documents/tl.csv
    • 書類フォルダーに「tl.csv」ファイルが作成され、計測結果が書き込まれ続ける
    • 終了は、「control+C」キーを押す
  4. 書類フォルダーの「tl.csv」ファイルをExcelで開く
    • <*start*>より下の正常値の行から下の全てのセル(途中に文字列セルがあっても良い)を選択
    • 「挿入>折れ線グラフの挿入」を選ぶ
    • ノイズと思われる値は、行ごと削除する

膨張測定(石膏)

計測手順


極性が逆転している測定器があります。その場合Arduinoへの接続線を逆につないてください。測定器の「ZERO ADJ.」を回した時の針の動きで確認してください。
事前に、★膨張測定プログラム(クリックでダウンロード)を、Arduinoへ書き込んでおく必要があります。詳細は上記「基本:Arduinoへの基盤制御プログラム書き込み」を参照

  1. USBケーブルで、MacとArduinoをつなぐ
  2. 膨張測定用回路を組む
  3. Macで、「アプリケーション>ユーティリティ>ターミナル」を起動(もしくはここをクリックでターミナルを起動)
    • % に続き以下を入力し↵(Enter)キーを押す(上書きされるためcsvファイル名に注意)
      クリックで全選択されます
      cat /dev/cu.usbmodem* | tee ~/Documents/plaster.csv
    • 書類フォルダーに「plaster.csv」ファイルが作成(上記コマンドで指定したファイル)され、計測結果が書き込まれ続ける
    • 終了は、「control+C」キーを押す
  4. 実験前に必ず確認!「ZERO ADJ.」でプラスに回し、Arduinoでの測定値がプラスの値を示すことを確認(「ZERO ADJ.」でマイナスに回すとArduinoでの測定値がプラスの値を示す場合、プラスマイナスの配線を逆につなぐ必要がある)

よくあるトラブル

  • Arduino IDE:プログラム書き込みに失敗する

    • スケッチのコンパイル中にエラーが発生する:
      • Macの「書類>Arduino」フォルダーを削除すると改善する場合がある
    • スケッチの書き込み中にエラーが発生する:
      • 「メニューバー>ツール>シリアルポート>cu.usbmodem[数字]」が選択されていない
        • シリアルポートに対象が現れない場合、USBが奥まで挿入されているか確認
      • 「メニューバー>ツール>ボード」が「Arduino Uno」以外になっている
      • Macの再起動で改善する場合がある
    • Error "bad CPU type in executable"が出る
      • ページ上部の「基本:Arduinoへの基盤制御プログラム書き込み」の「MacにRosetta 2をインストール」のコマンドを実行する
    • その他のエラー:
      • スケッチプログラムの記述間違い
  • 温度計測

    • 温度を計測できない

      • 回路の配線違い
      • 熱電対測定側の先端がろう付けされていない(計測値が OPEN_CIRCUIT となる)
      • 温度測定用のスケッチプログラムがArduinoに書き込まれていない
      • 別のセンサー基盤に交換して測定できる場合、センサー基盤自体に問題がある(交換やハンダ付け補強)
      • Arduino IDEのシリアルモニターが起動中は、ターミナルコマンドによる測定はできないため、Arduino IDEを閉じる(Arduino IDEは、スケッチプログラムをArduino本体に書き込むためだけのアプリ)
    • 温度計測が安定しない

      • 熱電対に強い電磁波を出す機械(スマホなど)を接触させない(近くに置いている程度であれば問題なし)
      • ハンダ付け部分を指で抑えると安定する場合、接触不良の可能性が高い(実習中に手直しできるので申し出てください)
      • センサー基板への熱電対接続部分が、「しっかりネジ止めされていない」、もしくは「赤白の線の露出が長くて接触している」
      • センサー基板にコンデンサーをハンダ付けしていない
    • 高温で測定値が下がる、低温で測定値が上がる

      • センサー基板の配線が赤白反対
    • 加熱し始めてから計測できない状況に気付く

      • 回路違いやケーブル抜け等々、すぐ計測できない状況で加熱し始めてしまう事例があるため、先に計測を開始してから加熱すること
  • 膨張計測

    • 膨張を計測できない

      • 変位計との接続がプラスマイナス逆
        • 詳細は接続方法の解説を参照

計測中にMacがスリープしないようにする方法

  • macOS 13以降では、>システム設定>ロック画面を選び、スクリーンセーバー及びディスプレイオフ関連を全て「しない」に設定
  • macOS 12以前では、>システム環境設定>バッテリーを選び、「バッテリー」「電源アダプタ」それぞれの「ディスプレイをオフにする:」項目を「しない」に設定