SlideShare a Scribd company logo
1 of 24
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Arduinoで簡単回路作成実演
2015年05月23日
先端IT活用推進コンソーシアム
クラウド・テクノロジー活用部会 リーダー
アドソル日進株式会社 荒本道隆
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• Arduinoの実演販売風
– ハンズオンは、デバイスの準備が大変
• 経験を積んだ人なら、見ただけで分かるはず
– ライブコーディングならぬ、ライブ回路作成
このセッションについて
2
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Arduino とは
Arduino はスタンドアロン型のインタラクティブデバイス開発だけでなく、ホスト
コンピュータ上のソフトウェア(例えば、Adobe Flash、Processing、Max/MSP、
Pure Data、SuperCollider)で制御することもできる。オープンソースハード
ウェアでありハードウェア設計情報のEAGLEファイルは無料で公開されてお
り、組み立て済みの基板を購入することもできるほか、誰でも自分の手で
Arduino を組み立てることができる。
Arduinoプロジェクトは2005年にイタリアで 始まり、当時入手可能だった他の
学生向けのロボット製造用コントロールデバイスよりも安価なプロトタイピン
グ・システムを製造することを目的にスタートし た。設計グループは多くの競
合製品よりも遥かに安価で簡単に使用できるプラットフォームの開発に成功し
た。Arduinoボードは、2008年10月までに5万ユニット以上[3]が、2011年2月
で約15万台[4]販売されている。Arduinoプロジェクトは2006年度のアルス・エ
レクトロニカ賞で名誉言及を受けている。[5][6][7]
ウィキペデアより
3
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Arduinoの特徴
• アナログ・デジタルの入出力が複数ある
– そこにセンサやリレーを簡単に接続できる
• 豊富なシールド
– イーサネット, GPS, LCD, モーター制御
– http://ideahack.me/article/147
• センサ以外は、使い慣れた技術・用語が多い
– USB, シリアル, HTTP, TCP/IP
• 取り扱いが容易
– 不器用な私でも何とかなった
• 無線シールドの半田付けに失敗し、3つほど捨てたけど
– そんなに高くない
• 壊してしまっても、大人なら平気
色々と追加すると、
Raspberry PI の方が
安上がりな場合も
4
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
機器購入時の注意事項
• 無線LAN, Bluetoothは、技適が付いているか?
– 海外の無線シールドには、技適が付いていない
– 技適が付いていないものを使うデメリット
• 発表時に、構成を詳しく言えない
• 電波法違反=「1年以下の懲役又は100万円以下の罰金刑に処せ
れる」
– 有線→無線変換が簡単
• 配置時
– 電源の確保
• スマホの充電で使うUSBアダプタが大活躍
• センサだけなら、電池でも結構持つ
– 無線LANを電池で使いたいなら、省電力のものを選択
5
Amazon「PLANEX 充電万能
2ポートUSB充電器 ホワイト」
1,002-
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
Arduinoの概要
デジタル入出力(プログラムで切り替え)
アナログ入力(0~1023の範囲)電源
出力にすると
5V, 40mA
6
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ブレッドボードの概要
+-だけ縦に
つながっている
横に
つながっている
GND 5V
7
横に
つながっている
a~e, f~j
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
プロトタイピング
開発時
テスト配置時
8
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ドライバと開発環境をインストール
• ダウンロード
– http://arduino.cc/en/main/software
• Windows
– 「Windows ZIP file」をダウンロードして、解凍
– driversarduino.inf を右クリックして「インストール」
– Arduino を接続
– arduino.exe でIDEを起動
– メニューの「ツール」から
• →「シリアルポート」→「COM3」(PCによって違う)を選択
• →「マイコンボード」→「Arduino Uno」を選択
• Mac
– 「Mac OS X」をダウンロードして、解凍
– Arduino を接続
– arduino でIDEを起動
– メニューの「ツール」から
• →「シリアルポート」→「/dev/tty.usbmodem3d11」を選択
• →「マイコンボード」→「Arduino Uno」を選択
9
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
練習問題
• LEDを点ける
– 状況が目視できるようになる
5VとGND
を取り出す 5V側に抵抗
を入れる
足の長い方が+
挿し易いように、カット済み
LEDの仕様で
抵抗値は違う
抵抗無しだと
焼き切れる事も
10
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ステップ1-1
• LEDを1秒ごとに点滅させる
– デジタルの8番をLEDの+に接続
• さっきまでの5Vの線は外す
デジタルの8番
11
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• LEDを1秒ごとに点滅させる
– 次にプログラムを作成
1.コンパイル
2.書き込み
ちょっと発展形
ステップ1-2
おまけ
高速に点灯と消灯を
繰り返せば、明るさ
を調節できる
#define LED_OUTPUT 8
boolean led = false;
void setup() {
pinMode(LED_OUTPUT, OUTPUT);
}
void loop() {
led = !led; // 反転
digitalWrite(LED_OUTPUT, led);
delay(1000);
}
書き込んだら、
自動で実行開始
12
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ステップ2-1
• 照度センサの値をPCで参照
– 照度センサをアナログの0番に入力
• 足の短い方:5V
• 足の長い方:GND→抵抗→、A0に渡す
セ
ン
サ
A0へ入力
13
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ステップ2-2
• 照度センサの値をPCで参照
– プログラムを作成
– 実行後は、「ツール」→「シリアルモニタ」で確認
#define LED_OUTPUT 8
#define CDS_INPUT 0
boolean led = true;
void setup() {
Serial.begin(9600);
}
void loop() {
int val = analogRead(CDS_INPUT);
Serial.print ("CdS :");
Serial.print (val);
Serial.println();
delay(1000);
}
14
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
ステップ3
• 「暗くなったら、LEDを灯す」を実現
– ステップ2のプログラムを改良
#define LED_OUTPUT 8
#define CDS_INPUT 0
boolean led = LOW;
void setup() {
pinMode(LED_OUTPUT, OUTPUT);
// Serial.begin(9600);
}
void loop() {
int val = analogRead(CDS_INPUT);
if (val < 400){ // 暗ければ
led = HIGH; // 点ける
} else { // そうでなければ、
led = LOW; // 消す
}
digitalWrite(LED_OUTPUT, led);
delay(100); // 反応の遅延を減らす
}
閾値は、場所に合わせて調整
15
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
その他のセンサ
• 人感センサ
– Panasonic AMN41121
• 温湿度センサ
– DHT11
デジタルで、HIGH/LOWを読むだけ
シリアル通信するので、
ちょっと大変
アナログに挿しても、楽しい
16
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
• 仕様
– 人感センサの状態をLEDで表示
– ある程度暗くて、人が居たら、照明(別のLED)を点ける
– 人が居なくなったら、しばらく(3秒)したら照明を消す
– 照明を点けた/消した、をサーバに記録
– デジタル入力を使うには
• pinMode(ピン番号, INPUT);
• int a = digitalRead(ピン番号);
17
Panasonic AMN41121
人感センサを裏面から見た図
5V
GNDGND
デジタルの7番へ
100KΩ(茶黒黄金)
「人感照明」の作成例
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
温度測定
• 温湿度センサ(DHT11)とはシリアル通信
– 専用のライブラリが公開されている
• http://playground.arduino.cc/main/DHT11Lib
– 安物(300円)なので精度と耐久度に不安
• AM2302という高級品(1,000円)もある
18
http://learning.grobotronics.com/2013/07/
measuring-humidity-with-dht11-sensor/
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
HTTP通信に必要なもの
• イーサネットシールドでHTTP通信
– Macアドレスをハードコード、LAN内で重複しないように
– DNSを参照するのは手間なので、直IPアドレスで指定
– 別機器で無線LAN化(コンバータモードを使用)
イーサネットシールド
無線LAN化機器
PLANEX MZK-PR150N
19
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
HTTP通信(サンプル前半)
#include <SPI.h>
#include <Ethernet.h>
#define LED_OUTPUT 8
#define CDS_INPUT 0
boolean led = LOW;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // 自分のMACを決める
IPAddress server(219,101,208,155); // 接続先のIPアドレス
int port = 80; // 接続先のポート番号
void setup() {
pinMode(LED_OUTPUT, OUTPUT);
Serial.begin(9600);
Serial.println("DHCP Request");
for(;Ethernet.begin(mac) == 0;) { // DHCPサーバからIPアドレスを取得
Serial.println("Failed to configure Ethernet using DHCP");
delay(10000);
}
Serial.println("START!");
}
20
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
HTTP通信(サンプル後半)
void loop(){
int val = analogRead(CDS_INPUT);
boolean writeFlag = false;
if (val < 400){ // 暗ければ
if (led != HIGH){
led = HIGH; // 点ける
writeFlag = true;
}
} else { // そうでなければ、
if (led != LOW){
led = LOW; // 消す
writeFlag = true;
}
}
if (writeFlag == true){
digitalWrite(LED_OUTPUT, led);
Serial.print ("CdS :");
Serial.print (val);
Serial.println();
EthernetClient client;
if (client.connect(server, port)) {
Serial.println("HTTP connected");
// Make a HTTP request:
client.print("GET /arduino/ID/");// IDを識別できる名前に変更
client.print("?LED=");
client.print(led);
client.print(“&cds=");
client.print(val);
client.print(" HTTP/1.0");
client.println();
client.println();
delay(100); // 送信が終わるまで、ちょっと待つ
client.stop();
}
}
delay(100);
}
21
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
注意事項
• 回路変更時には、必ず電源を抜く
• 抵抗値の計算について
– よく分からなければ、計算用サイトを利用
• http://diy.tommy-bright.com/
• Arduinoの電流量は貧弱
– 5V, 40mA
• 比較例:単三電池は1.5V, 100mA
– サーボモータなど大電流が必要な物は、別電源が必要
• 24時間運転する場合は
– ちゃんとケースに入れましょう
22
http://d.hatena.ne.jp/koki-
h/comment/20090407/1239090406
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
後片付け
• ブレッドボード上に、最初の状態に戻す
23
Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved.
http://aitc.jp
https://www.facebook.com/aitc.jp
最新情報は
こちらをご参照ください
ハルミン
AITC非公式イメージキャラクター
Arduino+Raspberry PI で、
なんでもできます
センサって意外と単純

More Related Content

What's hot

第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1
Tatsuya Ueda
 
ハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみたハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみた
Naotaka Saito
 

What's hot (20)

150130 edison-ug
150130 edison-ug150130 edison-ug
150130 edison-ug
 
Aerospike on IDCF Cloud
Aerospike on IDCF CloudAerospike on IDCF Cloud
Aerospike on IDCF Cloud
 
SCALR OSS版のインストール手順のご紹介 20131204 01
SCALR OSS版のインストール手順のご紹介 20131204 01SCALR OSS版のインストール手順のご紹介 20131204 01
SCALR OSS版のインストール手順のご紹介 20131204 01
 
VYATTA USERS MEETING Autumn 2013_idcf
VYATTA USERS MEETING Autumn 2013_idcfVYATTA USERS MEETING Autumn 2013_idcf
VYATTA USERS MEETING Autumn 2013_idcf
 
MPLS_JAPAN_2013_IDCF
MPLS_JAPAN_2013_IDCFMPLS_JAPAN_2013_IDCF
MPLS_JAPAN_2013_IDCF
 
実話!実はIDCFクラウドって◯◯なんです
 実話!実はIDCFクラウドって◯◯なんです 実話!実はIDCFクラウドって◯◯なんです
実話!実はIDCFクラウドって◯◯なんです
 
第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1第1回 静岡 IT Pro 勉強会 セッション1
第1回 静岡 IT Pro 勉強会 セッション1
 
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウドベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
ベアメタルサーバー/オンプレミスと実現するハイブリッドクラウド
 
サーバー初心者のためのWordPressサイト構築手順
サーバー初心者のためのWordPressサイト構築手順サーバー初心者のためのWordPressサイト構築手順
サーバー初心者のためのWordPressサイト構築手順
 
Intel edison edison向け基板のご紹介
Intel edison edison向け基板のご紹介Intel edison edison向け基板のご紹介
Intel edison edison向け基板のご紹介
 
実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方実践!DBベンチマークツールの使い方
実践!DBベンチマークツールの使い方
 
July techfesta2014 f30
July techfesta2014 f30July techfesta2014 f30
July techfesta2014 f30
 
201310 ITproEXPO_clouddaystokyo2013fall_idcf
201310 ITproEXPO_clouddaystokyo2013fall_idcf201310 ITproEXPO_clouddaystokyo2013fall_idcf
201310 ITproEXPO_clouddaystokyo2013fall_idcf
 
Line hackson20170121
Line hackson20170121Line hackson20170121
Line hackson20170121
 
サーバー初心者のためのWordPressサイト構築手順
サーバー初心者のためのWordPressサイト構築手順サーバー初心者のためのWordPressサイト構築手順
サーバー初心者のためのWordPressサイト構築手順
 
Vagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るVagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作る
 
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
 
ハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみたハードウエアの会社ですがクラウドサービスを開発してみた
ハードウエアの会社ですがクラウドサービスを開発してみた
 
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
 
0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム0円でできる自宅InfiniBandプログラム
0円でできる自宅InfiniBandプログラム
 

Similar to 2015/05/23 シニア技術者プログラム第3弾 「第二回IoT勉強会&交流会」 15:00~15:20 Arduinoで簡単回路作成実演

20130517 midokura-ncc
20130517 midokura-ncc20130517 midokura-ncc
20130517 midokura-ncc
Midokura
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
Boss4434
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
 
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
Computational Materials Science Initiative
 
デスクトップの仮想化とフレキシブルワークスタイル
デスクトップの仮想化とフレキシブルワークスタイルデスクトップの仮想化とフレキシブルワークスタイル
デスクトップの仮想化とフレキシブルワークスタイル
junichi anno
 

Similar to 2015/05/23 シニア技術者プログラム第3弾 「第二回IoT勉強会&交流会」 15:00~15:20 Arduinoで簡単回路作成実演 (20)

ソフトウエアジャパン2017 IT Forum AITC(6)
ソフトウエアジャパン2017 IT Forum AITC(6)ソフトウエアジャパン2017 IT Forum AITC(6)
ソフトウエアジャパン2017 IT Forum AITC(6)
 
20130517 midokura-ncc
20130517 midokura-ncc20130517 midokura-ncc
20130517 midokura-ncc
 
CEDEC-Net 2015 テクニカルレビュー
CEDEC-Net 2015 テクニカルレビューCEDEC-Net 2015 テクニカルレビュー
CEDEC-Net 2015 テクニカルレビュー
 
CONBU LL Diver/YAPC::Asia 2014 Network
CONBU LL Diver/YAPC::Asia 2014 NetworkCONBU LL Diver/YAPC::Asia 2014 Network
CONBU LL Diver/YAPC::Asia 2014 Network
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
Node-redでプロトタイピング
Node-redでプロトタイピングNode-redでプロトタイピング
Node-redでプロトタイピング
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
Azure vm usacase and value.1.0.20.0618
Azure vm usacase and value.1.0.20.0618 Azure vm usacase and value.1.0.20.0618
Azure vm usacase and value.1.0.20.0618
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
「スーパーコンピュータとクラウドゲーム」
「スーパーコンピュータとクラウドゲーム」「スーパーコンピュータとクラウドゲーム」
「スーパーコンピュータとクラウドゲーム」
 
ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森ニフティクラウドアップデート in クラウドごった煮@青森
ニフティクラウドアップデート in クラウドごった煮@青森
 
仮想化技術の基本の基本
仮想化技術の基本の基本仮想化技術の基本の基本
仮想化技術の基本の基本
 
次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて次世代Webコンテナ Undertowについて
次世代Webコンテナ Undertowについて
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
 
03 pepper io_t_web
03 pepper io_t_web03 pepper io_t_web
03 pepper io_t_web
 
.NET Micro Framework の基礎
.NET Micro Framework の基礎.NET Micro Framework の基礎
.NET Micro Framework の基礎
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
デスクトップの仮想化とフレキシブルワークスタイル
デスクトップの仮想化とフレキシブルワークスタイルデスクトップの仮想化とフレキシブルワークスタイル
デスクトップの仮想化とフレキシブルワークスタイル
 
Secure element for IoT device
Secure element for IoT deviceSecure element for IoT device
Secure element for IoT device
 

More from aitc_jp

2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」
aitc_jp
 
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」
aitc_jp
 

More from aitc_jp (20)

ITフォーラム2024 AITCセッション(5)
ITフォーラム2024 AITCセッション(5)ITフォーラム2024 AITCセッション(5)
ITフォーラム2024 AITCセッション(5)
 
ITフォーラム2024 AITCセッション(4)
ITフォーラム2024 AITCセッション(4)ITフォーラム2024 AITCセッション(4)
ITフォーラム2024 AITCセッション(4)
 
ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(3)ITフォーラム2024 AITCセッション(3)
ITフォーラム2024 AITCセッション(3)
 
ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション(2)ITフォーラム2024 AITCセッション(2)
ITフォーラム2024 AITCセッション(2)
 
ITフォーラム2024 AITCセッション
ITフォーラム2024  AITCセッションITフォーラム2024  AITCセッション
ITフォーラム2024 AITCセッション
 
2)AIを活用したウェルビーイングを測定
2)AIを活用したウェルビーイングを測定2)AIを活用したウェルビーイングを測定
2)AIを活用したウェルビーイングを測定
 
TForum2023_AITC_2.pdf
TForum2023_AITC_2.pdfTForum2023_AITC_2.pdf
TForum2023_AITC_2.pdf
 
2)AIを活用したウェルビーイングを測定
2)AIを活用したウェルビーイングを測定2)AIを活用したウェルビーイングを測定
2)AIを活用したウェルビーイングを測定
 
5)パネルディスカッション:『空気を読む家』×ウェルビーイング/メタバース・Web3
5)パネルディスカッション:『空気を読む家』×ウェルビーイング/メタバース・Web35)パネルディスカッション:『空気を読む家』×ウェルビーイング/メタバース・Web3
5)パネルディスカッション:『空気を読む家』×ウェルビーイング/メタバース・Web3
 
4)技術視点でウェルビーイングを考える
4)技術視点でウェルビーイングを考える4)技術視点でウェルビーイングを考える
4)技術視点でウェルビーイングを考える
 
3-2)『空気を読む家』とメタバース駆動開発構想
3-2)『空気を読む家』とメタバース駆動開発構想3-2)『空気を読む家』とメタバース駆動開発構想
3-2)『空気を読む家』とメタバース駆動開発構想
 
3-1)『空気を読む家』とメタバース駆動開発構想 空間OS モノと社会をつなげる
3-1)『空気を読む家』とメタバース駆動開発構想   空間OS モノと社会をつなげる3-1)『空気を読む家』とメタバース駆動開発構想   空間OS モノと社会をつなげる
3-1)『空気を読む家』とメタバース駆動開発構想 空間OS モノと社会をつなげる
 
1)空気を読む家』のこれまでの取り組み
1)空気を読む家』のこれまでの取り組み1)空気を読む家』のこれまでの取り組み
1)空気を読む家』のこれまでの取り組み
 
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション2 「空間OSと空気を読む家の実証」
 
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」
2022/07/22 AITC 第4回オープンラボ「メタバース応用編~空間OSのこれまでとこれから~」セッション1 「空間OSとメタバース」
 
2022/04/20 AITCオープンラボ第2回「田園都市国家構想とデジタル政策について」
2022/04/20 AITCオープンラボ第2回「田園都市国家構想とデジタル政策について」2022/04/20 AITCオープンラボ第2回「田園都市国家構想とデジタル政策について」
2022/04/20 AITCオープンラボ第2回「田園都市国家構想とデジタル政策について」
 
2022/03/23 AITCオープンラボ第1回「メタ―バース入門」
2022/03/23 AITCオープンラボ第1回「メタ―バース入門」2022/03/23 AITCオープンラボ第1回「メタ―バース入門」
2022/03/23 AITCオープンラボ第1回「メタ―バース入門」
 
ITフォーラム2022 先端IT活用推進コミュニティ(3-1)
ITフォーラム2022 先端IT活用推進コミュニティ(3-1)ITフォーラム2022 先端IT活用推進コミュニティ(3-1)
ITフォーラム2022 先端IT活用推進コミュニティ(3-1)
 
ITフォーラム2022 先端IT活用推進コミュニティ(5-2)
ITフォーラム2022 先端IT活用推進コミュニティ(5-2)ITフォーラム2022 先端IT活用推進コミュニティ(5-2)
ITフォーラム2022 先端IT活用推進コミュニティ(5-2)
 
ITフォーラム2022 先端IT活用推進コミュニティ(5-1)
ITフォーラム2022 先端IT活用推進コミュニティ(5-1)ITフォーラム2022 先端IT活用推進コミュニティ(5-1)
ITフォーラム2022 先端IT活用推進コミュニティ(5-1)
 

2015/05/23 シニア技術者プログラム第3弾 「第二回IoT勉強会&交流会」 15:00~15:20 Arduinoで簡単回路作成実演

  • 1. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Arduinoで簡単回路作成実演 2015年05月23日 先端IT活用推進コンソーシアム クラウド・テクノロジー活用部会 リーダー アドソル日進株式会社 荒本道隆
  • 2. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • Arduinoの実演販売風 – ハンズオンは、デバイスの準備が大変 • 経験を積んだ人なら、見ただけで分かるはず – ライブコーディングならぬ、ライブ回路作成 このセッションについて 2
  • 3. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Arduino とは Arduino はスタンドアロン型のインタラクティブデバイス開発だけでなく、ホスト コンピュータ上のソフトウェア(例えば、Adobe Flash、Processing、Max/MSP、 Pure Data、SuperCollider)で制御することもできる。オープンソースハード ウェアでありハードウェア設計情報のEAGLEファイルは無料で公開されてお り、組み立て済みの基板を購入することもできるほか、誰でも自分の手で Arduino を組み立てることができる。 Arduinoプロジェクトは2005年にイタリアで 始まり、当時入手可能だった他の 学生向けのロボット製造用コントロールデバイスよりも安価なプロトタイピン グ・システムを製造することを目的にスタートし た。設計グループは多くの競 合製品よりも遥かに安価で簡単に使用できるプラットフォームの開発に成功し た。Arduinoボードは、2008年10月までに5万ユニット以上[3]が、2011年2月 で約15万台[4]販売されている。Arduinoプロジェクトは2006年度のアルス・エ レクトロニカ賞で名誉言及を受けている。[5][6][7] ウィキペデアより 3
  • 4. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Arduinoの特徴 • アナログ・デジタルの入出力が複数ある – そこにセンサやリレーを簡単に接続できる • 豊富なシールド – イーサネット, GPS, LCD, モーター制御 – http://ideahack.me/article/147 • センサ以外は、使い慣れた技術・用語が多い – USB, シリアル, HTTP, TCP/IP • 取り扱いが容易 – 不器用な私でも何とかなった • 無線シールドの半田付けに失敗し、3つほど捨てたけど – そんなに高くない • 壊してしまっても、大人なら平気 色々と追加すると、 Raspberry PI の方が 安上がりな場合も 4
  • 5. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 機器購入時の注意事項 • 無線LAN, Bluetoothは、技適が付いているか? – 海外の無線シールドには、技適が付いていない – 技適が付いていないものを使うデメリット • 発表時に、構成を詳しく言えない • 電波法違反=「1年以下の懲役又は100万円以下の罰金刑に処せ れる」 – 有線→無線変換が簡単 • 配置時 – 電源の確保 • スマホの充電で使うUSBアダプタが大活躍 • センサだけなら、電池でも結構持つ – 無線LANを電池で使いたいなら、省電力のものを選択 5 Amazon「PLANEX 充電万能 2ポートUSB充電器 ホワイト」 1,002-
  • 6. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. Arduinoの概要 デジタル入出力(プログラムで切り替え) アナログ入力(0~1023の範囲)電源 出力にすると 5V, 40mA 6
  • 7. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ブレッドボードの概要 +-だけ縦に つながっている 横に つながっている GND 5V 7 横に つながっている a~e, f~j
  • 8. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. プロトタイピング 開発時 テスト配置時 8
  • 9. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ドライバと開発環境をインストール • ダウンロード – http://arduino.cc/en/main/software • Windows – 「Windows ZIP file」をダウンロードして、解凍 – driversarduino.inf を右クリックして「インストール」 – Arduino を接続 – arduino.exe でIDEを起動 – メニューの「ツール」から • →「シリアルポート」→「COM3」(PCによって違う)を選択 • →「マイコンボード」→「Arduino Uno」を選択 • Mac – 「Mac OS X」をダウンロードして、解凍 – Arduino を接続 – arduino でIDEを起動 – メニューの「ツール」から • →「シリアルポート」→「/dev/tty.usbmodem3d11」を選択 • →「マイコンボード」→「Arduino Uno」を選択 9
  • 10. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 練習問題 • LEDを点ける – 状況が目視できるようになる 5VとGND を取り出す 5V側に抵抗 を入れる 足の長い方が+ 挿し易いように、カット済み LEDの仕様で 抵抗値は違う 抵抗無しだと 焼き切れる事も 10
  • 11. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ステップ1-1 • LEDを1秒ごとに点滅させる – デジタルの8番をLEDの+に接続 • さっきまでの5Vの線は外す デジタルの8番 11
  • 12. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • LEDを1秒ごとに点滅させる – 次にプログラムを作成 1.コンパイル 2.書き込み ちょっと発展形 ステップ1-2 おまけ 高速に点灯と消灯を 繰り返せば、明るさ を調節できる #define LED_OUTPUT 8 boolean led = false; void setup() { pinMode(LED_OUTPUT, OUTPUT); } void loop() { led = !led; // 反転 digitalWrite(LED_OUTPUT, led); delay(1000); } 書き込んだら、 自動で実行開始 12
  • 13. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ステップ2-1 • 照度センサの値をPCで参照 – 照度センサをアナログの0番に入力 • 足の短い方:5V • 足の長い方:GND→抵抗→、A0に渡す セ ン サ A0へ入力 13
  • 14. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ステップ2-2 • 照度センサの値をPCで参照 – プログラムを作成 – 実行後は、「ツール」→「シリアルモニタ」で確認 #define LED_OUTPUT 8 #define CDS_INPUT 0 boolean led = true; void setup() { Serial.begin(9600); } void loop() { int val = analogRead(CDS_INPUT); Serial.print ("CdS :"); Serial.print (val); Serial.println(); delay(1000); } 14
  • 15. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. ステップ3 • 「暗くなったら、LEDを灯す」を実現 – ステップ2のプログラムを改良 #define LED_OUTPUT 8 #define CDS_INPUT 0 boolean led = LOW; void setup() { pinMode(LED_OUTPUT, OUTPUT); // Serial.begin(9600); } void loop() { int val = analogRead(CDS_INPUT); if (val < 400){ // 暗ければ led = HIGH; // 点ける } else { // そうでなければ、 led = LOW; // 消す } digitalWrite(LED_OUTPUT, led); delay(100); // 反応の遅延を減らす } 閾値は、場所に合わせて調整 15
  • 16. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. その他のセンサ • 人感センサ – Panasonic AMN41121 • 温湿度センサ – DHT11 デジタルで、HIGH/LOWを読むだけ シリアル通信するので、 ちょっと大変 アナログに挿しても、楽しい 16
  • 17. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. • 仕様 – 人感センサの状態をLEDで表示 – ある程度暗くて、人が居たら、照明(別のLED)を点ける – 人が居なくなったら、しばらく(3秒)したら照明を消す – 照明を点けた/消した、をサーバに記録 – デジタル入力を使うには • pinMode(ピン番号, INPUT); • int a = digitalRead(ピン番号); 17 Panasonic AMN41121 人感センサを裏面から見た図 5V GNDGND デジタルの7番へ 100KΩ(茶黒黄金) 「人感照明」の作成例
  • 18. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 温度測定 • 温湿度センサ(DHT11)とはシリアル通信 – 専用のライブラリが公開されている • http://playground.arduino.cc/main/DHT11Lib – 安物(300円)なので精度と耐久度に不安 • AM2302という高級品(1,000円)もある 18 http://learning.grobotronics.com/2013/07/ measuring-humidity-with-dht11-sensor/
  • 19. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. HTTP通信に必要なもの • イーサネットシールドでHTTP通信 – Macアドレスをハードコード、LAN内で重複しないように – DNSを参照するのは手間なので、直IPアドレスで指定 – 別機器で無線LAN化(コンバータモードを使用) イーサネットシールド 無線LAN化機器 PLANEX MZK-PR150N 19
  • 20. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. HTTP通信(サンプル前半) #include <SPI.h> #include <Ethernet.h> #define LED_OUTPUT 8 #define CDS_INPUT 0 boolean led = LOW; byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // 自分のMACを決める IPAddress server(219,101,208,155); // 接続先のIPアドレス int port = 80; // 接続先のポート番号 void setup() { pinMode(LED_OUTPUT, OUTPUT); Serial.begin(9600); Serial.println("DHCP Request"); for(;Ethernet.begin(mac) == 0;) { // DHCPサーバからIPアドレスを取得 Serial.println("Failed to configure Ethernet using DHCP"); delay(10000); } Serial.println("START!"); } 20
  • 21. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. HTTP通信(サンプル後半) void loop(){ int val = analogRead(CDS_INPUT); boolean writeFlag = false; if (val < 400){ // 暗ければ if (led != HIGH){ led = HIGH; // 点ける writeFlag = true; } } else { // そうでなければ、 if (led != LOW){ led = LOW; // 消す writeFlag = true; } } if (writeFlag == true){ digitalWrite(LED_OUTPUT, led); Serial.print ("CdS :"); Serial.print (val); Serial.println(); EthernetClient client; if (client.connect(server, port)) { Serial.println("HTTP connected"); // Make a HTTP request: client.print("GET /arduino/ID/");// IDを識別できる名前に変更 client.print("?LED="); client.print(led); client.print(“&cds="); client.print(val); client.print(" HTTP/1.0"); client.println(); client.println(); delay(100); // 送信が終わるまで、ちょっと待つ client.stop(); } } delay(100); } 21
  • 22. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 注意事項 • 回路変更時には、必ず電源を抜く • 抵抗値の計算について – よく分からなければ、計算用サイトを利用 • http://diy.tommy-bright.com/ • Arduinoの電流量は貧弱 – 5V, 40mA • 比較例:単三電池は1.5V, 100mA – サーボモータなど大電流が必要な物は、別電源が必要 • 24時間運転する場合は – ちゃんとケースに入れましょう 22 http://d.hatena.ne.jp/koki- h/comment/20090407/1239090406
  • 23. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. 後片付け • ブレッドボード上に、最初の状態に戻す 23
  • 24. Copyright © 2014 Advanced IT Consortium to Evaluate, Apply and Drive All Rights Reserved. http://aitc.jp https://www.facebook.com/aitc.jp 最新情報は こちらをご参照ください ハルミン AITC非公式イメージキャラクター Arduino+Raspberry PI で、 なんでもできます センサって意外と単純