• 検索結果がありません。

はじめての電子工作 & プログラミング UNO R3 速習キット [ 学習教材 V116 ] Presentation PUREYES Design

N/A
N/A
Protected

Academic year: 2022

シェア "はじめての電子工作 & プログラミング UNO R3 速習キット [ 学習教材 V116 ] Presentation PUREYES Design"

Copied!
142
0
0

読み込み中.... (全文を見る)

全文

(1)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


UNO R3 速習キット 


[ 学習教材 V116 ]


https://www.pureyes.net/

(2)

はじめに


はじめての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

Part

2にはボールスイッチが 付属しませんのでボールス イッチの配線は不要です。ス ケッチはそのままご利用くださ い。

Lesson5

Lesson9

Lesson14

Arduino

ではじめる電子工作超 入門

(4)

Part

1のキットは 

“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)

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


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


≪ アルディーノIDEとスケッチ ≫

(7)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


6


(8)

目次


はじめに ・・・・・・・・・・・・・・・・・・・・・・・・・・・ 

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)

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


Arduino のプログラム(スケッチ)を作成し、書き込むためのソフトウェアをダウンロードしましょう。

https://www.arduino.cc/en/software

 から、対応OSに合わせたファイルをクリックします。

(11)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


10


 


寄付をするか尋ねられるので、どちらかを選んでダウンロードします。

JUST DOWNLOAD

を選べば寄付なしでも使用できます。

(12)

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


ダウンロートドしたArduino***.exeファイルを開くとインストールが開始されます。 下記画面が出てきたら Closeボタンを押してインストール完了です。

5)

それでは先程インストールしたArduino IDEを開いて初期設定を行いましょう。

(13)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


12


 


まずはUNO基板をUSBケーブルでPCと接続します。

Arduino IDEのアイコンがデスクトップにできていますのでこれを開きます。

(14)

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


英語表記になっている場合は日本語に変更しておきましょう。

メニューからFile

→ Preference → Editor language

のリストから日本語を選択します。

一度Arduino IDEを閉じてからもう一度起動すると日本語表記に変わっています。

(15)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


ボードの選択


14


 


  次にボードの選択です。

実はArduinoはUNOの他にも様々な種類のボードが有りますので、まずこれを選択

しなければなりません。

メニューからツール→ボードとポイントしていきArduino/Genuino Unoまたは

    ArduinoUnoを見つけてクリックしてください。

(16)

ボードの選択


(17)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


ボードの選択


16


 


最後にシリアルポートの設定です。

メニューからツール→シリアルポートとポイントしていきArduino/Genuino Uno の表記があるCOMポートを見 つけてクリックしてください。

これで初期設定は終わりです。 次はいよいよ実際にUNOを動かしてみましょう。

(18)

ARDUINO IDE 公式ヘルプ


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)

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


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)

部品解説


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

接続図


(23)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


22


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

 


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



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

(24)

スケッチ


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)

スケッチ


スケッチ解説

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


 


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


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


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

 


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

 


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

(27)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


26


スケッチ

(28)

スケッチ


サンプルスケッチの 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)

LESSON 2外部LEDを光らせよう


概要


外付け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)

部品の説明


抵抗値が大きければ暗くなり小さければ明るくなります。

壊れますので定格より小さい抵抗はダメですよ。

 


順方向電圧(VF):LED の両端に加わる電圧 定格電流(IF):LED に流す電流

電源電圧:Arduinoの電源ピンから出力される電圧 5V 
  


電子部品の特性はインターネットに多数公開されているデータシートを見ると
 わかりますので検索してみてください。

 


順方向電圧:LED の両端に加わる電圧 定格電流:LED に流す電流

電源電圧:Arduino のピンから出力される電圧、


常に 5V


(33)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


部品の説明


32


ブレッドボード


GNDに利用


電源ラインに利用


たくさんの穴が2.54mm間隔で空いていてここに電子部品を差し込むことでハンダ付け等無しで電気配 線ができる、電子工作の実験に便利なボードです。

内部は電気的に下記の様につながっています。外側

2

列は横方向につながっており、主に電源用とし て利用します。


上下は横一列が
 つながっている


 


横の列が
 つながっている


上下は別


信号線に利用


(34)

部品の説明


抵抗

電気回路の電流や電圧を変えたりと地味だけど実は重要な部品です。

このレッスンではLEDに流す電流を決めています。

 


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

200Ω(Part2)  220Ω(共通)  470Ω(共通)  1KΩ(共通)  5.1KΩ(共通)  10KΩ(共通)

(35)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


部品の説明


34


抵抗にはカラーコードと呼ばれる帯が付いておりこれを読むことで抵抗値や抵抗値のばらつき精度や温度特 性が分かります。

カラーコードは帯が4つ、5つ、6つのものが有り、それぞれ下図のように読むことができます。

(36)

接続図


(37)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


36


(38)

スケッチ


※お気づきの方もおられるかもしれませんが、このスケッチでも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)

動作確認


接続とスケッチの書き込みが終わって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)

部品の説明


CdSセル


光の量で抵抗値が変わる素子です。

これに抵抗と電源をつなげてその分圧される電圧を測定することで光の強弱を知ることができます。

昔のフィルムカメラで光量の測定によく使われていました。

ボールスイッチ ※Starterkit Part2には付属しません
 傾けるとスイッチが開になるスイッチです。

中に鉄球等が入っていてこれが移動することで接点が開になったり閉になったりします。

(43)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


接続図


42


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

(44)

回路図


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

 


(45)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


44


回路とスケッチの書き込みが終わったらシリアルモニタを起動してみましょう。

Arduino IDEの上右にある虫めがねのようなアイコンをクリックするとシリアルモニタが開きます。

まずはシリアルモニタ下にあるボーレートのリストから9600bpsを選びましょう。

するとCdSセルとつながっているUNO基板のA0端子の値がどんどん表示されていくのが見えると思い ます。

(46)

スケッチ解説


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


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)

シリアルモニタ


シリアル通信速度設定 アナログ入力0(

CdS

セル出力)の値 

0

1023

(49)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


動作確認


48


接続とスケッチの書き込みが終わったらCdSセルを手で覆って光をさえぎってみましょう。

シリアルモニタの値は小さくなりましたでしょうか?

 


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

 


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

 


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


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

 
  


 

(50)

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


概要


大きな電流が必要なファンモータを駆動させる方法を学びます。

また、ボリュームを回してファンの風量を変えてみましょう。

(51)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


部品の説明


50


130FA DCモーター


モーター&プロペラ

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

(52)

部品の説明


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)

接続図


※コンデンサとダイオードはノイズ対策用ですので無くても動作します。

※コンデンサは足が短いのでオスメスのケーブルを足して接続してください。

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


(55)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


54


(56)

スケッチ


(57)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ解説


56


可変抵抗とつながっているアナログ入力の値をvalという変数に格納します。

モーターとつながっている 9番ピンの出力を上記valの値から決めています。

(58)

動作確認


接続とスケッチの書き込みが終わったらボリュームを回してモーターの回転数が変化するか確認してみてくださ い。

また、シリアルモニタを開くとボリュームとつながっているアナログ入力の値が表示されるのでモニタしてみましょ う。

(59)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


58


概要


RGB_LEDは赤、緑、青を発光させることのできる素子です。

これは光の3原色といってこれらの色を混ぜ合わせることによって様々な色を作り出すことができま す。テレビの画面なんかも同じ原理ですね。

Arduinoのアナログ出力を3つ使っていろいろな色をつくってみましょう。

光の3原色

(60)

部品の説明


RGB_LED


マイナス接続用の端子と3本の端子が出ています。

それぞれの端子から電流を流すと、それぞれR(赤)G(緑)B(青)の色に発光します。

(61)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


接続図


60


(62)

回路図


(63)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


62


(64)

スケッチ


(65)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


64


(66)

スケッチ


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)

部品の説明


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)

接続図


(71)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


70


(72)

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


温湿度センサ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)

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


インクルードが終わったら

ファイル

スケッチ例

→DHTsensor library→

DHTtester

を選択します。 


(75)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


74


主要なライブラリはライブラリマネージャからインストールすることもでき、こちらのほうが簡単です。

メニューバーのツール→ライブラリを管理をポイントするとライブラリマネージャーが開きます。

補足


例えば今回使用したDHT11を検索するとDHTライブラリがヒットしますのでこれをクリックしてインストールボタ ンを押すだけでライブラリのインストールが完成します。

インストール済のライブラリは下のスクリーンショットのように緑色で“INSTALLED“と表示されます。

(76)

スケッチ


スケッチは先程のライブラリに付属する

DHTtester

を使用します。

PUREYES

のスケッチではなくライブ

ラリに付属のスケッチをそのまま使 用する場合は温度センサの変更が 必要です。

16

行目に温湿度センサの種類を選 択する部分が有りますので

DHT11

を選択してください。

選択の方法は

16

行目の先頭の

//

を 消して

DHT11

を使用できるようにし ます。

これに

17

行目の先頭に

//

を追記し

DHT22

を使用しないようにします。

(77)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


76


(78)

スケッチ


(79)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ解説


78


インストールしたDHTライブラリをスケッチから使える状態にしています。

DHT11の通信を行うピンを2に定義しています。

使用するDHTをDHT11と定義しています。

※DHT11の行を//でコメントにし、DHT22やDHT21の行のコメントを外す事で他の種類の
 センサーも使える様になっています。

dhtと言う名前の変数で、通信のピンとセンサーのタイプを指定しDHT11のセンサーを使う宣言をしていま す。

DHT(温湿度センサ)の使用を開始します。

(80)

スケッチ解説


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)

動作確認


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


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


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

 


(83)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


LESSON 7RTCで時間を取得する


82


概要


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


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

 


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

(84)

部品の説明


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


(85)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


時計合わせ


84


1.

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


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


2.

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


RTCはまず時計合わせが必要です。

<時計合わせの手順>


(86)

時計合わせ


3.

スケッチを開く


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

(87)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


時計合わせ


86


4.

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


時計合わせは、DS1307スケッチ内にある下記の黄色でハイライトした記述で行われます。

ここの先頭の

//

を消すとこの行が有効になります。

あとはスケッチを書き込んで

UNO

を起動すると、その時間に時計が合います。

時計合わせが終わったら

//

を元に戻しておきましょう。


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


(88)

時計合わせ


6.

シリアルモニタを開いて右下にあるボーレートリストから

57600 baud

を選びます。

すると時刻が表示されるので、1行目に表示されている時刻が

PC

の時計とおおよそ

合っていることを確認します。

※書き込み時間分の数秒のズレは有ります。

(89)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


接続図


88


(90)

回路図


(91)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


90


概要


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

(92)

部品の説明


水流電磁弁


電気的に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度

(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)

リレーモジュール


大きな電流の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)

回路図


(97)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


96


Lesson

RTC

で時間を取得するで

インストールした

RTClib.h

ライブラ

リをまだインストールされていない

場合は

Lesson7

に戻ってインストール

を行ってください。


(98)

スケッチ


(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)

動作確認


スケッチ解説で説明したスケッチ上部のタイマー設定部分に現在時刻に近い時間を設定してその時間に水流 電磁弁がonして待機時間分onし続けることを確認してください。

実際にホースを繋いで花壇に設置すれば自動水やり機の完成です。

これで速習キットPart1の学習内容は終わりです。

それぞれのレッスンで学んだことを組み合わせたりしてご自分のオリジナルガジェットにも挑戦してみてくださ い。

Lesson8で作成した水やり機に光センサや温湿度計も組み合わせると晴れた日で温度が高くて湿度が低い 日だけ水やりする、というような動きにすることもできますね。健闘を祈ります!

(101)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


100


概要


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


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


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

SG-90


部品の説明


(102)

接続図


(103)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


102


(104)

スケッチ


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

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

(105)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


104


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


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


(106)

スケッチ


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

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

(107)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


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


106


概要


人感センサという人が来たら感知するセンサを使ってみましょう。

人感センサの信号を受け取ったら数秒間LEDを光らせます。

(108)

部品の説明


人体検知センサー


人体検知センサーは人体から出ている熱(赤外線)を検知して、人がいる、いないを判断するセンサーです。

人がいないとOUTからHIGHの信号を出します。

検知時間調整 5分(左いっぱい) 


検知距離調整 3m(左いっぱい)

VCC
 5V


OUT
 HIGH/LOW


GND


(109)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


接続図


108


(110)

回路図


(111)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


110


プログラムを実行してみましょう。

センサに近づくとLEDが光り、離れ て待つと消灯します。

※延長時間が長すぎたり検知距
 離が遠すぎたりすると待った
 り離れたりするのが辛いので
 センサについている2つのボ
 リュームは共に右いっぱいの
 状態から実験をはじめるとい
 いでしょう。このボリューム
 設定時は3m以上離れて約5 秒待つと消灯します。


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

(112)

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


概要


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)

部品の説明


ファンクション表

入力
 出力


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)

接続図


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

(117)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


116


(118)

スケッチ


モーターの 中速正転→全速正転→ブレーキ→中速逆転

→STOP を繰り返します。

(119)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


118


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


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

(120)

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


概要


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

(121)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


部品の説明


120


SHT31


温度、湿度をI2C通信で取得ができるセンサーです

ArduinoのI2C端子(A4,A5)をSCL,SDA端子に接続して使用します。

SCL SDA GND VCC


(122)

接続図


(123)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


122


(124)

スケッチ


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

※ライブラリの使い方についてはLesson6をご参照ください。

https://github.com/adafruit/Adafruit_SHT31

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

ファイル

スケッチ例

→ Adafruit_SHT31

・・・

SHT

31test

 を選択しましょう。


(125)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


124


(126)

スケッチ


(127)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


126


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

(128)

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


概要


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

(129)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


部品の説明


128


1602LCD


16列2行の文字を表示できる液晶ディスプレイです。

ArduinoからI2C通信で情報を送信します。

接続は裏面の4本ピンのみです。

LCDコントラスト調整用ボリューム抵抗

※LCDの文字が見えない、見えづらいという
 ときはこれを回して調整してください。

GND
 VCC(5V)
 SDA
 SCL


(130)

接続図


(131)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


回路図


130


(132)

スケッチ


まずは、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)

部品の説明


イーサネットシールド


シールドとは、Arduinoの上にちょうど積み重ねるようにするだけでArduinoにいろいろな機能を付加できる部 品です。

今回使用するイーサネットシールドはLANケーブルをルーター等に接続することでArduinoをサーバーやクラ イアントにしたりすることができます。

(135)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


接続図


134


1.

Arduinoの上にイーサネットシールドの足を差し込みます。

2.

人感センサを接続します。

3.

LANケーブルでご自身のネットワークルーターに接続します。

UNO

基板は

Ethernet

シールドに重ねる


(136)

回路図


※UNO基板はEthernetシールドに重ねます

(137)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


136


Arduinoのサンプルスケッチから、

スケッチ例 – Ethernet – WebServer を選びます。





(138)

スケッチ


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)

スケッチ


AnalogInput0~6の値をwebに公開してい ます

(141)

© Presentation Design

© Presentation Design

© PUREYES
 © PUREYES


スケッチ


140


このスケッチでは人感センサの値を読んでwebに公開しています。

ご自分のPCのブラウザ(GoogleChrome、MicrosoftEdge、Firefox等)に先程スケッチに打ち込んだIPアドレスを 打ち込むと数秒ごとにこの値を見ることができますよ。

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





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

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

(142)

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

参照

関連したドキュメント

名称 機能 1 Controller コンストラクタです。インスタンスを生成します。 2 Open 指定されたパス名の CLF レイアウト ファイルを開きます。 3 Close 現在開 いている

 gcc prog.o func.o -o prog とすると実行ファイル prog を作成することができる。. 今回は、 print_tree.c

ダウンロードした Visual Studio 2015 の exe ファイル、または iso ファイルをマウント (vs2015.3.com_jpn.iso

④ Examine の実行目的のデバイス用の Examine オプションにチェックします。Start ボタンをクリックすると、データの吸い出 しが開始されます。

④ ファイルの保存 Examine が完了すると吸い出したプログラミング・データは untitled<数字>.pof

Copyright © 2014, 2016, 2018 Sony Corporation all rights reserved (2) SSL-VPN 接続ソフトのインストール

> script result_2_09305024 スクリプトを開始しました、ファイルは result_1_09305024.txt です > cc kadai1.c > ./a.out i=10 >

本棚表示キット内の index_list.html を編集用ソフトで開く 本棚表示キットの中にある「index_list.html」が リスト表示画面のファイルです。