15

Click here to load reader

Start physical computing with Ruby + Arduino

  • Upload
    toyoshi

  • View
    8.796

  • Download
    1

Embed Size (px)

DESCRIPTION

名古屋Ruby会議01での「RubyとArduinoではじめるフィジカルコンピューティング」の発表資料。

Citation preview

Page 1: Start physical computing with Ruby + Arduino

RubyとArdui noで始めるフィジカルコンピューティング

CSNagoya 豊吉隆一郎

Page 2: Start physical computing with Ruby + Arduino

自己紹介● Toyoshi● http: //www. j amboree. j p/● CSNagoya所属● 趣味マラソン 年間1,000キロ以上

Page 3: Start physical computing with Ruby + Arduino

Ardui no(アルドゥイーノ)とはI /Oモジュールと開発環境一式のことPCから簡単にセンサやアクチュエータを操作できる基本はUSB+AVRマイコンオープンソースなので互換品もあるよ(オレデュイーノと呼ばれる)Makeとかで人気

Page 4: Start physical computing with Ruby + Arduino

どんなことができるのか胎児がおなかを蹴ったらTwi tterに投稿自動で植物に水をやる機械光の残像で表示する電光掲示板Web経由でラジコンを操作する

” ”やってみたいなが 簡単に できる!

Page 5: Start physical computing with Ruby + Arduino

準備(道具・ソフト)Ardui no Duemi l anove(基本のモジュール)さまざまなバリエーションがある

ソフトウェアArdui no I DE(Processi ng,wi ri ng)Pdui no(Max,Pure Data)RAD(Ruby Ardui no Devel opment)

お好みの電子部品

Page 6: Start physical computing with Ruby + Arduino

RADを使うとこんな風に書ける

class MySketch < ArduinoSketch output_pin 7, :as => :led def loop blink led, 500 endend

7番ピンにl edという名前をつけて、0.5秒ごとに点滅させる

Page 7: Start physical computing with Ruby + Arduino

LED点灯の応用デモ

資料注)マトリックスLEDが点灯し文字が表示される

Page 8: Start physical computing with Ruby + Arduino

もう少し複雑なデモはてなスターがついたらパトライト点灯

Add star

Hatena Web hook

si natradruby

Ardui no

パトライト点灯!

Gai ner

Page 9: Start physical computing with Ruby + Arduino

RubyとArdui noフィジカルコンピューティング

CSNagoya 豊吉隆一郎

とGai nerで始める

資料注)Ardui noが故障したため

Page 10: Start physical computing with Ruby + Arduino

デモ準備

Page 11: Start physical computing with Ruby + Arduino

デモ用URLhttp: //b.hatena.ne. j p/toyoshi /

>誰かがスターをつけると光ります>誰かがスターをつけると光ります>誰かがスターをつけると光ります

Page 12: Start physical computing with Ruby + Arduino

サーバのコードはこんな感じrequire 'rubygems'require 'sinatra'require 'drb/drb'

post '/' DRb.start_service $ts = DRbObject.new_with_uri('druby://localhost:12345') $ts.write(["add-star", param[:username])end

WebHookからポストがあったらdRubyに投げる   dRuby(ri nda)はi rbで動作している

注文が集中しています:http: //b.hatena.ne. j p/toyoshi /

Page 13: Start physical computing with Ruby + Arduino

Gai ner側のコードはこんな感じ$: << '.'require 'drb/drb'require 'funnel'include Funnel

DRb.start_service$ts = DRbObject.new_with_uri('druby://192.168.24.110:12345')gio = Gainer.new()loop {

p $ts.take(["take-test", nil])

gio.aout(0).value = 1sleep(5)gio.aout(0).value = 0

}

タプルスペース(ri nda)にtakeして取れたらアナログアウトに出力するだけ

注文が集中しています:http: //b.hatena.ne. j p/toyoshi /

Page 14: Start physical computing with Ruby + Arduino

まとめArdui noとRubyを使って簡単にフィジカルコンピューティングができることがわかった

Page 15: Start physical computing with Ruby + Arduino

ご清聴有難うございました。