47
目指せMaker! 2/27(木)19:30~ @インターネットイニシアティブ 17階 大会議室 ~ Web技術者のためのArduino入門 ~ html5j エンタメ技術部 第1回勉強会 初心者がArduinoに チャレンジしてみた 豊田陽介(@youtoy) 1439日日曜日

「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

  • Upload
    yo-to

  • View
    1.936

  • Download
    0

Embed Size (px)

DESCRIPTION

2014/2/27 に開催した「html5j エンタメ技術部」の「第1回勉強会(http://atnd.org/events/47308)」の資料です。 セッション1で使ったスライドです。 ※ 公開用に一部の画像の差し替えや、口頭で補足した内容のテキストの追加を行っています。

Citation preview

Page 1: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

目指せMaker!

2/27(木)19:30~@インターネットイニシアティブ 17階 大会議室

~ Web技術者のためのArduino入門 ~

html5j エンタメ技術部 第1回勉強会

初心者がArduinoにチャレンジしてみた

豊田陽介(@youtoy)

14年3月9日日曜日

Page 2: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

Arduino?公式サイトによると・・・(http://www.arduino.cc/)

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments.

14年3月9日日曜日

Page 3: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

Arduino?こんな感じ?オープンソースのプロトタイピングプラットフォーム

簡単に扱えるハードウェアとソフトウェアのセット

アーティスト、デザイナー、趣味で利用する方など、どんな方でもインタラクティブなものがつくれますよ~♪

14年3月9日日曜日

Page 4: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

Arduino?ハードウェアの試作が簡単に!LEDを制御してみたり

温度・音・光センサーの入力を利用したハードウェアを作ったり

Perfumeの紅白歌合戦の衣装にも使われたとか・・・(http://www.daito.ws/work/nhk_kouhaku_63.html#3)

14年3月9日日曜日

Page 5: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

Arduino?Arduioに関するTEDトーク

マッシモ・バンジ「想像力をオープンソース化するArdurino」http://www.ted.com/talks/massimo_banzi_how_arduino_is_open_sourcing_imagination.html

14年3月9日日曜日

Page 6: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

何が必要?PC(Windows, Mac, Linux)

ハードウェア

Arduino基板

USBケーブル

ソフトウェア

Arduino IDE(オープンソース)

LEDを光らせるだけならこれだけ

14年3月9日日曜日

Page 7: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDを光らせてみる「エルチカ」 ⇒ プログラミングで言う  「Hello World !」

14年3月9日日曜日

Page 8: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDを光らせてみる ~ おおまかな手順1. PCとArduinoをUSBケーブルで接続

2. Arduino IDE を起動

3. プログラムを書く

4. 実行

14年3月9日日曜日

Page 9: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDを光らせてみる ~ プログラムを書いてみる

// 最初に1回だけ処理される部分

void setup() {

 pinMode(13, OUTPUT); // 13番ピンを出力に設定}

// 繰り返し実行される部分void loop() {

digitalWrite(13, HIGH); // LEDを点ける delay(1000); // 1秒待つ digitalWrite(13, LOW); // LEDを消す delay(1000); // 1秒待つ

}

14年3月9日日曜日

Page 10: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

ここに注目!!

実際に見てみましょう!!

14年3月9日日曜日

Page 11: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!

【Webカメラを使ったライブデモ】映像内容の補足: USBケーブルでPCとArduino 基板をつなぐと、つないだとたん に基板上のLEDが点滅

点滅!

14年3月9日日曜日

Page 12: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

PCにつないだだけで、いきなり光ってる!?

14年3月9日日曜日

Page 13: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

Arduinoの起動と終了送り込んだプログラムは、電源が入ると実行されます。電源を抜いても残ったままです。(出荷時にはエルチカのプログラムがすでに 入っていたり・・・)= つないだだけで、以前に送り込んだ  プログラムがいきなり実行されたりします。

終了する、という操作はないため、終了させたいときは電源を切ればOKです。

14年3月9日日曜日

Page 14: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

プログラムを変更してみる

例えば、時間を 1/10 にしてみたり

 ~ プログラムが実際に送り   込まれているかを確認する

14年3月9日日曜日

Page 15: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDを光らせてみる  ~ 点滅速度を変える// 最初に1回だけ処理される部分

void setup() {

 pinMode(13, OUTPUT); // 13番ピンを出力に設定}

// 繰り返し実行される部分void loop() {

digitalWrite(13, HIGH); // LEDを点ける delay(1000); // 1秒待つ digitalWrite(13, LOW); // LEDを消す delay(1000); // 1秒待つ

}

例えば「 delay(100); 」とかにしてみる。=「0.1秒待つ」処理になる

14年3月9日日曜日

Page 16: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!

【Webカメラを使ったライブデモ】映像内容の補足: 変更後のプログラムを送り込む と、基板上のLEDの点滅速度が 速くなる

点滅!

14年3月9日日曜日

Page 17: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

いろんな部品を試してみる!

14年3月9日日曜日

Page 18: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

でも何を買えば・・・

14年3月9日日曜日

Page 19: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

Arduinoの入手購入はオンラインストアや秋葉原などにある電子部品を扱う店で

自分の場合はAmazonで購入

自分で部品を選んで買っても良いですが、セット品を買ってしまったほうが楽かも⇒ 「Arduinoをはじめようキット」とか、「Arduinoエントリーキット」  とか(価格は4200円くらい)

14年3月9日日曜日

Page 20: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

ArduinoのキットArduino基板(Arduino Uno R3)、USBケーブル、ブレッドボード、ジャンパワイヤー、抵抗器、センサー等がセットに

書籍「Arduinoをはじめよう 第2版(オライリー・ジャパン)」などに対応したセット品。⇒ もちろん、ネットで情報を探しつつ試してみてもOKです!

14年3月9日日曜日

Page 21: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

基板の種類や、部品の基礎知識等は、後のセッションにて

セッション2:「Arduino応用編」http://www.slideshare.net/tomowatanabe/arduino-31704976

セッション3:「JavaScript と Arduino でオリジナルデバイスを作ろう」http://www.slideshare.net/YoshihiroIwanaga/javascript-arduino

【公開資料へのリンク】

14年3月9日日曜日

Page 22: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

とりあえず試してみる~ その2 ~

14年3月9日日曜日

Page 23: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

この後は、「Arduinoエントリーキット」に入っている部品を使って

進めていきます

14年3月9日日曜日

Page 24: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

部品をつなぐ

14年3月9日日曜日

Page 25: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】デモで提示した映像内容の補足: 右の画像のとおりに 部品を接続

14年3月9日日曜日

Page 26: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDを光らせてみる// 最初に1回だけ処理される部分

const int LED = 9; // 9番ピンにLEDをつないでいる

void setup() {

 pinMode(LED, OUTPUT); // LEDに出力}

// 繰り返し実行される部分void loop() {

digitalWrite(LED, HIGH); // LEDを点ける delay(1000); // 1秒待つ digitalWrite(LED, LOW); // LEDを消す delay(1000); // 1秒待つ

}

14年3月9日日曜日

Page 27: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】デモで提示した映像内容の補足: 基板上のLEDでなく、 ブレッドボード上に接続 されたLEDが点滅

点滅!

14年3月9日日曜日

Page 28: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

さらに試してみる~ デジタルでアナログ ~

14年3月9日日曜日

Page 29: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

先ほどのプログラムの遅延をかなり小さくする

&割合を変えてみる

14年3月9日日曜日

Page 30: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

もう少し簡単な方法が!

14年3月9日日曜日

Page 31: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDの明るさ、モーターの回転数等を制御する「analogWrite」

14年3月9日日曜日

Page 32: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDを光らせてみる// 最初に1回だけ処理される部分

const int LED = 9; // 9番ピンにLEDをつないでいる

void setup() {

 pinMode(LED, OUTPUT); // LEDに出力}

// 繰り返し実行される部分void loop() {

analogWrite(LED, 255); // 出力最大(値は 0~255)}

使えるピンが決まっているので注意!!

14年3月9日日曜日

Page 33: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】

デモで提示した映像内容の補足: ブレッドボード上に接続された LEDが明るく光る

光ったまま

14年3月9日日曜日

Page 34: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

LEDでフェードイン/アウト// 最初に1回だけ処理される部分

const int LED = 9; // 9番ピンにLEDをつないでいる

int i = 0;

void setup() {

pinMode(LED, OUTPUT); // LEDに出力

}

// 繰り返し実行される部分

void loop() {

for(i=0; i<255; i++) {

analogWrite(LED, i); // 出力を徐々に大きくしていく

delay(10); // 変化が目に見えるように遅延を加える

}

for(i=255; i>0; i--) {

analogWrite(LED, i); // 出力を徐々に小さくしていく

delay(10);

}

}

14年3月9日日曜日

Page 35: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】

 ブレッドボード上に接続された LEDがだんだんと明るくなり、 最大の明るさになった後、 今度はだんだんとLEDが暗く なる(これの繰り返し)

明るくなったり、暗くなったり(繰り返し)

デモで提示した映像内容の補足:

14年3月9日日曜日

Page 36: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

さらに試してみる~ センサを使う ~

14年3月9日日曜日

Page 37: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

部品をつなぐ

CdS(硫化カドミウム)セル⇒ 強い光があたるほど、抵抗の値が  小さくなる

14年3月9日日曜日

Page 38: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】デモで提示した映像内容の補足: 右の画像のとおりに 部品を接続

14年3月9日日曜日

Page 39: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

光量によってLEDの点滅スピードが変化const int LED = 13;

int val = 0; // センサからの値を格納する変数

void setup() {

pinMode(LED, OUTPUT); // LEDに出力

// アナログの入力は自動設定されるので、記載しない

}

void loop() {

val = analogRead(0); // センサの値を読み込む

digitalWrite(LED, HIGH); // LEDをつける

delay(val); // センサの入力値が大きいほど遅延が大きくなる

digitalWrite(LED, LOW); // LEDを消す

delay(val);

}

光が強い(=抵抗が小さい)

⇒ アナログ入力の電流が  大きくなる

⇒ 遅延が大きくなるので、  LEDがゆっくり点滅

⇒ 暗くなるとLEDの点滅が  早くなる

14年3月9日日曜日

Page 40: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】

 センサー付近を手で覆うと、 LEDの点滅速度が速くなり、 覆った手をセンサーから 離すと、LEDの点滅速度が ゆっくりになる

①ここを手で覆ったり、覆った手を離したりすると、

デモで提示した映像内容の補足:

②点滅する速度が速くなったり、ゆっくりになったり

14年3月9日日曜日

Page 41: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

さらに試す~ 音を鳴らしてみる ~

14年3月9日日曜日

Page 42: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

部品をつなぐ

ピエゾスピーカー

14年3月9日日曜日

Page 43: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に見てみましょう!!【Webカメラを使ったライブデモ】デモで提示した映像内容の補足: 右の画像のとおりに 部品を接続

14年3月9日日曜日

Page 44: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

音を鳴らすstatic int PIEZO = 12;

static long LENGTH = 300;

void setup() {

pinMode(12, OUTPUT); // 12番ピンを出力に設定

}

// 繰り返し実行される部分

void loop() {

tone(12, 262); // 音を鳴らす

delay(LENGTH);

tone(12, 294); // 音を鳴らす

delay(LENGTH);

。。(途中省略)。。

tone(12, 294, LENGTH*3); // 音を鳴らす

delay(2000); // 2秒待つ

}

14年3月9日日曜日

Page 45: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

実際に聞いてみましょう!!【ライブデモ】

デモで行った内容の補足: プログラムで書かれた ある メロディ が繰り返し再生 される

♪ ♩♫

14年3月9日日曜日

Page 46: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

リファレンス公式: Arduino - Reference  http://arduino.cc/en/Reference/HomePage

翻訳されたもの: Arduino 日本語リファレンス  http://www.musashinodenpa.com/arduino/ref/

14年3月9日日曜日

Page 47: 「目指せMaker!初心者がArduinoにチャレンジしてみた」〜【html5j エンタメ技術部】第1回勉強会 公開用

最後に様々な部品の組み合わせが可能センサーなどによる入力

音や光などの出力

PC上のメディアアート系のプログラムとの連携も可能

あなたも明日からMaker!?

14年3月9日日曜日