O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

PUREYES uno r3 tutorial

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 146 Anúncio
Anúncio

Mais Conteúdo rRelacionado

Mais recentes (20)

Anúncio

PUREYES uno r3 tutorial

  1. 1. ページ1 UNO R3 速習キットをお買い上げいただき誠に有難うございます。 この解説書は初学者の方がすばやく学習できるように、実験主体で解説しています。 ぜひ、どんどん見て触って、ときにはいじくり回して進めていっていただければ著者といたしましても本望です。
  2. 2. ページ2 Lesson は0~14 までございますが、キットの種類によってご参照いただく Lesson が異なりますので下記より対象のレッ スンをご確認ください。 キット名 適応 Lesson 関連書籍 はじめての UNOR3 速習キット (Part1) Lesson0~Lesson8 Arduino をはじめよう 第 3 版 はじめての UNOR3 速習キット Part2 Lesson0~lesson3 ※Part2にはボールスイッチが付属し ませんのでボールスイッチの配線は不 要です。スケッチはそのままご利用く ださい、 Lesson5 Lesson9~Lesson14 Arduino ではじめる電子工作超入門
  3. 3. ページ3 次に、キットの特徴である【簡単】【すぐにはじめられる】【深く学べる】について解説いたします。 【簡単】 部品はすべてハンダ付け済、またリレーや温度センサ等は周辺部品を実装済のモジュール品を採用することで最小 の作業で学習を進められるようになっています。 【すぐにはじめられる】 必要な部品と解説書(本誌)がそろっています。 【深く学べる】 Part1のキットは “Arduino をはじめよう 第 3 版”(オライリージャパン社発行) Part2 のキットは “Arduino で始める電子工作超入門“(オーム社発行) で扱われている部品を集めておりますのでこの書籍と合わせて学習することで、より深い学習が可能です。
  4. 4. ページ4 Arduino(アルデュイーノ)は、ハードウェアである「Arduino ボード」、とソフトウェアである「スケッチ」、スケッチ を作製しハードに書き込むための環境としての「 Arduino IDE 」から構成されるシステムです。 Arduino シリーズには Arduino Nano や Arduino MEGA などたくさんの種類があり、Arduino UNO R3 はもっとも標準 的なボードです。 ≪ Arduino 公式ボード ≫
  5. 5. ページ5 また、Arduino はハードウェア設計もソフトウェア製品もオープンソースであるため多くの Arduino 互換機が存在しま す。このキットに付属する UNO R3 ボードは Arduino UNO R3 ボードの完全互換品です。 ≪ アルディーノ IDE とスケッチ ≫
  6. 6. ページ6
  7. 7. ページ7 はじめに ............................................................................................................................................................. 1 Arduino について.................................................................................................................................................. 4 目次 ................................................................................................................................................................... 7 Lesson 0 Arduino IDE のインストールと初期設定をしよう..................................................................................... 12 ボードの選択 .................................................................................................................................... 17 Arduino IDE 公式ヘルプ................................................................................................................... 21 Lesson 1 “UNO“を動かしてみよう ..................................................................................................................... 23 部品解説 .......................................................................................................................................... 24 スケッチ .......................................................................................................................................... 26 Lesson 2 外部 LED を光らせよう ....................................................................................................................... 33 概要................................................................................................................................................ 33 部品の説明 ....................................................................................................................................... 34 LED(Light Emitting Diode 発光ダイオード) .................................................................................. 34 ブレッドボード................................................................................................................................ 36 接続図 ............................................................................................................................................. 39 回路図 ............................................................................................................................................. 40
  8. 8. ページ8 スケッチ .......................................................................................................................................... 41 Lesson 3 光センサで LED 光量を変化させよう...................................................................................................... 44 概要................................................................................................................................................ 44 部品の説明 ....................................................................................................................................... 45 接続図 ............................................................................................................................................. 46 回路図 ............................................................................................................................................. 47 スケッチ .......................................................................................................................................... 48 Lesson 4 ファンモータを動かそう ..................................................................................................................... 53 概要................................................................................................................................................ 53 部品の説明 ....................................................................................................................................... 53 接続図 ............................................................................................................................................. 56 回路図 ............................................................................................................................................. 57 スケッチ .......................................................................................................................................... 58 Lesson 5 RGB_LED の色を変化させよう ............................................................................................................. 61 概要................................................................................................................................................ 61 部品の説明 ....................................................................................................................................... 62 接続図 ............................................................................................................................................. 63 回路図 ............................................................................................................................................. 64 スケッチ .......................................................................................................................................... 65
  9. 9. ページ9 Lesson 6 温度センサと通信してみよう................................................................................................................ 69 概要................................................................................................................................................ 69 部品の説明 ....................................................................................................................................... 70 接続図 ............................................................................................................................................. 72 回路図 ............................................................................................................................................. 73 ライブラリのダウンロードとインクルード.............................................................................................. 74 スケッチ .......................................................................................................................................... 78 Lesson 7 RTC で時間を取得する........................................................................................................................ 85 概要................................................................................................................................................ 85 部品の説明 ....................................................................................................................................... 86 時計合わせ ....................................................................................................................................... 87 接続図 ............................................................................................................................................. 91 回路図 ............................................................................................................................................. 92 Lesson 8 RTC を使って好きな時間に水を流す ...................................................................................................... 93 概要................................................................................................................................................ 93 部品の説明 ....................................................................................................................................... 94 接続図 ............................................................................................................................................. 97 回路図 ............................................................................................................................................. 98 スケッチ .......................................................................................................................................... 99 Lesson 9 サーボモーターを動かそう................................................................................................................. 103
  10. 10. ページ10 概要.............................................................................................................................................. 103 部品の説明 ..................................................................................................................................... 103 接続図 ........................................................................................................................................... 104 回路図 ........................................................................................................................................... 105 スケッチ ........................................................................................................................................ 106 Lesson 10 人体検知をやってみよう ................................................................................................................... 109 概要.............................................................................................................................................. 109 部品の説明 ..................................................................................................................................... 110 接続図 ........................................................................................................................................... 111 回路図 ........................................................................................................................................... 112 スケッチ ........................................................................................................................................ 113 Lesson 11 モーター駆動 IC を使って正転、逆転の制御をやってみよう...................................................................... 114 概要.............................................................................................................................................. 114 部品の説明 ..................................................................................................................................... 115 接続図 ........................................................................................................................................... 118 回路図 ........................................................................................................................................... 119 スケッチ ........................................................................................................................................ 120 Lesson 12 I2C 通信で温度と湿度を取得表示してみよう ......................................................................................... 122 概要.............................................................................................................................................. 122 部品の説明 ..................................................................................................................................... 123
  11. 11. ページ11 接続図 ........................................................................................................................................... 124 回路図 ........................................................................................................................................... 125 スケッチ ........................................................................................................................................ 126 Lesson 13 LCD で文字を表示させよう................................................................................................................ 130 概要.............................................................................................................................................. 130 部品の説明 ..................................................................................................................................... 131 接続図 ........................................................................................................................................... 132 回路図 ........................................................................................................................................... 133 スケッチ ........................................................................................................................................ 134 Lesson 14 イーサネットシールドを使ってウエブサーバーを構築しよう。 ................................................................. 135 概要.............................................................................................................................................. 135 部品の説明 ..................................................................................................................................... 136 接続図 ........................................................................................................................................... 137 回路図 ........................................................................................................................................... 138 スケッチ ........................................................................................................................................ 139
  12. 12. ページ12 1) Arduino のプログラム(スケッチ)を作成し、書き込むためのソフトウェアをダウンロードしましょう。 https://www.arduino.cc/ から、、
  13. 13. ページ13 2) 対応 OS に合わせたファイルをクリックします。
  14. 14. ページ14 3) 寄付をするか尋ねられるので、どちらかを選んでダウンロードします。 寄付してダウンロードする事も出来ますが、JUST DOWNLOAD を選べば寄付なしでも使用できます。
  15. 15. ページ15 4) ダウンロートドした Arduino***.exe ファイルを開くとインストールが開始されます。 下記画面が出てきたら Close ボタンを押してインストール完了です。 5) それでは先程インストールした Arduino IDE を開いて初期設定を行いましょう。
  16. 16. ページ16 6) まずは UNO 基板を USB ケーブルで PC と接続します。 7) Arduino IDE のアイコンがデスクトップにできていますのでこれを開きます。
  17. 17. ページ17 8) 初回起動時は英語表記になっていて見づらいので日本語に変更しておきましょう。 メニューから File → Preference → Editor language のリストから日本語を選択します。 一度 Arduino IDE を閉じてからもう一度起動すると日本語表記に変わっています。
  18. 18. ページ18 9) 次にボードの選択です。 実は Arduino は UNO の他にも様々な種類のボードが有りますので、まずこれを選択しなければなりません。 メニューからツール→ボードとポイントしていき Arduino/Genuino Uno または ArduinoUno を見つけてクリックして ください。
  19. 19. ページ19
  20. 20. ページ20 10) 最後にシリアルポートの設定です。 メニューからツール→シリアルポートとポイントしていき Arduino/Genuino Uno の表記がある COM ポートを見つ けてクリックしてください。 これで初期設定は終わりです。 次はいよいよ実際に UNO を動かしてみましょう。
  21. 21. ページ21 Arduino IDE のヘルプにはインストール方法、ソフトの使い方、トラブルシューティング、リファレンス(Arduino のプロ グラム言語であるスケッチについての説明)がまとめられていて非常に有益です。 困った時やもっといろいろ知りたいと思った時はぜひこちらを参照されることをおすすめします。 ただしこれらはすべて英語で提供されていますので Google Chrome ブラウザをお使いの方はページ翻訳機能を使って日本 語にすると楽に読み進められます。 ヘルプ Google Chrome ブラウザの翻訳機能
  22. 22. ページ22 ≪ARDUINO 公式ホームページ≫ https://www.arduino.cc/ ≪ARDUINO 公式資料 日本語版リンク≫ http://www.musashinodenpa.com/arduino/ref/
  23. 23. ページ23 Lesson0 でインストールした Arduino IDE というソフトにはじめから入っているサンプルスケッチを実際に UNO に書き込 んで UNO 基板上の LED を on/off させてみましょう。
  24. 24. ページ24 部品解説 UNO R3 ボード 電源入力(7~12V) USB 端子を使用していないときに ここから電源を供給することで PC 無しで動作させる ことができます。 USB 端子 電源端子 50mA までの電流を 供給できます。 アナログ入力端子 A4,A5 は I2C 通信にも 使用できます。 A4 :SDA A5 :SCL L LED ランプです。 デジタル 13 番出力端子と連動して います。 デジタル入出力端子 各ピンはソフトの設定で入力にも 出力にも設定ができます。 また、~マークが付いている 3,5,6,9,10,11番は PWM 出力が可能です。 出力として使用するときは 40mA までの負荷を駆動できます 。 リセットボタン TX, RX プログラム書き込み時等 通信をしている時に光る LED ランプです。 TX :送信 RX :受信
  25. 25. ページ25 接続図 今回の接続は PC と UNO 基板を USB ケーブルで接続するだけです。
  26. 26. ページ26 スケッチ それでは Arduino IDE に含まれているサンプルスケッチの呼び出しと、UNO への書き込みについて解説していきます。 サンプルスケッチの読み込み メニューからファイル→スケッチ例→01.Basics→Blink をクリックしてください。
  27. 27. ページ27 UNO への書き込み Arduino IDE の ボタンを押すとボードへスケッチが書き込まれます。
  28. 28. ページ28 指定された時間待機します。単位はミリ秒(1/1000 秒)ですので、delay(1000); は 1 秒の待機になります。 ≪エラーが出たときの対応≫ コンパイルエラーが発生する場合 ・この場合多くはプログラムに全角の文字やスペースが含まれている場合です。 全角が含まれている場合は半角に変更してください。 (後述する // や /* */ を使った注記部分は全角でも問題有りません) 書き込めない場合は下記点を確認して下さい。 ・正しいシリアルポートが選択されている。 ・ボードに Arduino/Genuino UNO が選択されている。 それでもエラーとなる場合、下記を試してみて下さい。 ・Arduino を接続している USB ケーブルを抜き差しする。 ・Arduino IDE を閉じて起動しなおす。 ・PC を再起動する。
  29. 29. ページ29 スケッチ
  30. 30. ページ30 スケッチ解説 はじめにスケッチの基本について説明します。 ・スケッチには動作の説明やメモ書きといった、コメントを書いておく事が出来ます。 // に続けてテキストを書くと、// 以降行末までがコメントになります。 /* */ でテキストを囲む事で、その間のテキストがコメントになります(間のテキストは複数行記述できます) ・各命令の最後には必ず「;」を付けます。 ・setup() は Arduino 起動時に一度だけ実行されます。ここで初期化等の準備のための命令を記述しておきます。 Arduino は setup()を一度実行した後、loop() を繰り返し実行します。
  31. 31. ページ31 サンプルスケッチの Blink の内容について説明します。 setup 関数は{ }の間に書かれた命令を Arduino 起動時一度だけ実行します。 PinMode 関数は指定したピンをインプット用にするかアウトプット用にするかを設定します。 ※ LED_BUILTIN は LED が接続されているデジタルピン 13 を表しており、 pinMode(13, OUTPUT) ; と同等です。 loop 関数は{ }に書かれた命令を繰り返し実行します。 digitalWrite コマンドは指定したピンを HIGH(5V)にするか LOW(0V)にするかを設定します。 delay 関数は指定された時間待機します。単位はミリ秒(1/1000 秒)ですので、delay(1000); は } 1 秒の待機になります。 ※ ここを変更することで簡単に点滅時間を変更できます。
  32. 32. ページ32 動作確認 接続とスケッチの書き込みが終わって基板上の L と書かれたオレンジ色の LED が点滅していたら成功です。 また、スケッチの delay(1000)の 1000 を 500 や 2000 に変更すると LED の点滅間隔が変わりますので やってみましょう。
  33. 33. ページ33 概要 外付け LED を光らせることを通じて DIGITAL 出力ピンの使い方を学びましょう。
  34. 34. ページ34 部品の説明 LED(Light Emitting Diode 発光ダイオード) 足の長さに違いが有り、長い方がアノード、短い方をカソードと呼びます。 アノードをプラス、マイナスをプラスに繋いで使用しますが直接接続すると定格電流を超えてしまいますので必ず直列に抵 抗を入れましょう。 抵抗値は LED の順方向電圧、定格電流、電源電圧の 3 つがわかれば下記のように計算できます。 順方向電圧 2V、定格電流 0.02A、電源電圧 5V の場合、(5V-2V)÷ 0.02A=160Ω で 160Ω 以上の抵抗をつければ OK です。 今回は入手性の良い 220Ω を選択します。 ちなみに 220Ω の場合電流は(5V-2V)÷ 220Ω=13.6mA になります。 オームの法則 名前 式 単位 I(電流) I=V/R A(アンペ ア) R(抵抗) R=V/I Ω(オーム) V(電圧) V=IR V(ボルト) Anode(+) Cathode(-) V I R ÷ ÷ ×
  35. 35. ページ35 抵抗値が大きければ暗くなり小さければ明るくなります。 壊れますので定格より小さい抵抗はダメですよ。 順方向電圧(VF):LED の両端に加わる電圧 定格電流(IF):LED に流す電流 電源電圧:Arduino の電源ピンから出力される電圧 5V 電子部品の特性はインターネットに多数公開されているデータシートを見るとわかりますので検索してみてください。 順方向電圧:LED の両端に加わる電圧 定格電流:LED に流す電流 電源電圧:Arduino のピンから出力される電圧、常に 5V
  36. 36. ページ36 ブレッドボード たくさんの穴が 2.54mm 間隔で空いていてここに電子部品を差し込むことでハンダ付け等無しで電気配線ができる、電子 工作の実験に便利なボードです。 内部は電気的に下記の様につながっています。外側 2 列は横方向につながっており、主に電源用として利用します。 上下は横一列が つながっている GND に利用 電源ラインに利用 信号線に利用 横の列が つながっている 上下は別
  37. 37. ページ37 抵抗 電気回路の電流や電圧を変えたりと地味だけど実は重要な部品です。 このレッスンでは LED に流す電流を決めています。 【 本キットで使用している抵抗 】 200Ω(Part2) 220Ω(共通) 470Ω(共通) 1KΩ(共通) 5.1KΩ(共通) 10KΩ(共通)
  38. 38. ページ38 抵抗にはカラーコードと呼ばれる帯が付いておりこれを読むことで抵抗値や抵抗値のばらつき精度や温度特性が 分かります。 カラーコードは帯が4つ、5つ、6つのものが有り、それぞれ下図のように読むことができます。
  39. 39. ページ39 接続図
  40. 40. ページ40 回路図
  41. 41. ページ41 スケッチ ※お気づきの方もおられるかもしれませんが、このスケッチでも Lesson1 の時に見た基板上の L と書かれたオレンジ LED も光ります。なぜでしょうか? 実は 13 番ピンと基板上の L(LED)はつながっているのです。 試しに Lesson1で使ったスケッチをもう一度書き込んでみてください。 13番ピンの記述はスケッチ上なにも有りませんが13番と接続した LED は光りましたね。
  42. 42. ページ42 “int”は 2 バイト整数(-32,768~32,767)の変数を扱う時に使うデータ型です。 この場合変数名 LED が 13 と指定されています。 よってこれ以降 LED という文字が出てきたものはすべて13と置き換えられます。 ※Lesson1 のスケッチにある LED_BUILTIN は Arduino IDE 内部で 13 と定義されています。どちらのスケッチも 「pinMode(13, OUTPUT);」と同等になっています。
  43. 43. ページ43 動作確認 接続とスケッチの書き込みが終わって 13 番ピンとつながっている LED が点滅していたら成功です。 また、スケッチ 1 行目の int LED = 13 ; の13を他の出力ピンの番号に変更して LED の位置も変更すると別の出力から も LED を制御できますので練習にやってみましょう。
  44. 44. ページ44 概要 光の量によって抵抗が変わる CdS セルをアナログ入力に、LED をアナログ出力に接続します。 CdS セルを手で覆って暗くしたり強い光を当てたりして LED 光量を変化させましょう。 また、シリアルモニタを使ってアナログ入力の数値の変化を確認します。
  45. 45. ページ45 部品の説明 CdS セル 光の量で抵抗値が変わる素子です。 これに抵抗と電源をつなげてその分圧される電圧を測定することで光の強弱を知ることができます。 昔のフィルムカメラで光量の測定によく使われていました。 ボールスイッチ ※Starterkit Part2 には付属しません 傾けるとスイッチが開になるスイッチです。 中に鉄球等が入っていてこれが移動することで接点が開になったり閉になったりします。
  46. 46. ページ46 接続図 ※Starterkit Part2 にはボールスイッチは付属しませんので R1 は直接 D9 に接続してください。
  47. 47. ページ47 回路図 ※Starterkit Part2 をご購入の方はボールス イッチが付属しませんので R1 は直接 D9 に 接続してください。
  48. 48. ページ48 スケッチ 回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。 Arduino IDE の上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが開きます。 まずはシリアルモニタ下にあるボーレートのリストから 9600bps を選びましょう。 すると CdS セルとつながっている UNO 基板の A0 端子の値がどんどん表示されていくのが見えると思います。
  49. 49. ページ49 スケッチ解説 このレッスンの最後で解説するシリアル通信をする際の通信速度設定です。 9600bps(bits_per_second)で通信します。 val の値をシリアルモニタに表示させる設定です。 アナログ入力ピンに 0 を指定してこの値を val という変数に代入しています。 9 番のピンをアナログ出力として val ÷ 4 の値を出力値として設定しています。 アナログ出力に設定可能な範囲は 0~255 です。
  50. 50. ページ50 シリアルモニタ 回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。 Arduino IDE の上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが 開きます。 シリアルモニタ右下にあるボーレートのリストから 9600bps を選ぶと CdS セルとつながっている UNO 基板の A0 端子の 値がどんどん表示されていくのが見えると思います。 シリアルモニタ起動アイコン
  51. 51. ページ51 シリアル通信速度設定 アナログ入力0(CdS セル出力)の値 0~1023
  52. 52. ページ52 動作確認 接続とスケッチの書き込みが終わったら CdS セルを手で覆って光をさえぎってみましょう。 シリアルモニタの値は小さくなりましたでしょうか? 今回のスケッチではこの値が小さくなると LED とつながっている D9 端子の出力が弱くなるようにプログラムしましたので CdS セルに入る光量に従って LED の光量が変化することを確認してみてください。 また、おまけでボールスイッチも付けましたのでボールスイッチを傾けたときに LED が消灯することも合わせて確認してく ださい。 ※Starterkit Part2 にはボールスイッチは付属しません。スケッチはそのままご使用になれます。
  53. 53. ページ53 概要 大きな電流が必要なファンモータを駆動させる方法を学びます。 また、ボリュームを回してファンの風量を変えてみましょう。 部品の説明 DC モーター DC3V 0.2A 定格のモーターです。 モーター&プロペラ
  54. 54. ページ54 FET(2SK2232) モーター等大電流が必要な場所に使う半導体スイッチです。 1 番(ゲート)-3 番(ソース)ピン間に電圧をかけると2番(ドレイン) -3番ピン(ソース)間が導通し、最大 25A の電流を流すことができます。
  55. 55. ページ55 可変抵抗(10kΩ) ノブを回すことで0~10kΩの間で抵抗値を自在に変化させることのできる可変抵抗です。 下の回路の通り、ボリュームノブを回すと抵抗値が 1-2 番間と 3-2 番間の抵抗値が逆向きの変化量で 0 ⇔ 10KΩ に変 化します。 例えば 1-2 番間を3KΩにすると 2-3 番間は 7KΩになります。
  56. 56. ページ56 接続図 ※コンデンサとダイオードはノイズ対策用ですので無くても動作します。 ※コンデンサは足が短いのでオスメスのケーブルを足して接続してください。 ※電池ボックスのリード線は線径が細いので IC クリップ経由でブレッドボードに接続してください。
  57. 57. ページ57 回路図
  58. 58. ページ58 スケッチ
  59. 59. ページ59 スケッチ解説 可変抵抗とつながっているアナログ入力の値を val という変数に格納します。 モーターとつながっている 9 番ピンの出力を上記 val の値から決めています。
  60. 60. ページ60 動作確認 接続とスケッチの書き込みが終わったらボリュームを回してモーターの回転数が変化するか確認してみてください。 また、シリアルモニタを開くとボリュームとつながっているアナログ入力の値が表示されるのでモニタしてみましょう。
  61. 61. ページ61 概要 RGB_LED は赤、緑、青を発光させることのできる素子です。 これは光の3原色といってこれらの色を混ぜ合わせることによって様々な色を作り出すことができます。テレビの画面なん かも同じ原理ですね。 Arduino のアナログ出力を3つ使っていろいろな色をつくってみましょう。 光の 3 原色
  62. 62. ページ62 部品の説明 RGB_LED マイナス接続用の端子と3本の端子が出ています。 それぞれの端子から電流を流すと、それぞれ R(赤)G(緑)B(青)の色に発光します。
  63. 63. ページ63 接続図
  64. 64. ページ64 回路図
  65. 65. ページ65 スケッチ
  66. 66. ページ66
  67. 67. ページ67
  68. 68. ページ68 スケッチの解説 void setColor(int red,int green,int blue); は今回独自に作成した関数です。 関数はプログラムを見やすくしたり同じ処理を何度も記述するのを避けるのに使われます。 独自の関数は setup 関数の前で宣言し、loop 関数の後ろで関数の処理内容を記述します。 動作確認 接続とスケッチの書き込みが終わったら RGB_LED の光が様々な色に変わっていくのが分かると思います。 今回は赤、緑、青の3色を Arduino の出力を0か255だけの組み合わせで色を作りました。 スケッチの setcolor 関数の値を20等の途中の光量にするとさらにたくさんの色を作れますのでぜひ試してみてください。
  69. 69. ページ69 概要 温湿度センサ DHT11 を使って、これまで行ってきたアナログ入力ではなくシリアル通信によって温度や湿度を取得する方 法を学びましょう。
  70. 70. ページ70 部品の説明 DHT11 温湿度センサモジュール 温度と湿度を計測できるセンサです。温度と湿度の情報はシリアル通信によって取得します。 DATA シリアル通信用 VCC 5V GND
  71. 71. ページ71 ※コロナウイルスの影響により 上記 DHT11 の供給不足となった 2020 年 4 月に発送された一部のキットで 上記のような中央部に丸い穴が開いた DHT11 を使用しております。 この部品が入っていた場合は GND DATA VCC それぞれのピン位置 が異なりますので右図の配線をお願いします。 DATA シリアル通信用 VCC 5VGND
  72. 72. ページ72 接続図
  73. 73. ページ73 回路図
  74. 74. ページ74 ライブラリのダウンロードとインクルード 温湿度センサ DHT シリーズを使用するには、まず下記 URL からライブラリの zip ファイルを ダウンロードしてください。 ①DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library ②Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor
  75. 75. ページ75 2種類の Zip ファイルがダウンロードできたら次はそれぞれについてインクルードを行い、IDE で使える状態にします。 スケッチ→ライブラリをインクルード→.ZIP 形式のライブラリをインクルードを選び、画面の指示に従ってライブラリをイ ンストールします。
  76. 76. ページ76 インクルードが終わったら ファイル→スケッチ例→DHTsensor library→ DHTtester を選択します。
  77. 77. ページ77 補足 主要なライブラリはライブラリマネージャからインストールすることもでき、こちらのほうが簡単です。 メニューバーのツール→ライブラリを管理をポイントするとライブラリマネージャーが開きます。 例えば今回使用した DHT11 を検索すると DHT ライブラリがヒットしますのでこれをクリックしてインストールボタンを 押すだけでライブラリのインストールが完成します。 インストール済のライブラリは下のスクリーンショットのように緑色で“INSTALLED“と表示されます。
  78. 78. ページ78 スケッチ スケッチは先程のライブラリに付属する DHTtester を使用します。 PUREYES のスケッチではな くライブラリに付属のスケッ チをそのまま使用する場合は 温度センサの変更が必要で す。 16 行目に温湿度センサの種類 を選択する部分が有りますの で DHT11 を選択してくださ い。 選択の方法は 16 行目の先頭 の // を消して DHT11 を 使用できるようにします。 これに 17 行目の先頭に // を追記し DHT22 を使用しな いようにします。
  79. 79. ページ79
  80. 80. ページ80
  81. 81. ページ81 スケッチ解説 インストールした DHT ライブラリをスケッチから使える状態にしています。 DHT11 の通信を行うピンを 2 に定義しています。 使用する DHT を DHT11 と定義しています。 ※DHT11 の行を//でコメントにし、DHT22 や DHT21 の行のコメントを外す事で他の種類のセンサーも使える様にな っています。 dht と言う名前の変数で、通信のピンとセンサーのタイプを指定し DHT11 のセンサーを使う宣言をしています。 DHT(温湿度センサ)の使用を開始します。
  82. 82. ページ82 float は小数点を含む数値を変数として扱うときに使用します。 この場合 h に humidity(湿度)を代入するように設定しています。 Isnan はデータを受け取れなかったときに nan を返します。 また、 || は or の演算子です。 全体としては h 湿度 t 摂氏温度 f 華氏温度のいずれかの情報取得を失敗したことを知らせています。 dht.computeHeatindex では f 華氏温度と h 湿度から体感温度を計算しています。
  83. 83. ページ83 シリアルモニタ シリアルモニタは CdS セルを使ったレッスンで使いましたが覚えていますでしょうか? CdS セルのときはアナログ入力の電圧と連動している 0~1023 の値を表示しましたが、 今回の DHT11(温湿度センサ)では DHT11がシリアル通信によって送ってくれた温度や湿度を表示します。 シリアル通信を始めるには、前回同様 Arduino IDE の上右にある虫めがねのようなアイコンをクリックしてシリアルモニ タを開きます。通信速度は 9800 になっていることを確認ください。
  84. 84. ページ84 動作確認 シリアル通信が始まると Humidity(湿度)、Temperature(摂氏および華氏の温度)、Heat index(摂氏および華氏の体 感温度)が表示されます。息を吹きかけたりエアコンの近くに置いたりして温湿度が変化するか確認してみてください。
  85. 85. ページ85 概要 UNO 基板には時計が無いので目覚まし時計のようなものを作ろうとする時など、時計情報が必要なときは RTC という部品 を使います。 RTC からは時間の他日付も取得できます。また、コイン電池を取り付ければ UNO 基板等からの電源が途絶えても時間を刻 み続けてくれます。 ここではまず RTC の初期設定として時計合わせの方法を学びます。
  86. 86. ページ86 部品の説明 RTC(Real Time Clock) 通信機能のついた時計です。 year,month,day,week,hour,min,sec 等の時計情報を Arduino 等の電子機器に送信できます。 DHT11 は信号線 1 本でシリアル通信によりデータのやりとりをしていましたが、RTC は 2 本の信号線で I2C と呼ばれ る方式でデータのやりとりをします。I2C 通信では同じ 2 本の信号線上に複数の異なる部品を繋げる事が出来る為、接続 が簡単で、使用するピンを節約する事が出来ます。 ※本製品にはコイン電池(LIR2032)は付属しておりません。VCC、GND 端子からの電源供給が有る間は動作しますが、 電源供給が無くなると時刻が初期値にリセットされ、再度時刻合わせが必要です。 SCL 通信用端子 SDA 通信用端子 VCC(5V)通信用端子 GND 通信用端子
  87. 87. ページ87 時計合わせ RTC はまず時計合わせが必要です。 <時計合わせの手順> 1. Lesson6 DHT11 のときと同じ要領で RTClib.ZIP をダウンロードしてインストールします。 ダウンロード URL https://github.com/adafruit/RTClib 2. 前述の通りライブラリマネージャからもインストールできます。
  88. 88. ページ88 3. スケッチを開く Arduino IDE のメニューから ファイル→スケッチ例→RTClib→DS1307 を選択
  89. 89. ページ89 4. 時計合わせをしないと全く違う時間で進んでいくだけなのでまずは時計合わせが必要です。 時計合わせは、DS1307 スケッチ内にある下記の黄色でハイライトした記述で行われます。 ここの先頭の // を消すとこの行が有効になります。あとはスケッチを書き込んで UNO を起動すると、その時間に 時計が合います。時計合わせが終わったら // を元に戻しておきましょう。 5. スケッチを書き込みます。
  90. 90. ページ90 6. シリアルモニタを開いて右下にあるボーレートリストから 57600 baud を選びます。 すると時刻が表示されるので、1行目に表示されている時刻が PC の時計とおおよそ合っていることを確認しま す。※書き込み時間分の数秒のズレは有ります。
  91. 91. ページ91 接続図
  92. 92. ページ92 回路図
  93. 93. ページ93 概要 前のレッスンで時計合わせをした RTC と水流電磁弁を使って決まった時間に水やりをする装置を作ってみましょう。
  94. 94. ページ94 部品の説明 水流電磁弁 電気的に on/off できる水流弁です。on/off させるには 9V_0.4A が必要です。 白いカバーを外すと M3 のビスが2本有りますのでここに配線してください。 極性は無いのでどちらが+でも OK です。 コストの関係上キット付属の 006P 角形マンガン電池では十分な電力を供給 できないためポコポコという音での動作確認までしかできません。 実際に散水にご使用される際は別途 DC9V で 0.4A 以上の電源をご用意 ください。 ◇電磁弁の仕様 9V 品◇ 接続部ネジ:管用平行ネジ G1/2 定格電圧:9V 定格電流:0.4A 水圧範囲:0.02~0.8Mpa 温度範囲:1~50度 薄緑色=9V 品
  95. 95. ページ95 ◇電磁弁の仕様 12V 品◇ 接続部ネジ:管用平行ネジ G1/2 定格電圧:12V 定格電流:0.3A 水圧範囲:0.02~0.8Mpa 温度範囲:1~50度 ※コロナウイルスの影響により 上記 9V 品の供給不足となった 2020 年 4 月に発送された一部のキットで端子部分が灰色の 12V 仕様の電磁弁を使用しております。 12V 品をお付けしているキットには 12V 用 電池ボックス及び電池も同梱されていますので 9V 角形電池の代わりにこちらをお使いくださいませ。 灰色=12V 品
  96. 96. ページ96 リレーモジュール 大きな電流の on/off ができる電磁スイッチです。 通常リレーを Arduino で駆動するには電流が足りないのでトランジスタ等が必要ですが、 このリレーモジュールはトランジスタを内蔵しているので直接 Arduino の出力を接続できます。 NO(Normally Closed 常時開) コモン NO(Normally Open 常時閉) GND VCC(5V) S(Arduino の出力と接続)
  97. 97. ページ97 接続図 ※電池ボックスのリード線は線径が細いので IC クリップ経由でブレッドボードに接続してください。
  98. 98. ページ98 回路図
  99. 99. ページ99 スケッチ ※Lesson7RTC で時間を取得する で RTClib.h ライブラリをまだインストールされて いない場合は先にインストールを行ってくださ い。
  100. 100. ページ100
  101. 101. ページ101 スケッチ解説 “wire.h“と”RTClib.h”ライブラリをインクルードします。 使用する RTC の型式を指定します。 タイマーの作動時間と継続時間を指定する場所です。 “ Int ”は 2 バイト整数(-32,768~32767)の変数を扱う時に使うデータ型です。 “ long “は 4 バイト整数(-2,147,483,648~2,147,483,647)の変数を扱う時に使うデータ型です。 “ == “ は前後が一致する場合成立する比較演算子です。 “ && ” は AND の演算子です。前後がどちらも成立している場合成立します。 この場合 RTC から受け取った時間と almHour と almMinute が一致した場合 if 分の内容が 実行されます。
  102. 102. ページ102 動作確認 スケッチ解説で説明したスケッチ上部のタイマー設定部分に現在時刻に近い時間を設定してその時間に水流電磁弁が on し て待機時間分 on し続けることを確認してください。 実際にホースを繋いで花壇に設置すれば自動水やり機の完成です。 これで速習キット Part1 の学習内容は終わりです。 それぞれのレッスンで学んだことを組み合わせたりしてご自分のオリジナルガジェットにも挑戦してみてください。 Lesson8で作成した水やり機に光センサや温湿度計も組み合わせると晴れた日で温度が高くて湿度が低い日だけ水やりす る、というような動きにすることもできますね。健闘を祈ります!
  103. 103. ページ103 概要 サーボモーターを使って決めた角度に移動する方法を学びましょう。 部品の説明 SG-90 サーボモーターはロボットやラジコンの方向やスピードの制御によく使われる、動かす角度を決められる部品です。オレン ジの線に与える PWM パルスの数で角度が決まります。
  104. 104. ページ104 接続図
  105. 105. ページ105 回路図
  106. 106. ページ106 スケッチ Arduino IDE に標準でついているサンプルスケッチ を使用します。 ファイル → スケッチ例 → servo → sweep を 選択しましょう。
  107. 107. ページ107 次に servo ライブラリをインクルードします。 スケッチ → ライブラリをインクルード → Servo
  108. 108. ページ108 サーボモーターが 0 度~180 度へ 移動したあと 180 度~0 度に戻っ たでしょうか? For ループの中の角度指定している 部分(pos)を変更すると自由に角 度を変更することができますのでや ってみてください。
  109. 109. ページ109 概要 人感センサという人が来たら感知するセンサを使ってみましょう。 人感センサの信号を受け取ったら数秒間 LED を光らせます。
  110. 110. ページ110 部品の説明 人体検知センサー 人体検知センサーは人体から出ている熱(赤外線)を検知して、人がいる、いないを判断するセンサーです。 人がいないと OUT から HIGH の信号を出します。 検知時間調整 5 分(左いっぱい) ~ 3 秒(右いっぱい) 検知距離調整 3m(左いっぱい) ~ 5m(右いっぱい) VCC 5V GNDOUT HIGH/LOW
  111. 111. ページ111 接続図
  112. 112. ページ112 回路図
  113. 113. ページ113 スケッチ プログラムを実行してみましょう。 センサに近づくと LED が光り、離れ て待つと消灯します。 ※延長時間が長すぎたり検知距離が 遠すぎたりすると待ったり離れたり するのが辛いのでセンサについてい る 2 つのボリュームは共に右いっぱ いの状態から実験をはじめるといい でしょう。 このボリューム設定時は3m以上離 れて約 5 秒待つと消灯します。 Lesson3で学んだ CDsセルと組み合わせれば、夜間だけ光るLEDライトも作れますのでトライしてみてください。
  114. 114. ページ114 概要 TA7291P というモータードライバ IC を使って高出力モータ-を制御(正転、逆転、PWM による速度変更) する方法を学びます。
  115. 115. ページ115 部品の説明 TA7291P この IC は 2A までのモーターを正転、逆転、速度変更制御を行えます。 IN1,IN2 端子にかける電圧の組み合わせで正転逆転の切り替え、Vref 端子の PWM デューティー比で速度変化が可能です。 ① GND GND ② OUT1 モーターと接続 ③ 未使用 - ④ Vref Arduino の PWM 出力と接続(Vs より小さい電圧が必 要) ⑤ IN1 Arduino のデジタル出力と接続 ⑥ IN2 Arduino のデジタル出力と接続 ⑦ Vcc IC の電源(5V) ⑧ Vs モーター駆動用電源 ⑨ 未使用 - ⑩ OUT2 モーターと接続
  116. 116. ページ116 ファンクション表 入力 出力 モード IN1 IN2 OUT1 OUT2 0 0 ∞ ∞ ストップ 1 0 H L モーター正転 0 1 L H モーター逆転 1 1 L L ブレーキ
  117. 117. ページ117 ≪≪ PWM(Pulse Width Modulation)って何?? ≫≫ スイッチオン/オフの比率を変化させてモーターの速度や LED 等の光の強さを変化させることができる方法です。 オン/オフの比率のことをデューティー比といいます。
  118. 118. ページ118 接続図 ※電池ボックスのリード線は線径が細いので IC クリップ経由でブレッドボードに接続してください。
  119. 119. ページ119 回路図
  120. 120. ページ120 スケッチ モーターの 中速正転→全速正転→ブレーキ→中速逆転→STOP を 繰り返します。
  121. 121. ページ121 TA7291P モータードライバの2つの INPUT の組み合わせで正転―逆転 ―ストップーブレーキを、Vref にかける PWM 信号によって速度を制御 しています。部品説明ページに記載の表とスケッチをしっかり見て動作 原理を自分のものにしてください。
  122. 122. ページ122 概要 SHT31 という温度センサーから受け取った温度や湿度の情報をシリアルモニタに表示させます。
  123. 123. ページ123 部品の説明 SHT31 温度、湿度を I2C 通信で取得ができるセンサーです Arduino の I2C 端子(A4,A5)を SCL,SDA 端子に接続して使用します。 SCL SDA GND VCC
  124. 124. ページ124 接続図
  125. 125. ページ125 回路図
  126. 126. ページ126 スケッチ まずは、SHT31 ライブラリをダウンロードして取り込みます。 ※ライブラリの使い方については Lesson6 をご参照ください。 https://github.com/adafruit/Adafruit_SHT31 次に Arduino IDE に標準でついているサンプルスケッチを使用します。 ファイル → スケッチ例 → Adafruit_SHT31・・・ → SHT31test を選択しましょう。
  127. 127. ページ127
  128. 128. ページ128
  129. 129. ページ129 書き込みが終わったらシリアルモニタを起動して温度と湿度が取得できているのを確認しましょう。
  130. 130. ページ130 概要 LCD ディスプレイに文字を表示させる方法を学びましょう。
  131. 131. ページ131 部品の説明 1602LCD 16 列 2 行の文字を表示できる液晶ディスプレイです。 Arduino から I2C 通信で情報を送信します。 接続は裏面の 4 本ピンのみです。 GND VCC(5V) SDA SCL LCD コントラスト調整用ボリューム抵抗 ※LCD の文字が見えない、見えづらいというときはこれを回して調 整してください。
  132. 132. ページ132 接続図
  133. 133. ページ133 回路図
  134. 134. ページ134 スケッチ まずは、LiquidCrystal_I2C ライブラリをダウンロードして取り込みます。 ※ライブラリの使い方については Lesson6 をご参照ください。 https://github.com/marcoschwartz/LiquidCrystal_I2C Lesson13_LCD_PurEyes.ino を開きます。 LCD に Hello,world 等が表示されたら OK です。コメントをよく 見て文字の表示内容や表示位置を色々変えてみて使い方を学びま しょう。
  135. 135. ページ135 概要 イーサネットシールドを使うとインターネットに情報を公開することができます。今回は温度センサの値をインターネット に公開してみます。
  136. 136. ページ136 部品の説明 イーサネットシールド シールドとは、Arduino の上にちょうど積み重ねるようにするだけで Arduino にいろいろな機能を付加できる部品です。 今回使用するイーサネットシールドは LAN ケーブルをルーター等に接続することで Arduino をサーバーやクライアントに したりすることができます。
  137. 137. ページ137 接続図 ① Arduino の上にイーサネットシールドの足を差し込みます。 ② 人感センサを接続します。 ③ LAN ケーブルでご自身のネットワークルーターに接続します。 ※UNO 基板は Ethernet シールドに重ねる
  138. 138. ページ138 回路図 ※UNO 基板は Ethernet シールドに重ねます
  139. 139. ページ139 スケッチ Arduino のサンプルスケッチから、 スケッチ例 – Ethernet – WebServer を選びます。 MacAddresst と IPAddress の部分を下記に書き換えます。 MacAddress: 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED → 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 IPAddress: ご自分のローカルネットワークで使用しているアドレスを確認して使用していない番号にします。 ご自分のネットワークで使用されている IPAddress を知るにはコマンドプロンプトで IPCONFIG を打ち込んで 実行すると 192.168.から始まるアドレスが出てきますので 192.168 のあとはご自分のアドレスと同じにして 最後の 3 つの数字を 0~255 のうちお好きな数字にして打ち込んでください。 例1:ご自分のネットワーク機器のアドレス 192.168.0.1 の場合 192.168.0.171 等 例2:ご自分のネットワーク機器のアドレス 192.168.1.1 の場合 192.168.1.171 等
  140. 140. ページ140
  141. 141. ページ141
  142. 142. ページ142 このスケッチでは人感センサの値を読んで web に公開しています。 ご自分の PC のブラウザ(GoogleChrome、MicrosoftEdge、Firefox 等)に先程スケッチに打ち込んだ IP アドレスを打ち 込むと数秒ごとにこの値を見ることができますよ。 アナログインプットの 0~6 の値がすべて出力されますので他にも温度センサやスイッチをつければそれらの値を公開する こともできますのでいろいろやってみるとおもしろいです。
  143. 143. ページ143 ご自分のネットワークに合わせて変更 (スケッチ説明のはじめの部分をご参照ください) 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 に変更
  144. 144. ページ144 AnalogInput0~6 の値を web に公開しています
  145. 145. ページ145 本書中の会社名や商品名は、該当する各社の商標または登録商標です 本書中では TM 及び R は省略させていただいております Revision history : 2019.8.2 v103 Lesson6 接続図および回路図を修正 2019.11.5 v104 Lesson6 スケッチ中の DHT11 選択部分説明追加 2019.11.5 v105 Lesson9~14 を追加 2019.11.11 v106 Lesson3 について StarterKitPart2の場合の配線方法を追記 2019.12.16 v107 Lesson13 LCD のコントラスト調整方法を追記 2020.1.4 v108 Lesson6 接続図および回路図を修正(A0→D2) 2020.1.9 v109 Lesson2抵抗器の説明方法変更 Lesson4回路図に部品写真を追加 Lesson5接続図、回路図修正(G:D10 B:D11) 2020.1.17 v110 Lesson10 スケッチの中の全角スペースを削除 2020.2.14 V111 Lesson8 電磁弁部品仕様を追記 2020.4.5 V112 Lesson8 void setup に8番ピンの設定を追加 2020.4.7 V113 Lesson12 回路図を修正 PurEyes UNO R3 速習キット解説書 2019 年 7 月 11 日発行 著者 中村光宏 禁無断転載・複製

×