JavaScript と Arduino で
オリジナルデバイスを作ろう

html5j エンタメ技術部

第1回勉強会
話者

@y_iwanaga_
@quake_alert
テレビより早い
地震速報
30分後:

オリジナルデバイスを作れる状態

• 自分で回路を組み、
• 自分のコードで操る
Arduino の役割:1. 出力

電流を供給されて光る

電圧を発生させる
Arduino の役割:2. 入力

電圧を読み取る
0 V 〜 5V → 0 〜 1023 or 0, 1 に変換

センサーの
抵抗変化・電流発生
必要な材料

個別に買うのは面倒くさい。キットを買えばいい。
オススメ

Arduino エントリーキット
必要十分なパーツ。安い。
Amazon で注文し、2 日後に届いた。

(TechShare)
この後の流れ
•
•
•
•

Arduino 基礎知識
電子回路の組み方
自分のプログラムと連携させる手順
応用例
この後の流れ
•
•
•
•

Arduino 基礎知識
電子回路の組み方
自分のプログラムと連携させる手順
応用例
ここに USB ケーブルを挿して、PC とつなぐ
DIGITAL I/O
電圧をかける or 読み取る。
L, TX, RX インジケータ
GND
出力の終端をここにつなぐ。
Analog In
電圧値を細かく読み取りたいときはココに。
Power
シールドに電源を供給するときはココから。
Reset ボタン
初期状態に戻したいときにプッシュ!
この後の流れ
•
•
•
•

Arduino 基礎知識
電子回路の組み方
自分のプログラムと連携させる手順
応用例
Breadboard
Breadboard
例
鉄の掟
パーツの

許容電流 を守る。
過電流が流れて
こうなります。
電流は抵抗で調節すればいい。
使うべき抵抗値 =

[電源の電圧] − [パーツに加える電圧]
[流す電流]

5 V 固定
パーツの仕様書で調べる

⇒ パーツが決まれば、自動的に決まる。
この後の流れ
•
•
•
•

Arduino 基礎知識
電子回路の組み方
自分のプログラムと連携させる手順
応用例
概要

StandardFirmata

Firmata protocol
JavaScript ライブラリ

johnny-five
CylonJS
この後の流れ
•
•
•
•

Arduino 基礎知識
電子回路の組み方
自分のプログラムと連携させる手順
応用例
回路
コード
var j5
= require('johnny-five'),
arduino = new j5.Board();
arduino.on('ready', function(){
var led = new j5.Led({
pin:...
デモ
スイッチの ON/OFF を拾う
var j5 = require('johnny-five'),
arduino = new j5.Board();
arduino.on('ready', function(){
var button = new j5.Button({
pi...
デモ
LEDとスイッチの組み合わせ
デモ
面白そうなネタ
• IR レシーバ
– リモコン操作

• ガスセンサー
– おなら検知 ⇒ LED や Twitter で盛大に通知

• 土壌湿度センサー
– 水やり時期を教えてもらう
良い情報源
抵抗の見分け方
http://part.freelab.jp/s_regi_list.html

回路の作り方
http://arduino.cc/en/Tutorial
今回の詳細
コード・回路図はココからどうぞ。

github.com/

iwanaga/arduino-test
JavaScript と Arduino でオリジナルデバイスを作ろう
Upcoming SlideShare
Loading in...5
×

JavaScript と Arduino でオリジナルデバイスを作ろう

3,296

Published on

http://atnd.org/events/47308

Published in: Technology

JavaScript と Arduino でオリジナルデバイスを作ろう

  1. 1. JavaScript と Arduino で オリジナルデバイスを作ろう html5j エンタメ技術部 第1回勉強会
  2. 2. 話者 @y_iwanaga_ @quake_alert テレビより早い 地震速報
  3. 3. 30分後: オリジナルデバイスを作れる状態 • 自分で回路を組み、 • 自分のコードで操る
  4. 4. Arduino の役割:1. 出力 電流を供給されて光る 電圧を発生させる
  5. 5. Arduino の役割:2. 入力 電圧を読み取る 0 V 〜 5V → 0 〜 1023 or 0, 1 に変換 センサーの 抵抗変化・電流発生
  6. 6. 必要な材料 個別に買うのは面倒くさい。キットを買えばいい。
  7. 7. オススメ Arduino エントリーキット 必要十分なパーツ。安い。 Amazon で注文し、2 日後に届いた。 (TechShare)
  8. 8. この後の流れ • • • • Arduino 基礎知識 電子回路の組み方 自分のプログラムと連携させる手順 応用例
  9. 9. この後の流れ • • • • Arduino 基礎知識 電子回路の組み方 自分のプログラムと連携させる手順 応用例
  10. 10. ここに USB ケーブルを挿して、PC とつなぐ
  11. 11. DIGITAL I/O 電圧をかける or 読み取る。
  12. 12. L, TX, RX インジケータ
  13. 13. GND 出力の終端をここにつなぐ。
  14. 14. Analog In 電圧値を細かく読み取りたいときはココに。
  15. 15. Power シールドに電源を供給するときはココから。
  16. 16. Reset ボタン 初期状態に戻したいときにプッシュ!
  17. 17. この後の流れ • • • • Arduino 基礎知識 電子回路の組み方 自分のプログラムと連携させる手順 応用例
  18. 18. Breadboard
  19. 19. Breadboard
  20. 20.
  21. 21. 鉄の掟 パーツの 許容電流 を守る。
  22. 22. 過電流が流れて
  23. 23. こうなります。
  24. 24. 電流は抵抗で調節すればいい。 使うべき抵抗値 = [電源の電圧] − [パーツに加える電圧] [流す電流] 5 V 固定 パーツの仕様書で調べる ⇒ パーツが決まれば、自動的に決まる。
  25. 25. この後の流れ • • • • Arduino 基礎知識 電子回路の組み方 自分のプログラムと連携させる手順 応用例
  26. 26. 概要 StandardFirmata Firmata protocol
  27. 27. JavaScript ライブラリ johnny-five CylonJS
  28. 28. この後の流れ • • • • Arduino 基礎知識 電子回路の組み方 自分のプログラムと連携させる手順 応用例
  29. 29. 回路
  30. 30. コード var j5 = require('johnny-five'), arduino = new j5.Board(); arduino.on('ready', function(){ var led = new j5.Led({ pin: 13 }); led.strobe(200); });
  31. 31. デモ
  32. 32. スイッチの ON/OFF を拾う
  33. 33. var j5 = require('johnny-five'), arduino = new j5.Board(); arduino.on('ready', function(){ var button = new j5.Button({ pin: 2, holdtime: 2000 }); button.on('down', function(){ console.log('button - on'); }); button.on('up', function(){ console.log('button - released'); }); button.on('hold', function(){ console.log('button - hold'); }); });
  34. 34. デモ
  35. 35. LEDとスイッチの組み合わせ
  36. 36. デモ
  37. 37. 面白そうなネタ • IR レシーバ – リモコン操作 • ガスセンサー – おなら検知 ⇒ LED や Twitter で盛大に通知 • 土壌湿度センサー – 水やり時期を教えてもらう
  38. 38. 良い情報源 抵抗の見分け方 http://part.freelab.jp/s_regi_list.html 回路の作り方 http://arduino.cc/en/Tutorial
  39. 39. 今回の詳細 コード・回路図はココからどうぞ。 github.com/ iwanaga/arduino-test
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×