SlideShare uma empresa Scribd logo
1 de 142
Baixar para ler offline
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

はじめての電子工作&プログラミング

UNO R3 速習キット

[ 学習教材 V115 ]

https://www.pureyes.net/
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

はじめに

1

はじめてのUNO R3速習キットをお買い上げいただき誠に有難うございます。
この解説書は初学者の方がすばやく学習できるように、実験主体で解説しています。


ぜひ、どんどん見て触って、ときにはいじくり回して進めていっていただければ著者といたしましても本望
です。
LINEサポート窓口

≫ https://lin.ee/3qvAwiFGB


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

  
2

Lessonは0~14までございますが、キットの種類によってご参照いただく
Lessonが
異なりますので、下記より対象のレッスンをご確認ください。
キット名 適応Lesson 関連書籍
はじめてのUNOR3速習キット
(Part1)
Lesson0~Lesson8 Arduinoをはじめよう 第3版
はじめてのUNOR3速習キット
(Part2)
Lesson0~lesson3
※Part2にはボールスイッチが
付属しませんのでボールス
イッチの配線は不要です。ス
ケッチはそのままご利用くださ
い。
Lesson5
Lesson9~Lesson14
Arduinoではじめる電子工作超
入門
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

3

Part1のキットは “Arduinoをはじめよう 第3版”(オライリージャパン社発行)
Part2のキットは “Arduinoで始める電子工作超入門“(オーム社発行)
で扱われている部品を集めておりますのでこの書籍と合わせて学習することで、より深い学習が可能で
す。
部品はすべてハンダ付け済、またリレーや温度センサ等は周辺部品を実装済のモジュール品を採用す
ることで最小の作業で学習を進められるようになっています。
必要な部品と解説書(本誌)がそろっています。
次に、キットの特徴である【簡単】【すぐにはじめられる】【深く学べる】について
解説いたします。
【簡単】
【すぐにはじめられる】
【深く学べる】
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

4

Arduinoについて
Arduino(アルデュイーノ)は、ハードウェアである「Arduinoボード」、と


ソフトウェアである「スケッチ」、スケッチを作製しハードに書き込むための環境としての「 Arduino
IDE 」から構成されるシステムです。
Arduinoシリーズには Arduino Nano や Arduino MEGA などたくさんの種類があり、Arduino UNO R3
はもっとも標準的なボードです。


≪ Arduino公式ボード ≫
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

5

また、Arduinoはハードウェア設計もソフトウェア製品もオープンソースであるため多くのArduino 互換機が
存在します。

このキットに付属するUNO R3ボードはArduino UNO R3ボードの完全互換品です。




≪ アルディーノIDEとスケッチ ≫
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

6

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

目次

7

 

はじめに ・・・・・・・・・・・・・・・・・・・・・・・・・・・ 
1
Arduinoについて ・・・・・・・・・・・・・・・・・・・・・・・  4
目次 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 7
Lesson 0 Arduino IDEのインストールと初期設定をしよう
 ・・・・・ 9
Lesson 1 “UNO“を動かしてみよう ・・・・・・・・・・・・・・・ 19
Lesson 2 外部LEDを光らせよう ・・・・・・・・・・・・・・・・・ 29
Lesson 3 光センサでLED光量を変化させよう ・・・・・・・・・・ 40
Lesson 4 ファンモータを動かそう・・・・・・・・・・・・・・・・ 49
Lesson 5 RGB_LEDの色を変化させよう ・・・・・・・・・・・・・ 58
Lesson 6 温度センサと通信してみよう ・・・・・・・・・・・・・ 66
Lesson 7 RTCで時間を取得する ・・・・・・・・・・・・・・・・ 82
Lesson 8 RTCを使って好きな時間に水を流す ・・・・・・・・・・ 90
Lesson 9 サーボモーターを動かそう ・・・・・・・・・・・・・・ 100
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

 

8

Lesson 10 人体検知をやってみよう ・・・・・・・・・・・・・・・ 106
Lesson 11 モーター駆動ICを使って正転、逆転の制御をやってみよう
 ・ 111
Lesson 12 I2C通信で温度と湿度を取得表示してみよう  ・・・・・・・ 119
Lesson 13 LCDで文字を表示させよう ・・・・・・・・・・・・・・ 127
Lesson 14 イーサネットシールドを使ってウエブサーバーを構築しよう
 ・132
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 0ARDUINO IDEのインストールと初期設定をしよう

9

 

Arduino のプログラム(スケッチ)を作成し、書き込むためのソフトウェアをダウンロードしましょう。
https://www.arduino.cc/en/software から、対応OSに合わせたファイルをクリックします。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 0ARDUINO IDEのインストールと初期設定をしよう

10

 

寄付をするか尋ねられるので、どちらかを選んでダウンロードします。
JUST DOWNLOADを選べば寄付なしでも使用できます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 0ARDUINO IDEのインストールと初期設定をしよう

11

 

ダウンロートドしたArduino***.exeファイルを開くとインストールが開始されます。 下記画面が出てきたら
Closeボタンを押してインストール完了です。
5) それでは先程インストールしたArduino IDEを開いて初期設定を行いましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 0ARDUINO IDEのインストールと初期設定をしよう

12

 

まずはUNO基板をUSBケーブルでPCと接続します。
Arduino IDEのアイコンがデスクトップにできていますのでこれを開きます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 0ARDUINO IDEのインストールと初期設定をしよう

13

 

英語表記になっている場合は日本語に変更しておきましょう。
メニューからFile → Preference → Editor languageのリストから日本語を選択します。
一度Arduino IDEを閉じてからもう一度起動すると日本語表記に変わっています。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ボードの選択

14

 

  次にボードの選択です。
実はArduinoはUNOの他にも様々な種類のボードが有りますので、まずこれを選択
しなければなりません。
メニューからツール→ボードとポイントしていきArduino/Genuino Unoまたは
    ArduinoUnoを見つけてクリックしてください。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ボードの選択

15

 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ボードの選択

16

 

最後にシリアルポートの設定です。
メニューからツール→シリアルポートとポイントしていきArduino/Genuino Uno の表記があるCOMポートを見
つけてクリックしてください。
これで初期設定は終わりです。 次はいよいよ実際にUNOを動かしてみましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ARDUINO IDE 公式ヘルプ

17

 

Arduino IDEのヘルプにはインストール方法、ソフトの使い方、トラブルシューティング、リファレンス(Arduino
のプログラム言語であるスケッチについての説明)がまとめられていて非常に有益です。困った時やもっとい
ろいろ知りたいと思った時はぜひこちらを参照されることをおすすめします。
ただしこれらはすべて英語で提供されていますのでGoogle Chrome ブラウザをお使いの方はページ翻訳機
能を使って日本語にすると楽に読み進められます。




ヘルプ                    Google Chromeブラウザの翻訳機能


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ARDUINO IDE 公式ヘルプ

18

≪ARDUINO公式ホームページ≫
https://www.arduino.cc/



 



≪ARDUINO公式資料 日本語版リンク≫
http://www.musashinodenpa.com/arduino/ref/




© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 1 “UNO”を動かしてみよう

19

Lesson0でインストールしたArduino IDEというソフトにはじめから入っているサンプルスケッチを実際に
UNOに書き込んでUNO基板上のLEDをon/offさせてみましょう。


 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品解説

20

UNO R3ボード



 

USB端子

電源入力(7~12V)

USB端子を使用していないときにここ
から電源を供給することでPC無しで
動作させることができます。 

TX, RX 

プログラム書き込み時等、 

通信をしている時に光る 

LEDランプです。

TX :送信 

RX:受信

電源端子 

50mAまでの電流を

供給できます。

アナログ入力端子 

A4,A5はI2C通信にも 

使用できます。
A4 :SDA

A5 :SCL

リセットボタン

L 

LEDランプです。

デジタル13番出力端子と連動し
ています。



デジタル入出力端子

各ピンはソフトの設定で入力にも
出力にも設定ができます。 

また、~マークが付いている
3,5,6,9,10,11番はPWM出
力が可能です。

出力として使用するときは 

40mAまでの負荷を駆動できます 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品解説

21

今回の接続はPCとUNO基板をUSBケーブルで接続するだけです。
接続図



© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

22

それでは Arduino IDE に含まれているサンプルスケッチの呼び出しと、UNO への書き込みについて解
説していきます。
 

サンプルスケッチの読み込み


 メニューからファイル→スケッチ例→01.Basics→Blinkをクリックしてください。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

23

UNOへの書き込み

Arduino IDEの ボタンを押すとボードへスケッチが書き込まれます。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

24

指定された時間待機します。単位はミリ秒(1/1000 秒)ですので、delay(1000); は 1 秒の待機になりま
す。
≪エラーが出たときの対応≫
コンパイルエラーが発生する場合
・この場合多くはプログラムに全角の文字やスペースが含まれている場合です。
全角が含まれている場合は半角に変更してください。
(後述する // や /*  */ を使った注記部分は全角でも問題有りません)
書き込めない場合は下記点を確認して下さい。
・正しいシリアルポートが選択されているか? 

・ボードに Arduino/Genuino UNO が選択されているか?
それでもエラーとなる場合、下記を試してみて下さい。
・Arduino を接続している USB ケーブルを抜き差しする。 可能であれば別のケーブルに変更する。 

・Arduino IDE を閉じて起動しなおす。  

・PC を再起動する。 



© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

25

スケッチ解説

はじめにスケッチの基本について説明します。


 

・スケッチには動作の説明やメモ書きといった、コメントを書いておく事が出来ます。


// に続けてテキストを書くと、// 以降行末までがコメントになります。


/* */ でテキストを囲む事で、その間のテキストがコメントになります(間のテキストは複数行記述でき
ます)
 

・各命令の最後には必ず「;」を付けます。
 

・setup() は Arduino 起動時に一度だけ実行されます。ここで初期化等の準備のための命令を記述してお
きます。Arduino は setup()を一度実行した後、loop() を繰り返し実行します。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

26

スケッチ

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

27

サンプルスケッチの Blink の内容について説明します。
setup関数は{ }の間に書かれた命令をArduino起動時一度だけ実行します。
PinMode関数は指定したピンをインプット用にするかアウトプット用にするかを設定します。
※ LED_BUILTIN は LED が接続されているデジタルピン 13 を表しており、


pinMode(13, OUTPUT) ; と同等です。
loop関数は{ }に書かれた命令を繰り返し実行します。
digitalWriteコマンドは指定したピンをHIGH(5V)にするかLOW(0V)にするかを設定します。
delay関数は指定された時間待機します。


単位はミリ秒(1/1000 秒)ですので、delay(1000); は }


1 秒の待機になります。
※ ここを変更することで簡単に点滅時間を変更できます。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

28

動作確認

接続とスケッチの書き込みが終わって基板上のLと書かれたオレンジ色のLEDが点滅していたら成功で
す。
また、スケッチのdelay(1000)の1000を500や2000に変更するとLEDの点滅間隔が変わりますのでやって
みましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 2外部LEDを光らせよう

29

概要

外付けLEDを光らせることを通じてDIGITAL出力ピンの使い方を学びましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

30

LED(Light Emitting Diode 発光ダイオード)


足の長さに違いが有り、長い方がアノード、短い方をカソードと呼びます。


アノードをプラス、マイナスをプラスに繋いで使用しますが直接接続すると定格電流を超えてしまいます
ので必ず直列に抵抗を入れましょう。


抵抗値はLEDの順方向電圧、定格電流、電源電圧の3つがわかれば下記のように計算できます。


順方向電圧2V、定格電流0.02A、電源電圧5Vの場合、


(5V-2V)÷ 0.02A=160Ωで160Ω以上の抵抗をつければOKです。
今回は入手性の良い220Ωを選択します。


ちなみに220Ωの場合電流は(5V-2V)÷ 220Ω=13.6mAになります。 


Anode(+)

Cathode(-)

オームの法則

名前
 式
 単位

I(電流)
 I=V/R
 A(アンペア)

R(抵抗)
 R=V/I
 Ω(オーム)

V(電圧)
 V=IR
 V(ボルト)

V

I
 R

÷
 ÷

×

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

31

抵抗値が大きければ暗くなり小さければ明るくなります。
壊れますので定格より小さい抵抗はダメですよ。
 

順方向電圧(VF):LED の両端に加わる電圧
定格電流(IF):LED に流す電流
電源電圧:Arduinoの電源ピンから出力される電圧 5V

 

電子部品の特性はインターネットに多数公開されているデータシートを見ると


わかりますので検索してみてください。
 

順方向電圧:LED の両端に加わる電圧
定格電流:LED に流す電流
電源電圧:Arduino のピンから出力される電圧、


常に 5V

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

32

ブレッドボード

GNDに利用

電源ラインに利用

たくさんの穴が2.54mm間隔で空いていてここに電子部品を差し込むことでハンダ付け等無しで電気配
線ができる、電子工作の実験に便利なボードです。
内部は電気的に下記の様につながっています。外側2 列は横方向につながっており、主に電源用とし
て利用します。

上下は横一列が

つながっている

 
 横の列が

つながっている

上下は別

信号線に利用

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

33

抵抗

電気回路の電流や電圧を変えたりと地味だけど実は重要な部品です。
このレッスンではLEDに流す電流を決めています。
 

【 本キットで使用している抵抗 】


200Ω(Part2)  220Ω(共通)  470Ω(共通)  1KΩ(共通)  5.1KΩ(共通)  10KΩ(共通)
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

34

抵抗にはカラーコードと呼ばれる帯が付いておりこれを読むことで抵抗値や抵抗値のばらつき精度や温度特
性が分かります。
カラーコードは帯が4つ、5つ、6つのものが有り、それぞれ下図のように読むことができます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

35

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

36

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

37

※お気づきの方もおられるかもしれませんが、このスケッチでもLesson1の時


に見た基板上のLと書かれたオレンジLEDも光ります。なぜでしょうか?
実は13番ピンと基板上のL(LED)はつながっているのです。
試しにLesson1で使ったスケッチをもう一度書き込んでみてください。
13番ピンの記述はスケッチ上なにも有りませんが13番と接続したLEDは光りましたね。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

38

“int”は2バイト整数(-32,768~32,767)の変数を扱う時に使うデータ型です。
この場合変数名LEDが13と指定されています。
よってこれ以降LEDという文字が出てきたものはすべて13と置き換えられます。
※Lesson1のスケッチにあるLED_BUILTIN はArduino IDE内部で13と定義されています。


どちらのスケッチも「pinMode(13, OUTPUT);」と同等になっています。
 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

動作確認

39

接続とスケッチの書き込みが終わって13番ピンとつながっているLEDが点滅していたら成功です。
また、スケッチ1行目の int LED = 13 ; の13を他の出力ピンの番号に変更してLEDの位置も変更すると別の
出力からもLEDを制御できますので練習にやってみましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 3光センサでLED光量を変化させよう

40

概要

光の量によって抵抗が変わるCdSセルをアナログ入力に、LEDをアナログ出力に接続します。
CdSセルを手で覆って暗くしたり強い光を当てたりしてLED光量を変化させましょう。
 

また、シリアルモニタを使ってアナログ入力の数値の変化を確認します。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

41

CdSセル

光の量で抵抗値が変わる素子です。
これに抵抗と電源をつなげてその分圧される電圧を測定することで光の強弱を知ることができます。
昔のフィルムカメラで光量の測定によく使われていました。
ボールスイッチ ※Starterkit Part2には付属しません


傾けるとスイッチが開になるスイッチです。
中に鉄球等が入っていてこれが移動することで接点が開になったり閉になったりします。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

42

※Starterkit Part2にはボールスイッチは付属しませんのでR1は直接D9に接続してください。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

43

※Starterkit Part2をご購入の方はボー
ルスイッチが付属しませんのでR1は直
接D9に接続してください。
 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

44

回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。
Arduino IDEの上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが開きます。
まずはシリアルモニタ下にあるボーレートのリストから9600bpsを選びましょう。
するとCdSセルとつながっているUNO基板のA0端子の値がどんどん表示されていくのが見えると思い
ます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ解説

45

このレッスンの最後で解説するシリアル通信をする際の通信速度設定です。


9600bps(bits_per_second)で通信します。
val の値をシリアルモニタに表示させる設定です。
アナログ入力ピンに 0 を指定してこの値を val という変数に代入しています。
9 番のピンをアナログ出力として val ÷ 4 の値を出力値として設定しています。
アナログ出力に設定可能な範囲は 0~255 です。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

シリアルモニタ

46

回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。
Arduino IDEの上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが開きます。
シリアルモニタ右下にあるボーレートのリストから9600bpsを選ぶとCdSセルとつながっているUNO基板のA0端
子の値がどんどん表示されていくのが見えると思います。
シリアルモニタ起動アイコン
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

シリアルモニタ

47

シリアル通信速度設定
アナログ入力0(CdSセル出力)の値 0~1023
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

動作確認

48

接続とスケッチの書き込みが終わったらCdSセルを手で覆って光をさえぎってみましょう。
シリアルモニタの値は小さくなりましたでしょうか?
 

今回のスケッチではこの値が小さくなるとLEDとつながっているD9端子の出力が弱くなるようにプログラムしま
したのでCdSセルに入る光量に従ってLEDの光量が変化することを確認してみてください。
 

また、おまけでボールスイッチも付けましたのでボールスイッチを傾けたときにLEDが消灯することも合わせて
確認してください。
 

※Starterkit Part2にはボールスイッチは付属しません。


スケッチはそのままご使用になれます。
 

 



 
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 4ファンモータを動かそう

49

概要

大きな電流が必要なファンモータを駆動させる方法を学びます。
また、ボリュームを回してファンの風量を変えてみましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

50

130FA DCモーター

モーター&プロペラ
DC3V 0.2A 定格のモーターです。最大6Vまでの電圧で使えます。




© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

51

FET(2SK2232)

モーター等大電流が必要な場所に使う半導体スイッチです。
1番(ゲート)-3番(ソース)ピン間に電圧をかけると2番(ドレイン)


-3番ピン(ソース)間が導通し、最大25Aの電流を流すことができます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

52

可変抵抗(10kΩ)

ノブを回すことで0~10kΩの間で抵抗値を自在に変化させることのできる可変抵抗です。
下の回路の通り、ボリュームノブを回すと抵抗値が1-2番間と3-2番間の抵抗値が逆向きの変化量で0 ⇔
10KΩに変化します。

例えば1-2番間を3KΩにすると2-3番間は7KΩになります。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

53

※コンデンサとダイオードはノイズ対策用ですので無くても動作します。
※コンデンサは足が短いのでオスメスのケーブルを足して接続してください。
※電池ボックスのリード線は線径が細いのでICクリップ経由でブレッドボードに


接続してください。

v116 ゲート抵抗追加
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

54

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

55

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ解説

56

可変抵抗とつながっているアナログ入
力の値をvalという変数に格納します。
モーターとつながっている 9番ピンの出力を上記valの値から決めています。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

動作確認

57

接続とスケッチの書き込みが終わったらボリュームを回してモーターの回転数が変化するか確認してみてくださ
い。
また、シリアルモニタを開くとボリュームとつながっているアナログ入力の値が表示されるのでモニタしてみましょ
う。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 5RGB_LEDの色を変化させよう

58

概要

RGB_LEDは赤、緑、青を発光させることのできる素子です。
これは光の3原色といってこれらの色を混ぜ合わせることによって様々な色を作り出すことができま
す。テレビの画面なんかも同じ原理ですね。
Arduinoのアナログ出力を3つ使っていろいろな色をつくってみましょう。
光の3原色
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

59

RGB_LED

マイナス接続用の端子と3本の端子が出ています。
それぞれの端子から電流を流すと、それぞれR(赤)G(緑)B(青)の色に発光します。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

60

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

61

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

62

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

63

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

64

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

65

void setColor(int red,int green,int blue); は今回独自に作成した関数です。
関数はプログラムを見やすくしたり同じ処理を何度も記述するのを避けるのに使われます。
独自の関数はsetup関数の前で宣言し、loop関数の後ろで関数の処理内容を記述します。
 

動作確認

接続とスケッチの書き込みが終わったらRGB_LEDの光が様々な色に変わっていくのが分かると思います。
今回は赤、緑、青の3色をArduinoの出力を0か255だけの組み合わせで色を作りました。
スケッチのsetcolor関数の値を20等の途中の光量にするとさらにたくさんの色を作れますのでぜひ試して
みてください。


 

スケッチ解説

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 6温度センサと通信してみよう

66

概要

温湿度センサDHT11を使って、これまで行ってきたアナログ入力ではなくシリアル通信によって温度や湿度
を取得する方法を学びましょう。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

67

DHT11温湿度センサモジュール


温度と湿度を計測できるセンサです。温度と湿度の情報はシリアル通信によって取得します。
DATAシリアル通信用

VCC 5V

GND

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

68

DATAシリアル通信用

VCC 5V

GND

※コロナウイルスの影響により上記DHT11の供給不足となった
2020年4月に発送された一部のキット
で

上記のような中央部に丸い穴が開いたDHT11を使用しております。
この部品が入っていた場合は GND DATA VCC それぞれのピン位置が異なりますので


右図の配線をお願いします。

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

69

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

70

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ライブラリのダウンロードとインクルード

71

温湿度センサDHTシリーズを使用するには、まず下記URLからライブラリのzipファイルを
ダウンロードしてください。
①DHT Sensor Library: 

  https://github.com/adafruit/DHT-sensor-library

②Adafruit Unified Sensor Lib:

  https://github.com/adafruit/Adafruit_Sensor


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ライブラリのダウンロードとインクルード

72

2種類のZipファイルがダウンロードできたら次はそれぞれについてインクルードを行い、IDEで使える状態にしま
す。
スケッチ→ライブラリをインクルード→.ZIP形式のライブラリをインクルードを選び、画面の指示に従ってライブラ
リをインストールします。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ライブラリのダウンロードとインクルード

73

インクルードが終わったら
ファイル→スケッチ例→DHTsensor library→
DHTtesterを選択します。 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

ライブラリのダウンロードとインクルード

74

主要なライブラリはライブラリマネージャからインストールすることもでき、こちらのほうが簡単です。
メニューバーのツール→ライブラリを管理をポイントするとライブラリマネージャーが開きます。
補足

例えば今回使用したDHT11を検索するとDHTライブラリがヒットしますのでこれをクリックしてインストールボタ
ンを押すだけでライブラリのインストールが完成します。
インストール済のライブラリは下のスクリーンショットのように緑色で“INSTALLED“と表示されます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

75

スケッチは先程のライブラリに付属する
DHTtesterを使用します。
PUREYESのスケッチではなくライブ
ラリに付属のスケッチをそのまま使
用する場合は温度センサの変更が
必要です。
16行目に温湿度センサの種類を選
択する部分が有りますのでDHT11
を選択してください。
選択の方法は16行目の先頭の // を
消して DHT11 を使用できるようにし
ます。
これに17行目の先頭に // を追記し
DHT22 を使用しないようにします。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

76

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

77

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ解説

78

インストールしたDHTライブラリをスケッチから使える状態にしています。
DHT11の通信を行うピンを2に定義しています。
使用するDHTをDHT11と定義しています。
※DHT11の行を//でコメントにし、DHT22やDHT21の行のコメントを外す事で他の種類の


センサーも使える様になっています。
dhtと言う名前の変数で、通信のピンとセンサーのタイプを指定しDHT11のセンサーを使う宣言をしていま
す。
DHT(温湿度センサ)の使用を開始します。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ解説

79

float は小数点を含む数値を変数として扱うときに使用します。


この場合 h にhumidity(湿度)を代入するように設定しています。
snanはデータを受け取れなかったときに nan を返します。


また、 || は or の演算子です。

全体としては h 湿度 t 摂氏温度 f 華氏温度のいずれかの情報取得を失敗したことを知らせています。
dht.computeHeatindexでは f 華氏温度と h 湿度から体感温度を計算しています。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

シリアルモニタ

80

シリアルモニタはCdSセルを使ったレッスンで使いましたが覚えていますでしょうか?
CdSセルのときはアナログ入力の電圧と連動している0~1023の値を表示しましたが、
今回のDHT11(温湿度センサ)ではDHT11がシリアル通信によって送ってくれた温度や湿度を表示します。
シリアル通信を始めるには、前回同様 Arduino IDE の上右にある虫めがねのようなアイコンをクリックしてシリア
ルモニタを開きます。通信速度は9800になっていることを確認ください。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

動作確認

81

シリアル通信が始まるとHumidity(湿度)、Temperature(摂氏および華氏の温度)、


Heat index(摂氏および華氏の体感温度)が表示されます。


息を吹きかけたりエアコンの近くに置いたりして温湿度が変化するか確認してみてください。


 

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 7RTCで時間を取得する

82

概要

UNO基板には時計が無いので目覚まし時計のようなものを作ろうとする時など、時計情報が必要なと
きはRTCという部品を使います。


RTCからは時間の他日付も取得できます。また、コイン電池を取り付ければUNO基板等からの電源が
途絶えても時間を刻み続けてくれます。
 

ここではまずRTCの初期設定として時計合わせの方法を学びます。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

83

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通信用端子

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

時計合わせ

84



1. Lesson6 DHT11のときと同じ要領で RTClib.ZIPをダウンロードしてインストールします。


ダウンロードURL https://github.com/adafruit/RTClib




2. 前述の通りライブラリマネージャからもインストールできます。


RTCはまず時計合わせが必要です。
<時計合わせの手順>

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

時計合わせ

85

3. スケッチを開く



Arduino IDEのメニューから ファイル→スケッチ例→RTClib→DS1307を選択
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

時計合わせ

86

4. 時計合わせをしないと全く違う時間で進んでいくだけなのでまずは時計合わせが必要です。


時計合わせは、DS1307スケッチ内にある下記の黄色でハイライトした記述で行われます。
ここの先頭の // を消すとこの行が有効になります。
あとはスケッチを書き込んでUNO を起動すると、その時間に時計が合います。
時計合わせが終わったら// を元に戻しておきましょう。

5. スケッチを書き込みます。

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

時計合わせ

87

6. シリアルモニタを開いて右下にあるボーレートリストから
57600 baudを選びます。
すると時刻が表示されるので、1行目に表示されている時刻が
PCの時計とおおよそ
合っていることを確認します。
※書き込み時間分の数秒のズレは有ります。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

88

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

89

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 8RTCを使って好きな時間に水を流す

90

概要

前のレッスンで時計合わせをしたRTCと水流電磁弁を使って決まった時間に水やりをする装置を作ってみ
ましょう。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

91

水流電磁弁

電気的にon/offできる水流弁です。on/offさせるには9V_0.4Aが必要です。
白いカバーを外すとM3のビスが2本有りますのでここに配線してください。
極性は無いのでどちらが+でもOKです。
コストの関係上キット付属の006P角形マンガン電池では十分な電力を供給できないためポコポコという音で
の動作確認までしかできません。
実際に散水にご使用される際は別途DC9Vで0.4A以上の電源をご用意ください。
薄緑色=9V品
◇電磁弁の仕様 9V品◇  
接続部ネジ:管用平行ネジG1/2


定格電圧:9V

定格電流:0.4A

水圧範囲:0.02~0.8Mpa  
温度範囲:1~50度
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

92

◇電磁弁の仕様 12V品◇     
接続部ネジ:管用平行ネジG1/2 
 
定格電圧:12V             
定格電流:0.3A

水圧範囲:0.02~0.8Mpa  
温度範囲:1~50度



※コロナウイルスの影響により
上記9V品の供給不足となった
2020年4月に発送された一部のキットで端子部分が灰色の
12V仕様の電磁弁を使用しております。
12V品をお付けしているキットには12V用
電池ボックス及び電池も同梱されていますので
9V角形電池の代わりにこちらをお使いくださいませ。




灰色=12V品
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

リレーモジュール

93

大きな電流のon/offができる電磁スイッチです。
通常リレーをArduinoで駆動するには電流が足りないのでトランジスタ等が必要ですが、
このリレーモジュールはトランジスタを内蔵しているので直接Arduinoの出力を接続できます。


NO(Normally Closed 常時開)

コモン

NO(Normally Open 常時閉)

S(Arduinoの出力と接続)

VCC(5V)

GND

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

94

※電池ボックスのリード線は線径が細いのでICクリップ経由でブレッドボードに接続してください。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

95

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

96

※Lesson7RTCで時間を取得するで
インストールした RTClib.h ライブラ
リをまだインストールされていない
場合はLesson7に戻ってインストール
を行ってください。

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

97

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ解説

98

“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分の内容が
実行されます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

動作確認

99

スケッチ解説で説明したスケッチ上部のタイマー設定部分に現在時刻に近い時間を設定してその時間に水流
電磁弁がonして待機時間分onし続けることを確認してください。
実際にホースを繋いで花壇に設置すれば自動水やり機の完成です。


これで速習キットPart1の学習内容は終わりです。
それぞれのレッスンで学んだことを組み合わせたりしてご自分のオリジナルガジェットにも挑戦してみてくださ
い。
Lesson8で作成した水やり機に光センサや温湿度計も組み合わせると晴れた日で温度が高くて湿度が低い
日だけ水やりする、というような動きにすることもできますね。健闘を祈ります!
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 9サーボモーターを動かそう

100

概要

サーボモーターを使って決めた角度に移動する方法を学びましょう。


サーボモーターはロボットやラジコンの方向やスピードの制御によく使われる、動かす角度を決められる部
品です。

オレンジの線に与えるPWMパルスの数で角度が決まります。
SG-90

部品の説明

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

101

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

102

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

103

Arduino IDEに標準でついているサンプル
スケッチを使用します。


ファイル → スケッチ例 → servo → sweep 
を選択しましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

104

次にservoライブラリをインクルードします。




スケッチ → ライブラリをインクルード → Servo




© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

105

サーボモーターが0度~180度へ移動
したあと180度~0度に戻ったでしょう
か?


Forループの中の角度指定している部
分(pos)を変更すると自由に角度を変
更することができますのでやってみて
ください。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 10 人体検知をやってみよう

106

概要

人感センサという人が来たら感知するセンサを使ってみましょう。
人感センサの信号を受け取ったら数秒間LEDを光らせます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

107

人体検知センサー

人体検知センサーは人体から出ている熱(赤外線)を検知して、人がいる、いないを判断するセンサーです。
人がいないとOUTからHIGHの信号を出します。
検知時間調整
5分(左いっぱい)

~
3秒(右いっぱい)
検知距離調整
3m(左いっぱい)
~
5m(右いっぱい)
VCC

5V

OUT

HIGH/LOW

GND

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

108

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

109

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

110

プログラムを実行してみましょう。
センサに近づくとLEDが光り、離れ
て待つと消灯します。


※延長時間が長すぎたり検知距


離が遠すぎたりすると待った

り離れたりするのが辛いので

センサについている2つのボ

リュームは共に右いっぱいの

状態から実験をはじめるとい

いでしょう。このボリューム

設定時は3m以上離れて約5
秒待つと消灯します。



Lesson3で学んだCDsセルと組み合わせれば、夜間だけ光る
LEDライトも作れますのでトライしてみてください。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 11 モーター駆動ICを使って正転、逆転の制御をやってみよう

111

概要

TA7291PというモータードライバICを使って高出力モータ-を制御(正転、逆転、PWMによる速度変更)する
方法を学びます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

112

TA7291P

このICは2Aまでのモーターを正転、逆転、速度変更制御を行えます。
IN1,IN2端子にかける電圧の組み合わせで正転逆転の切り替え、Vref端子のPWMデューティー比で速度変
化が可能です。
① 
 GND
 GND

② 
 OUT1
 モーターと接続

③ 
 未使用
 -

④ 
 Vref
 ArduinoのPWM出力と接続(Vsより小さい電圧が必
要)

⑤ 
 IN1
 Arduinoのデジタル出力と接続

⑥ 
 IN2
 Arduinoのデジタル出力と接続

⑦ 
 Vcc
 ICの電源(5V)

⑧ 
 Vs
 モーター駆動用電源

⑨ 
 未使用
 -

⑩ 
 OUT2
 モーターと接続

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

113

ファンクション表
入力
 出力

モード

IN1
 IN2
 OUT1
 OUT2

0
 0
 ∞
 ∞
 ストップ

1
 0
 H
 L
 モーター正転

0
 1
 L
 H
 モーター逆転

1
 1
 L
 L
 ブレーキ

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

114

≪≪ PWM(Pulse Width Modulation)って何?? ≫≫
スイッチオン/オフの比率を変化させてモーターの速度やLED等の光の強さを変化させることができる方法
です。
オン/オフの比率のことをデューティー比といいます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

115

※電池ボックスのリード線は線径が細いのでICクリップ経由でブレッドボードに接続


してください。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

116

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

117

モーターの 中速正転→全速正転→ブレーキ→中速逆転
→STOP を繰り返します。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

118

TA7291Pモータードライバの2つのINPUTの組み合わせで
正転―逆転―ストップーブレーキ
を、VrefにかけるPWM信
号によって速度を制御しています。

部品説明ページに記載の表とスケッチをしっかり見て動作
原理を自分のものにしてください。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 12 I2C通信で温度と湿度を取得表示してみよう

119

概要

SHT31という温度センサーから受け取った温度や湿度の情報をシリアルモニタに表示させます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

120

SHT31

温度、湿度をI2C通信で取得ができるセンサーです
ArduinoのI2C端子(A4,A5)をSCL,SDA端子に接続して使用します。
SCL SDA GND VCC

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

121

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

122

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

123

まずは、SHT31 ライブラリをダウンロードして取り込みます。
※ライブラリの使い方についてはLesson6をご参照ください。
https://github.com/adafruit/Adafruit_SHT31


次にArduino IDEに標準でついているサンプルスケッチを使用します。
ファイル → スケッチ例 → Adafruit_SHT31・・・ → SHT31test を選択しましょう。

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

124

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

125

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

126

書き込みが終わったらシリアルモニタを起動して温度と湿度が取得できているのを確認しましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 13 LCDで文字を表示させよう

127

概要

LCDディスプレイに文字を表示させる方法を学びましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

128

1602LCD

16列2行の文字を表示できる液晶ディスプレイです。
ArduinoからI2C通信で情報を送信します。
接続は裏面の4本ピンのみです。
LCDコントラスト調整用ボリューム抵抗
※LCDの文字が見えない、見えづらいという


ときはこれを回して調整してください。
GND

VCC(5V)

SDA

SCL

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

129

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

130

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

131

まずは、LiquidCrystal_I2C ライブラリをダウンロードして取り込みます。


※ライブラリの使い方についてはLesson6をご参照ください。
https://github.com/marcoschwartz/LiquidCrystal_I2C




Lesson13_LCD_PurEyes.inoを開きます。
LCDにHello,world!!が表示されたらOKです。
コメントをよく見て文字の表示内容や表示位置を
色々変えてみて使い方を学びましょう。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

LESSON 14 イーサネットシールドを使ってウエブサーバーを構築しよう。

132

概要

イーサネットシールドを使うとインターネットに情報を公開することができます。


今回は温度センサの値をインターネットに公開してみます。


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

部品の説明

133

イーサネットシールド

シールドとは、Arduinoの上にちょうど積み重ねるようにするだけでArduinoにいろいろな機能を付加できる部
品です。
今回使用するイーサネットシールドはLANケーブルをルーター等に接続することでArduinoをサーバーやクラ
イアントにしたりすることができます。
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

接続図

134

1. Arduinoの上にイーサネットシールドの足を差し込みます。
2. 人感センサを接続します。
3. LANケーブルでご自身のネットワークルーターに接続します。
※UNO基板はEthernetシールドに重ねる

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

回路図

135

※UNO基板はEthernetシールドに重ねます
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

136

Arduinoのサンプルスケッチから、
スケッチ例 – Ethernet – WebServer を選びます。




© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

137

0x02, 0x00, 0x00, 0x00, 0x00, 0x00
に変更  

 

ご自分のネットワークに合わせて変更


(スケッチ説明のはじめの部分をご参照ください)


MacAddresstとIPAddressの部分を下記に書き換えま
す。
  MacAddress:

0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED → 0x02,
0x00, 0x00, 0x00, 0x00, 0x00



  IPAddress:

ご自分のローカルネットワークで使用しているアドレ
スを確認して使用していない番号にします。(次ページ
参照)

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

138

コマンドプロンプトで IPCONFIG を打ち込んで実行する
と IPv4アドレス 行に192.168.から始まるアドレスが出てきま
す。192.168のあとの数字までを同じにして最後の3桁の数
字を0~255のうちご自身のネットワーク環境で使われてい
ない数字に変更して前ページスケッチのIPAddress欄に入
力してください。(わからない場合は下記の通り171を入力)


例1:ご自分のネットワーク機器の


   アドレスが192.168.0.1の場合 

   →192.168.0.171等



例2:ご自分のネットワーク機器の
   アドレスが192.168.1.1の場合 
   →192.168.1.171等

© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

139

AnalogInput0~6の値をwebに公開してい
ます
© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

スケッチ

140

このスケッチでは人感センサの値を読んでwebに公開しています。
ご自分のPCのブラウザ(GoogleChrome、MicrosoftEdge、Firefox等)に先程スケッチに打ち込んだIPアドレスを
打ち込むと数秒ごとにこの値を見ることができますよ。


アナログインプットの0~6の値がすべて出力されますので他にも温度センサやスイッチをつければそれらの値
を公開することもできますのでいろいろやってみるとおもしろいです。




以上でレッスンは終わりです。Arduinoに慣れてきましたでしょうか?


インターネットを検索するとArduinoでルービックキューブを解いたりドローンを作ったりしている強者たちが作
品の紹介や説明を行ってくれていますので是非これらを参考に学び続けていただければと思います。がん
ばってください!


© Presentation Design
© Presentation Design
© PUREYES

© PUREYES

141

本書中の会社名や商品名は、該当する各社の商標または登録商標です
本書中では 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日発行
著者 中村光宏
禁無断転載・複製

Mais conteúdo relacionado

Semelhante a PUREYES Arduino learning kit v116

Pureyes uno r3 learning kit tutorial v115
Pureyes uno r3 learning kit tutorial v115Pureyes uno r3 learning kit tutorial v115
Pureyes uno r3 learning kit tutorial v115Mitsuhironakamura11
 
ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作
ETWEST2014  ヒートアップセッション3    組込み技術教育から見た電子工作ETWEST2014  ヒートアップセッション3    組込み技術教育から見た電子工作
ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作Yukio Kubo
 
今すぐ始めるArduino
今すぐ始めるArduino今すぐ始めるArduino
今すぐ始めるArduinofuna3
 
【入門】Arduino勉強会
【入門】Arduino勉強会【入門】Arduino勉強会
【入門】Arduino勉強会Masashi_Brilliant
 
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 aitc_jp
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312さくらインターネット株式会社
 
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」 2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」 aitc_jp
 
「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用
「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用
「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用yo-to
 
.NET Micro Framework の基礎
.NET Micro Framework の基礎.NET Micro Framework の基礎
.NET Micro Framework の基礎Yoshitaka Seo
 
Code4NaraHandson2_151118
Code4NaraHandson2_151118Code4NaraHandson2_151118
Code4NaraHandson2_151118康司 石塚
 
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用yo-to
 

Semelhante a PUREYES Arduino learning kit v116 (14)

Pureyes uno r3 learning kit tutorial v115
Pureyes uno r3 learning kit tutorial v115Pureyes uno r3 learning kit tutorial v115
Pureyes uno r3 learning kit tutorial v115
 
ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作
ETWEST2014  ヒートアップセッション3    組込み技術教育から見た電子工作ETWEST2014  ヒートアップセッション3    組込み技術教育から見た電子工作
ETWEST2014 ヒートアップセッション3 組込み技術教育から見た電子工作
 
今すぐ始めるArduino
今すぐ始めるArduino今すぐ始めるArduino
今すぐ始めるArduino
 
【入門】Arduino勉強会
【入門】Arduino勉強会【入門】Arduino勉強会
【入門】Arduino勉強会
 
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」 2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
 
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
クラウドコミュニケーションAPI Twilio&sakura.io体験ハンズオン 20180312
 
Slides AXIS WS2
Slides AXIS WS2Slides AXIS WS2
Slides AXIS WS2
 
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」 2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
2016年12月21日 AITCシニア技術者勉強会 第2回「センサに反応する総天然色イルミネーションを作ってみよう!」
 
「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用
「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用
「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用
 
.NET Micro Framework の基礎
.NET Micro Framework の基礎.NET Micro Framework の基礎
.NET Micro Framework の基礎
 
Netduino
NetduinoNetduino
Netduino
 
Code4NaraHandson2_151118
Code4NaraHandson2_151118Code4NaraHandson2_151118
Code4NaraHandson2_151118
 
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
Arduino実践 資料1/2 〜【html5j エンタメ技術部】第2回勉強会 公開用
 
Arduino TWE-Liteの使い方
Arduino TWE-Liteの使い方Arduino TWE-Liteの使い方
Arduino TWE-Liteの使い方
 

PUREYES Arduino learning kit v116

  • 1. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 はじめての電子工作&プログラミング
 UNO R3 速習キット
 [ 学習教材 V115 ]
 https://www.pureyes.net/
  • 2. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 はじめに
 1
 はじめてのUNO R3速習キットをお買い上げいただき誠に有難うございます。 この解説書は初学者の方がすばやく学習できるように、実験主体で解説しています。 
 ぜひ、どんどん見て触って、ときにはいじくり回して進めていっていただければ著者といたしましても本望 です。 LINEサポート窓口
 ≫ https://lin.ee/3qvAwiFGB 

  • 3. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
    2
 Lessonは0~14までございますが、キットの種類によってご参照いただく Lessonが 異なりますので、下記より対象のレッスンをご確認ください。 キット名 適応Lesson 関連書籍 はじめてのUNOR3速習キット (Part1) Lesson0~Lesson8 Arduinoをはじめよう 第3版 はじめてのUNOR3速習キット (Part2) Lesson0~lesson3 ※Part2にはボールスイッチが 付属しませんのでボールス イッチの配線は不要です。ス ケッチはそのままご利用くださ い。 Lesson5 Lesson9~Lesson14 Arduinoではじめる電子工作超 入門
  • 4. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 3
 Part1のキットは “Arduinoをはじめよう 第3版”(オライリージャパン社発行) Part2のキットは “Arduinoで始める電子工作超入門“(オーム社発行) で扱われている部品を集めておりますのでこの書籍と合わせて学習することで、より深い学習が可能で す。 部品はすべてハンダ付け済、またリレーや温度センサ等は周辺部品を実装済のモジュール品を採用す ることで最小の作業で学習を進められるようになっています。 必要な部品と解説書(本誌)がそろっています。 次に、キットの特徴である【簡単】【すぐにはじめられる】【深く学べる】について 解説いたします。 【簡単】 【すぐにはじめられる】 【深く学べる】
  • 5. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 4
 Arduinoについて Arduino(アルデュイーノ)は、ハードウェアである「Arduinoボード」、と 
 ソフトウェアである「スケッチ」、スケッチを作製しハードに書き込むための環境としての「 Arduino IDE 」から構成されるシステムです。 Arduinoシリーズには Arduino Nano や Arduino MEGA などたくさんの種類があり、Arduino UNO R3 はもっとも標準的なボードです。 
 ≪ Arduino公式ボード ≫
  • 6. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 5
 また、Arduinoはハードウェア設計もソフトウェア製品もオープンソースであるため多くのArduino 互換機が 存在します。
 このキットに付属するUNO R3ボードはArduino UNO R3ボードの完全互換品です。 
 
 ≪ アルディーノIDEとスケッチ ≫
  • 7. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 6

  • 8. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 目次
 7
  
 はじめに ・・・・・・・・・・・・・・・・・・・・・・・・・・・  1 Arduinoについて ・・・・・・・・・・・・・・・・・・・・・・・  4 目次 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 7 Lesson 0 Arduino IDEのインストールと初期設定をしよう  ・・・・・ 9 Lesson 1 “UNO“を動かしてみよう ・・・・・・・・・・・・・・・ 19 Lesson 2 外部LEDを光らせよう ・・・・・・・・・・・・・・・・・ 29 Lesson 3 光センサでLED光量を変化させよう ・・・・・・・・・・ 40 Lesson 4 ファンモータを動かそう・・・・・・・・・・・・・・・・ 49 Lesson 5 RGB_LEDの色を変化させよう ・・・・・・・・・・・・・ 58 Lesson 6 温度センサと通信してみよう ・・・・・・・・・・・・・ 66 Lesson 7 RTCで時間を取得する ・・・・・・・・・・・・・・・・ 82 Lesson 8 RTCを使って好きな時間に水を流す ・・・・・・・・・・ 90 Lesson 9 サーボモーターを動かそう ・・・・・・・・・・・・・・ 100
  • 9. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
  
 8
 Lesson 10 人体検知をやってみよう ・・・・・・・・・・・・・・・ 106 Lesson 11 モーター駆動ICを使って正転、逆転の制御をやってみよう  ・ 111 Lesson 12 I2C通信で温度と湿度を取得表示してみよう  ・・・・・・・ 119 Lesson 13 LCDで文字を表示させよう ・・・・・・・・・・・・・・ 127 Lesson 14 イーサネットシールドを使ってウエブサーバーを構築しよう  ・132
  • 10. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 0ARDUINO IDEのインストールと初期設定をしよう
 9
  
 Arduino のプログラム(スケッチ)を作成し、書き込むためのソフトウェアをダウンロードしましょう。 https://www.arduino.cc/en/software から、対応OSに合わせたファイルをクリックします。
  • 11. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 0ARDUINO IDEのインストールと初期設定をしよう
 10
  
 寄付をするか尋ねられるので、どちらかを選んでダウンロードします。 JUST DOWNLOADを選べば寄付なしでも使用できます。
  • 12. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 0ARDUINO IDEのインストールと初期設定をしよう
 11
  
 ダウンロートドしたArduino***.exeファイルを開くとインストールが開始されます。 下記画面が出てきたら Closeボタンを押してインストール完了です。 5) それでは先程インストールしたArduino IDEを開いて初期設定を行いましょう。
  • 13. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 0ARDUINO IDEのインストールと初期設定をしよう
 12
  
 まずはUNO基板をUSBケーブルでPCと接続します。 Arduino IDEのアイコンがデスクトップにできていますのでこれを開きます。
  • 14. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 0ARDUINO IDEのインストールと初期設定をしよう
 13
  
 英語表記になっている場合は日本語に変更しておきましょう。 メニューからFile → Preference → Editor languageのリストから日本語を選択します。 一度Arduino IDEを閉じてからもう一度起動すると日本語表記に変わっています。
  • 15. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ボードの選択
 14
  
   次にボードの選択です。 実はArduinoはUNOの他にも様々な種類のボードが有りますので、まずこれを選択 しなければなりません。 メニューからツール→ボードとポイントしていきArduino/Genuino Unoまたは     ArduinoUnoを見つけてクリックしてください。
  • 16. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ボードの選択
 15
  

  • 17. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ボードの選択
 16
  
 最後にシリアルポートの設定です。 メニューからツール→シリアルポートとポイントしていきArduino/Genuino Uno の表記があるCOMポートを見 つけてクリックしてください。 これで初期設定は終わりです。 次はいよいよ実際にUNOを動かしてみましょう。
  • 18. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ARDUINO IDE 公式ヘルプ
 17
  
 Arduino IDEのヘルプにはインストール方法、ソフトの使い方、トラブルシューティング、リファレンス(Arduino のプログラム言語であるスケッチについての説明)がまとめられていて非常に有益です。困った時やもっとい ろいろ知りたいと思った時はぜひこちらを参照されることをおすすめします。 ただしこれらはすべて英語で提供されていますのでGoogle Chrome ブラウザをお使いの方はページ翻訳機 能を使って日本語にすると楽に読み進められます。 
 
 ヘルプ                    Google Chromeブラウザの翻訳機能 

  • 19. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ARDUINO IDE 公式ヘルプ
 18
 ≪ARDUINO公式ホームページ≫ https://www.arduino.cc/
 
  
 
 ≪ARDUINO公式資料 日本語版リンク≫ http://www.musashinodenpa.com/arduino/ref/ 
 

  • 20. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 1 “UNO”を動かしてみよう
 19
 Lesson0でインストールしたArduino IDEというソフトにはじめから入っているサンプルスケッチを実際に UNOに書き込んでUNO基板上のLEDをon/offさせてみましょう。 
  

  • 21. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品解説
 20
 UNO R3ボード
 
  
 USB端子
 電源入力(7~12V)
 USB端子を使用していないときにここ から電源を供給することでPC無しで 動作させることができます。 
 TX, RX 
 プログラム書き込み時等、 
 通信をしている時に光る 
 LEDランプです。
 TX :送信 
 RX:受信
 電源端子 
 50mAまでの電流を
 供給できます。
 アナログ入力端子 
 A4,A5はI2C通信にも 
 使用できます。 A4 :SDA
 A5 :SCL
 リセットボタン
 L 
 LEDランプです。
 デジタル13番出力端子と連動し ています。
 
 デジタル入出力端子
 各ピンはソフトの設定で入力にも 出力にも設定ができます。 
 また、~マークが付いている 3,5,6,9,10,11番はPWM出 力が可能です。
 出力として使用するときは 
 40mAまでの負荷を駆動できます 

  • 22. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品解説
 21
 今回の接続はPCとUNO基板をUSBケーブルで接続するだけです。 接続図
 

  • 23. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 22
 それでは Arduino IDE に含まれているサンプルスケッチの呼び出しと、UNO への書き込みについて解 説していきます。  
 サンプルスケッチの読み込み
 
 メニューからファイル→スケッチ例→01.Basics→Blinkをクリックしてください。
  • 24. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 23
 UNOへの書き込み
 Arduino IDEの ボタンを押すとボードへスケッチが書き込まれます。 

  • 25. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 24
 指定された時間待機します。単位はミリ秒(1/1000 秒)ですので、delay(1000); は 1 秒の待機になりま す。 ≪エラーが出たときの対応≫ コンパイルエラーが発生する場合 ・この場合多くはプログラムに全角の文字やスペースが含まれている場合です。 全角が含まれている場合は半角に変更してください。 (後述する // や /*  */ を使った注記部分は全角でも問題有りません) 書き込めない場合は下記点を確認して下さい。 ・正しいシリアルポートが選択されているか? 
 ・ボードに Arduino/Genuino UNO が選択されているか? それでもエラーとなる場合、下記を試してみて下さい。 ・Arduino を接続している USB ケーブルを抜き差しする。 可能であれば別のケーブルに変更する。 
 ・Arduino IDE を閉じて起動しなおす。  
 ・PC を再起動する。 
 

  • 26. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 25
 スケッチ解説
 はじめにスケッチの基本について説明します。 
  
 ・スケッチには動作の説明やメモ書きといった、コメントを書いておく事が出来ます。 
 // に続けてテキストを書くと、// 以降行末までがコメントになります。 
 /* */ でテキストを囲む事で、その間のテキストがコメントになります(間のテキストは複数行記述でき ます)  
 ・各命令の最後には必ず「;」を付けます。  
 ・setup() は Arduino 起動時に一度だけ実行されます。ここで初期化等の準備のための命令を記述してお きます。Arduino は setup()を一度実行した後、loop() を繰り返し実行します。
  • 27. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 26
 スケッチ

  • 28. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 27
 サンプルスケッチの Blink の内容について説明します。 setup関数は{ }の間に書かれた命令をArduino起動時一度だけ実行します。 PinMode関数は指定したピンをインプット用にするかアウトプット用にするかを設定します。 ※ LED_BUILTIN は LED が接続されているデジタルピン 13 を表しており、 
 pinMode(13, OUTPUT) ; と同等です。 loop関数は{ }に書かれた命令を繰り返し実行します。 digitalWriteコマンドは指定したピンをHIGH(5V)にするかLOW(0V)にするかを設定します。 delay関数は指定された時間待機します。 
 単位はミリ秒(1/1000 秒)ですので、delay(1000); は } 
 1 秒の待機になります。 ※ ここを変更することで簡単に点滅時間を変更できます。 

  • 29. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 28
 動作確認
 接続とスケッチの書き込みが終わって基板上のLと書かれたオレンジ色のLEDが点滅していたら成功で す。 また、スケッチのdelay(1000)の1000を500や2000に変更するとLEDの点滅間隔が変わりますのでやって みましょう。
  • 30. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 2外部LEDを光らせよう
 29
 概要
 外付けLEDを光らせることを通じてDIGITAL出力ピンの使い方を学びましょう。
  • 31. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 30
 LED(Light Emitting Diode 発光ダイオード) 
 足の長さに違いが有り、長い方がアノード、短い方をカソードと呼びます。 
 アノードをプラス、マイナスをプラスに繋いで使用しますが直接接続すると定格電流を超えてしまいます ので必ず直列に抵抗を入れましょう。 
 抵抗値はLEDの順方向電圧、定格電流、電源電圧の3つがわかれば下記のように計算できます。 
 順方向電圧2V、定格電流0.02A、電源電圧5Vの場合、 
 (5V-2V)÷ 0.02A=160Ωで160Ω以上の抵抗をつければOKです。 今回は入手性の良い220Ωを選択します。 
 ちなみに220Ωの場合電流は(5V-2V)÷ 220Ω=13.6mAになります。  
 Anode(+)
 Cathode(-)
 オームの法則
 名前
 式
 単位
 I(電流)
 I=V/R
 A(アンペア)
 R(抵抗)
 R=V/I
 Ω(オーム)
 V(電圧)
 V=IR
 V(ボルト)
 V
 I
 R
 ÷
 ÷
 ×

  • 32. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 31
 抵抗値が大きければ暗くなり小さければ明るくなります。 壊れますので定格より小さい抵抗はダメですよ。  
 順方向電圧(VF):LED の両端に加わる電圧 定格電流(IF):LED に流す電流 電源電圧:Arduinoの電源ピンから出力される電圧 5V
  
 電子部品の特性はインターネットに多数公開されているデータシートを見ると 
 わかりますので検索してみてください。  
 順方向電圧:LED の両端に加わる電圧 定格電流:LED に流す電流 電源電圧:Arduino のピンから出力される電圧、 
 常に 5V

  • 33. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 32
 ブレッドボード
 GNDに利用
 電源ラインに利用
 たくさんの穴が2.54mm間隔で空いていてここに電子部品を差し込むことでハンダ付け等無しで電気配 線ができる、電子工作の実験に便利なボードです。 内部は電気的に下記の様につながっています。外側2 列は横方向につながっており、主に電源用とし て利用します。
 上下は横一列が
 つながっている
  
 横の列が
 つながっている
 上下は別
 信号線に利用

  • 34. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 33
 抵抗
 電気回路の電流や電圧を変えたりと地味だけど実は重要な部品です。 このレッスンではLEDに流す電流を決めています。  
 【 本キットで使用している抵抗 】 
 200Ω(Part2)  220Ω(共通)  470Ω(共通)  1KΩ(共通)  5.1KΩ(共通)  10KΩ(共通)
  • 35. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 34
 抵抗にはカラーコードと呼ばれる帯が付いておりこれを読むことで抵抗値や抵抗値のばらつき精度や温度特 性が分かります。 カラーコードは帯が4つ、5つ、6つのものが有り、それぞれ下図のように読むことができます。
  • 36. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 35

  • 37. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 36

  • 38. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 37
 ※お気づきの方もおられるかもしれませんが、このスケッチでもLesson1の時 
 に見た基板上のLと書かれたオレンジLEDも光ります。なぜでしょうか? 実は13番ピンと基板上のL(LED)はつながっているのです。 試しにLesson1で使ったスケッチをもう一度書き込んでみてください。 13番ピンの記述はスケッチ上なにも有りませんが13番と接続したLEDは光りましたね。
  • 39. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 38
 “int”は2バイト整数(-32,768~32,767)の変数を扱う時に使うデータ型です。 この場合変数名LEDが13と指定されています。 よってこれ以降LEDという文字が出てきたものはすべて13と置き換えられます。 ※Lesson1のスケッチにあるLED_BUILTIN はArduino IDE内部で13と定義されています。 
 どちらのスケッチも「pinMode(13, OUTPUT);」と同等になっています。  

  • 40. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 動作確認
 39
 接続とスケッチの書き込みが終わって13番ピンとつながっているLEDが点滅していたら成功です。 また、スケッチ1行目の int LED = 13 ; の13を他の出力ピンの番号に変更してLEDの位置も変更すると別の 出力からもLEDを制御できますので練習にやってみましょう。
  • 41. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 3光センサでLED光量を変化させよう
 40
 概要
 光の量によって抵抗が変わるCdSセルをアナログ入力に、LEDをアナログ出力に接続します。 CdSセルを手で覆って暗くしたり強い光を当てたりしてLED光量を変化させましょう。  
 また、シリアルモニタを使ってアナログ入力の数値の変化を確認します。
  • 42. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 41
 CdSセル
 光の量で抵抗値が変わる素子です。 これに抵抗と電源をつなげてその分圧される電圧を測定することで光の強弱を知ることができます。 昔のフィルムカメラで光量の測定によく使われていました。 ボールスイッチ ※Starterkit Part2には付属しません 
 傾けるとスイッチが開になるスイッチです。 中に鉄球等が入っていてこれが移動することで接点が開になったり閉になったりします。
  • 43. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 42
 ※Starterkit Part2にはボールスイッチは付属しませんのでR1は直接D9に接続してください。
  • 44. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 43
 ※Starterkit Part2をご購入の方はボー ルスイッチが付属しませんのでR1は直 接D9に接続してください。  

  • 45. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 44
 回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。 Arduino IDEの上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが開きます。 まずはシリアルモニタ下にあるボーレートのリストから9600bpsを選びましょう。 するとCdSセルとつながっているUNO基板のA0端子の値がどんどん表示されていくのが見えると思い ます。
  • 46. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ解説
 45
 このレッスンの最後で解説するシリアル通信をする際の通信速度設定です。 
 9600bps(bits_per_second)で通信します。 val の値をシリアルモニタに表示させる設定です。 アナログ入力ピンに 0 を指定してこの値を val という変数に代入しています。 9 番のピンをアナログ出力として val ÷ 4 の値を出力値として設定しています。 アナログ出力に設定可能な範囲は 0~255 です。
  • 47. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 シリアルモニタ
 46
 回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。 Arduino IDEの上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが開きます。 シリアルモニタ右下にあるボーレートのリストから9600bpsを選ぶとCdSセルとつながっているUNO基板のA0端 子の値がどんどん表示されていくのが見えると思います。 シリアルモニタ起動アイコン
  • 48. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 シリアルモニタ
 47
 シリアル通信速度設定 アナログ入力0(CdSセル出力)の値 0~1023
  • 49. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 動作確認
 48
 接続とスケッチの書き込みが終わったらCdSセルを手で覆って光をさえぎってみましょう。 シリアルモニタの値は小さくなりましたでしょうか?  
 今回のスケッチではこの値が小さくなるとLEDとつながっているD9端子の出力が弱くなるようにプログラムしま したのでCdSセルに入る光量に従ってLEDの光量が変化することを確認してみてください。  
 また、おまけでボールスイッチも付けましたのでボールスイッチを傾けたときにLEDが消灯することも合わせて 確認してください。  
 ※Starterkit Part2にはボールスイッチは付属しません。 
 スケッチはそのままご使用になれます。  
  
 
  
  • 50. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 4ファンモータを動かそう
 49
 概要
 大きな電流が必要なファンモータを駆動させる方法を学びます。 また、ボリュームを回してファンの風量を変えてみましょう。
  • 51. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 50
 130FA DCモーター
 モーター&プロペラ DC3V 0.2A 定格のモーターです。最大6Vまでの電圧で使えます。 
 

  • 52. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 51
 FET(2SK2232)
 モーター等大電流が必要な場所に使う半導体スイッチです。 1番(ゲート)-3番(ソース)ピン間に電圧をかけると2番(ドレイン) 
 -3番ピン(ソース)間が導通し、最大25Aの電流を流すことができます。
  • 53. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 52
 可変抵抗(10kΩ)
 ノブを回すことで0~10kΩの間で抵抗値を自在に変化させることのできる可変抵抗です。 下の回路の通り、ボリュームノブを回すと抵抗値が1-2番間と3-2番間の抵抗値が逆向きの変化量で0 ⇔ 10KΩに変化します。
 例えば1-2番間を3KΩにすると2-3番間は7KΩになります。
  • 54. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 53
 ※コンデンサとダイオードはノイズ対策用ですので無くても動作します。 ※コンデンサは足が短いのでオスメスのケーブルを足して接続してください。 ※電池ボックスのリード線は線径が細いのでICクリップ経由でブレッドボードに 
 接続してください。
 v116 ゲート抵抗追加
  • 55. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 54

  • 56. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 55

  • 57. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ解説
 56
 可変抵抗とつながっているアナログ入 力の値をvalという変数に格納します。 モーターとつながっている 9番ピンの出力を上記valの値から決めています。
  • 58. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 動作確認
 57
 接続とスケッチの書き込みが終わったらボリュームを回してモーターの回転数が変化するか確認してみてくださ い。 また、シリアルモニタを開くとボリュームとつながっているアナログ入力の値が表示されるのでモニタしてみましょ う。
  • 59. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 5RGB_LEDの色を変化させよう
 58
 概要
 RGB_LEDは赤、緑、青を発光させることのできる素子です。 これは光の3原色といってこれらの色を混ぜ合わせることによって様々な色を作り出すことができま す。テレビの画面なんかも同じ原理ですね。 Arduinoのアナログ出力を3つ使っていろいろな色をつくってみましょう。 光の3原色
  • 60. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 59
 RGB_LED
 マイナス接続用の端子と3本の端子が出ています。 それぞれの端子から電流を流すと、それぞれR(赤)G(緑)B(青)の色に発光します。
  • 61. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 60

  • 62. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 61

  • 63. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 62

  • 64. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 63

  • 65. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 64

  • 66. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 65
 void setColor(int red,int green,int blue); は今回独自に作成した関数です。 関数はプログラムを見やすくしたり同じ処理を何度も記述するのを避けるのに使われます。 独自の関数はsetup関数の前で宣言し、loop関数の後ろで関数の処理内容を記述します。  
 動作確認
 接続とスケッチの書き込みが終わったらRGB_LEDの光が様々な色に変わっていくのが分かると思います。 今回は赤、緑、青の3色をArduinoの出力を0か255だけの組み合わせで色を作りました。 スケッチのsetcolor関数の値を20等の途中の光量にするとさらにたくさんの色を作れますのでぜひ試して みてください。 
  
 スケッチ解説

  • 67. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 6温度センサと通信してみよう
 66
 概要
 温湿度センサDHT11を使って、これまで行ってきたアナログ入力ではなくシリアル通信によって温度や湿度 を取得する方法を学びましょう。 

  • 68. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 67
 DHT11温湿度センサモジュール 
 温度と湿度を計測できるセンサです。温度と湿度の情報はシリアル通信によって取得します。 DATAシリアル通信用
 VCC 5V
 GND

  • 69. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 68
 DATAシリアル通信用
 VCC 5V
 GND
 ※コロナウイルスの影響により上記DHT11の供給不足となった 2020年4月に発送された一部のキット で
 上記のような中央部に丸い穴が開いたDHT11を使用しております。 この部品が入っていた場合は GND DATA VCC それぞれのピン位置が異なりますので 
 右図の配線をお願いします。

  • 70. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 69

  • 71. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 70

  • 72. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ライブラリのダウンロードとインクルード
 71
 温湿度センサDHTシリーズを使用するには、まず下記URLからライブラリのzipファイルを ダウンロードしてください。 ①DHT Sensor Library: 
   https://github.com/adafruit/DHT-sensor-library
 ②Adafruit Unified Sensor Lib:
   https://github.com/adafruit/Adafruit_Sensor 

  • 73. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ライブラリのダウンロードとインクルード
 72
 2種類のZipファイルがダウンロードできたら次はそれぞれについてインクルードを行い、IDEで使える状態にしま す。 スケッチ→ライブラリをインクルード→.ZIP形式のライブラリをインクルードを選び、画面の指示に従ってライブラ リをインストールします。 

  • 74. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ライブラリのダウンロードとインクルード
 73
 インクルードが終わったら ファイル→スケッチ例→DHTsensor library→ DHTtesterを選択します。 

  • 75. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 ライブラリのダウンロードとインクルード
 74
 主要なライブラリはライブラリマネージャからインストールすることもでき、こちらのほうが簡単です。 メニューバーのツール→ライブラリを管理をポイントするとライブラリマネージャーが開きます。 補足
 例えば今回使用したDHT11を検索するとDHTライブラリがヒットしますのでこれをクリックしてインストールボタ ンを押すだけでライブラリのインストールが完成します。 インストール済のライブラリは下のスクリーンショットのように緑色で“INSTALLED“と表示されます。
  • 76. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 75
 スケッチは先程のライブラリに付属する DHTtesterを使用します。 PUREYESのスケッチではなくライブ ラリに付属のスケッチをそのまま使 用する場合は温度センサの変更が 必要です。 16行目に温湿度センサの種類を選 択する部分が有りますのでDHT11 を選択してください。 選択の方法は16行目の先頭の // を 消して DHT11 を使用できるようにし ます。 これに17行目の先頭に // を追記し DHT22 を使用しないようにします。
  • 77. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 76

  • 78. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 77

  • 79. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ解説
 78
 インストールしたDHTライブラリをスケッチから使える状態にしています。 DHT11の通信を行うピンを2に定義しています。 使用するDHTをDHT11と定義しています。 ※DHT11の行を//でコメントにし、DHT22やDHT21の行のコメントを外す事で他の種類の 
 センサーも使える様になっています。 dhtと言う名前の変数で、通信のピンとセンサーのタイプを指定しDHT11のセンサーを使う宣言をしていま す。 DHT(温湿度センサ)の使用を開始します。
  • 80. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ解説
 79
 float は小数点を含む数値を変数として扱うときに使用します。 
 この場合 h にhumidity(湿度)を代入するように設定しています。 snanはデータを受け取れなかったときに nan を返します。 
 また、 || は or の演算子です。
 全体としては h 湿度 t 摂氏温度 f 華氏温度のいずれかの情報取得を失敗したことを知らせています。 dht.computeHeatindexでは f 華氏温度と h 湿度から体感温度を計算しています。
  • 81. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 シリアルモニタ
 80
 シリアルモニタはCdSセルを使ったレッスンで使いましたが覚えていますでしょうか? CdSセルのときはアナログ入力の電圧と連動している0~1023の値を表示しましたが、 今回のDHT11(温湿度センサ)ではDHT11がシリアル通信によって送ってくれた温度や湿度を表示します。 シリアル通信を始めるには、前回同様 Arduino IDE の上右にある虫めがねのようなアイコンをクリックしてシリア ルモニタを開きます。通信速度は9800になっていることを確認ください。
  • 82. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 動作確認
 81
 シリアル通信が始まるとHumidity(湿度)、Temperature(摂氏および華氏の温度)、 
 Heat index(摂氏および華氏の体感温度)が表示されます。 
 息を吹きかけたりエアコンの近くに置いたりして温湿度が変化するか確認してみてください。 
  

  • 83. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 7RTCで時間を取得する
 82
 概要
 UNO基板には時計が無いので目覚まし時計のようなものを作ろうとする時など、時計情報が必要なと きはRTCという部品を使います。 
 RTCからは時間の他日付も取得できます。また、コイン電池を取り付ければUNO基板等からの電源が 途絶えても時間を刻み続けてくれます。  
 ここではまずRTCの初期設定として時計合わせの方法を学びます。 

  • 84. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 83
 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通信用端子

  • 85. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 時計合わせ
 84
 
 1. Lesson6 DHT11のときと同じ要領で RTClib.ZIPをダウンロードしてインストールします。 
 ダウンロードURL https://github.com/adafruit/RTClib 
 
 2. 前述の通りライブラリマネージャからもインストールできます。 
 RTCはまず時計合わせが必要です。 <時計合わせの手順>

  • 86. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 時計合わせ
 85
 3. スケッチを開く
 
 Arduino IDEのメニューから ファイル→スケッチ例→RTClib→DS1307を選択
  • 87. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 時計合わせ
 86
 4. 時計合わせをしないと全く違う時間で進んでいくだけなのでまずは時計合わせが必要です。 
 時計合わせは、DS1307スケッチ内にある下記の黄色でハイライトした記述で行われます。 ここの先頭の // を消すとこの行が有効になります。 あとはスケッチを書き込んでUNO を起動すると、その時間に時計が合います。 時計合わせが終わったら// を元に戻しておきましょう。
 5. スケッチを書き込みます。

  • 88. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 時計合わせ
 87
 6. シリアルモニタを開いて右下にあるボーレートリストから 57600 baudを選びます。 すると時刻が表示されるので、1行目に表示されている時刻が PCの時計とおおよそ 合っていることを確認します。 ※書き込み時間分の数秒のズレは有ります。 

  • 89. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 88

  • 90. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 89

  • 91. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 8RTCを使って好きな時間に水を流す
 90
 概要
 前のレッスンで時計合わせをしたRTCと水流電磁弁を使って決まった時間に水やりをする装置を作ってみ ましょう。 

  • 92. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 91
 水流電磁弁
 電気的にon/offできる水流弁です。on/offさせるには9V_0.4Aが必要です。 白いカバーを外すとM3のビスが2本有りますのでここに配線してください。 極性は無いのでどちらが+でもOKです。 コストの関係上キット付属の006P角形マンガン電池では十分な電力を供給できないためポコポコという音で の動作確認までしかできません。 実際に散水にご使用される際は別途DC9Vで0.4A以上の電源をご用意ください。 薄緑色=9V品 ◇電磁弁の仕様 9V品◇   接続部ネジ:管用平行ネジG1/2 
 定格電圧:9V
 定格電流:0.4A
 水圧範囲:0.02~0.8Mpa   温度範囲:1~50度
  • 93. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 92
 ◇電磁弁の仕様 12V品◇      接続部ネジ:管用平行ネジG1/2    定格電圧:12V              定格電流:0.3A
 水圧範囲:0.02~0.8Mpa   温度範囲:1~50度
 
 ※コロナウイルスの影響により 上記9V品の供給不足となった 2020年4月に発送された一部のキットで端子部分が灰色の 12V仕様の電磁弁を使用しております。 12V品をお付けしているキットには12V用 電池ボックス及び電池も同梱されていますので 9V角形電池の代わりにこちらをお使いくださいませ。 
 
 灰色=12V品
  • 94. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 リレーモジュール
 93
 大きな電流のon/offができる電磁スイッチです。 通常リレーをArduinoで駆動するには電流が足りないのでトランジスタ等が必要ですが、 このリレーモジュールはトランジスタを内蔵しているので直接Arduinoの出力を接続できます。 
 NO(Normally Closed 常時開)
 コモン
 NO(Normally Open 常時閉)
 S(Arduinoの出力と接続)
 VCC(5V)
 GND

  • 95. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 94
 ※電池ボックスのリード線は線径が細いのでICクリップ経由でブレッドボードに接続してください。
  • 96. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 95

  • 97. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 96
 ※Lesson7RTCで時間を取得するで インストールした RTClib.h ライブラ リをまだインストールされていない 場合はLesson7に戻ってインストール を行ってください。

  • 98. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 97

  • 99. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ解説
 98
 “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分の内容が 実行されます。
  • 100. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 動作確認
 99
 スケッチ解説で説明したスケッチ上部のタイマー設定部分に現在時刻に近い時間を設定してその時間に水流 電磁弁がonして待機時間分onし続けることを確認してください。 実際にホースを繋いで花壇に設置すれば自動水やり機の完成です。 
 これで速習キットPart1の学習内容は終わりです。 それぞれのレッスンで学んだことを組み合わせたりしてご自分のオリジナルガジェットにも挑戦してみてくださ い。 Lesson8で作成した水やり機に光センサや温湿度計も組み合わせると晴れた日で温度が高くて湿度が低い 日だけ水やりする、というような動きにすることもできますね。健闘を祈ります!
  • 101. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 9サーボモーターを動かそう
 100
 概要
 サーボモーターを使って決めた角度に移動する方法を学びましょう。 
 サーボモーターはロボットやラジコンの方向やスピードの制御によく使われる、動かす角度を決められる部 品です。
 オレンジの線に与えるPWMパルスの数で角度が決まります。 SG-90
 部品の説明

  • 102. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 101

  • 103. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 102

  • 104. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 103
 Arduino IDEに標準でついているサンプル スケッチを使用します。 
 ファイル → スケッチ例 → servo → sweep  を選択しましょう。
  • 105. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 104
 次にservoライブラリをインクルードします。 
 
 スケッチ → ライブラリをインクルード → Servo 
 

  • 106. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 105
 サーボモーターが0度~180度へ移動 したあと180度~0度に戻ったでしょう か? 
 Forループの中の角度指定している部 分(pos)を変更すると自由に角度を変 更することができますのでやってみて ください。 

  • 107. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 10 人体検知をやってみよう
 106
 概要
 人感センサという人が来たら感知するセンサを使ってみましょう。 人感センサの信号を受け取ったら数秒間LEDを光らせます。
  • 108. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 107
 人体検知センサー
 人体検知センサーは人体から出ている熱(赤外線)を検知して、人がいる、いないを判断するセンサーです。 人がいないとOUTからHIGHの信号を出します。 検知時間調整 5分(左いっぱい)
 ~ 3秒(右いっぱい) 検知距離調整 3m(左いっぱい) ~ 5m(右いっぱい) VCC
 5V
 OUT
 HIGH/LOW
 GND

  • 109. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 108

  • 110. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 109

  • 111. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 110
 プログラムを実行してみましょう。 センサに近づくとLEDが光り、離れ て待つと消灯します。 
 ※延長時間が長すぎたり検知距 
 離が遠すぎたりすると待った
 り離れたりするのが辛いので
 センサについている2つのボ
 リュームは共に右いっぱいの
 状態から実験をはじめるとい
 いでしょう。このボリューム
 設定時は3m以上離れて約5 秒待つと消灯します。
 
 Lesson3で学んだCDsセルと組み合わせれば、夜間だけ光る LEDライトも作れますのでトライしてみてください。 

  • 112. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 11 モーター駆動ICを使って正転、逆転の制御をやってみよう
 111
 概要
 TA7291PというモータードライバICを使って高出力モータ-を制御(正転、逆転、PWMによる速度変更)する 方法を学びます。
  • 113. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 112
 TA7291P
 このICは2Aまでのモーターを正転、逆転、速度変更制御を行えます。 IN1,IN2端子にかける電圧の組み合わせで正転逆転の切り替え、Vref端子のPWMデューティー比で速度変 化が可能です。 ① 
 GND
 GND
 ② 
 OUT1
 モーターと接続
 ③ 
 未使用
 -
 ④ 
 Vref
 ArduinoのPWM出力と接続(Vsより小さい電圧が必 要)
 ⑤ 
 IN1
 Arduinoのデジタル出力と接続
 ⑥ 
 IN2
 Arduinoのデジタル出力と接続
 ⑦ 
 Vcc
 ICの電源(5V)
 ⑧ 
 Vs
 モーター駆動用電源
 ⑨ 
 未使用
 -
 ⑩ 
 OUT2
 モーターと接続

  • 114. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 113
 ファンクション表 入力
 出力
 モード
 IN1
 IN2
 OUT1
 OUT2
 0
 0
 ∞
 ∞
 ストップ
 1
 0
 H
 L
 モーター正転
 0
 1
 L
 H
 モーター逆転
 1
 1
 L
 L
 ブレーキ

  • 115. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 114
 ≪≪ PWM(Pulse Width Modulation)って何?? ≫≫ スイッチオン/オフの比率を変化させてモーターの速度やLED等の光の強さを変化させることができる方法 です。 オン/オフの比率のことをデューティー比といいます。
  • 116. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 115
 ※電池ボックスのリード線は線径が細いのでICクリップ経由でブレッドボードに接続 
 してください。
  • 117. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 116

  • 118. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 117
 モーターの 中速正転→全速正転→ブレーキ→中速逆転 →STOP を繰り返します。 

  • 119. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 118
 TA7291Pモータードライバの2つのINPUTの組み合わせで 正転―逆転―ストップーブレーキ を、VrefにかけるPWM信 号によって速度を制御しています。
 部品説明ページに記載の表とスケッチをしっかり見て動作 原理を自分のものにしてください。 

  • 120. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 12 I2C通信で温度と湿度を取得表示してみよう
 119
 概要
 SHT31という温度センサーから受け取った温度や湿度の情報をシリアルモニタに表示させます。
  • 121. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 120
 SHT31
 温度、湿度をI2C通信で取得ができるセンサーです ArduinoのI2C端子(A4,A5)をSCL,SDA端子に接続して使用します。 SCL SDA GND VCC

  • 122. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 121

  • 123. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 122

  • 124. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 123
 まずは、SHT31 ライブラリをダウンロードして取り込みます。 ※ライブラリの使い方についてはLesson6をご参照ください。 https://github.com/adafruit/Adafruit_SHT31 
 次にArduino IDEに標準でついているサンプルスケッチを使用します。 ファイル → スケッチ例 → Adafruit_SHT31・・・ → SHT31test を選択しましょう。

  • 125. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 124

  • 126. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 125

  • 127. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 126
 書き込みが終わったらシリアルモニタを起動して温度と湿度が取得できているのを確認しましょう。
  • 128. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 13 LCDで文字を表示させよう
 127
 概要
 LCDディスプレイに文字を表示させる方法を学びましょう。
  • 129. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 128
 1602LCD
 16列2行の文字を表示できる液晶ディスプレイです。 ArduinoからI2C通信で情報を送信します。 接続は裏面の4本ピンのみです。 LCDコントラスト調整用ボリューム抵抗 ※LCDの文字が見えない、見えづらいという 
 ときはこれを回して調整してください。 GND
 VCC(5V)
 SDA
 SCL

  • 130. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 129

  • 131. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 130

  • 132. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 131
 まずは、LiquidCrystal_I2C ライブラリをダウンロードして取り込みます。 
 ※ライブラリの使い方についてはLesson6をご参照ください。 https://github.com/marcoschwartz/LiquidCrystal_I2C 
 
 Lesson13_LCD_PurEyes.inoを開きます。 LCDにHello,world!!が表示されたらOKです。 コメントをよく見て文字の表示内容や表示位置を 色々変えてみて使い方を学びましょう。
  • 133. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 LESSON 14 イーサネットシールドを使ってウエブサーバーを構築しよう。
 132
 概要
 イーサネットシールドを使うとインターネットに情報を公開することができます。 
 今回は温度センサの値をインターネットに公開してみます。 

  • 134. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 部品の説明
 133
 イーサネットシールド
 シールドとは、Arduinoの上にちょうど積み重ねるようにするだけでArduinoにいろいろな機能を付加できる部 品です。 今回使用するイーサネットシールドはLANケーブルをルーター等に接続することでArduinoをサーバーやクラ イアントにしたりすることができます。
  • 135. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 接続図
 134
 1. Arduinoの上にイーサネットシールドの足を差し込みます。 2. 人感センサを接続します。 3. LANケーブルでご自身のネットワークルーターに接続します。 ※UNO基板はEthernetシールドに重ねる

  • 136. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 回路図
 135
 ※UNO基板はEthernetシールドに重ねます
  • 137. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 136
 Arduinoのサンプルスケッチから、 スケッチ例 – Ethernet – WebServer を選びます。 
 

  • 138. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 137
 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 に変更  
  
 ご自分のネットワークに合わせて変更 
 (スケッチ説明のはじめの部分をご参照ください) 
 MacAddresstとIPAddressの部分を下記に書き換えま す。   MacAddress:
 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED → 0x02, 0x00, 0x00, 0x00, 0x00, 0x00
 
   IPAddress:
 ご自分のローカルネットワークで使用しているアドレ スを確認して使用していない番号にします。(次ページ 参照)

  • 139. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 138
 コマンドプロンプトで IPCONFIG を打ち込んで実行する と IPv4アドレス 行に192.168.から始まるアドレスが出てきま す。192.168のあとの数字までを同じにして最後の3桁の数 字を0~255のうちご自身のネットワーク環境で使われてい ない数字に変更して前ページスケッチのIPAddress欄に入 力してください。(わからない場合は下記の通り171を入力) 
 例1:ご自分のネットワーク機器の 
    アドレスが192.168.0.1の場合 
    →192.168.0.171等
 
 例2:ご自分のネットワーク機器の    アドレスが192.168.1.1の場合     →192.168.1.171等

  • 140. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 139
 AnalogInput0~6の値をwebに公開してい ます
  • 141. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 スケッチ
 140
 このスケッチでは人感センサの値を読んでwebに公開しています。 ご自分のPCのブラウザ(GoogleChrome、MicrosoftEdge、Firefox等)に先程スケッチに打ち込んだIPアドレスを 打ち込むと数秒ごとにこの値を見ることができますよ。 
 アナログインプットの0~6の値がすべて出力されますので他にも温度センサやスイッチをつければそれらの値 を公開することもできますのでいろいろやってみるとおもしろいです。 
 
 以上でレッスンは終わりです。Arduinoに慣れてきましたでしょうか? 
 インターネットを検索するとArduinoでルービックキューブを解いたりドローンを作ったりしている強者たちが作 品の紹介や説明を行ってくれていますので是非これらを参考に学び続けていただければと思います。がん ばってください! 

  • 142. © Presentation Design © Presentation Design © PUREYES
 © PUREYES
 141
 本書中の会社名や商品名は、該当する各社の商標または登録商標です 本書中では 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日発行 著者 中村光宏 禁無断転載・複製