Aruduino の話 橋本 幸樹( koki-h ) http://d.hatena.ne.jp/koki-h @20090530 Kumamoto Programming Freaks
自己紹介 橋本 幸樹  (koki-h) koki hashimoto  blog  http://d.hatena.ne.jp/koki-h github  http://www.github.com/koki-h twitter http://www.twitter.com/koki_h mail  [email_address] 出生地は愛知県 中学・高校時代は宮崎県西臼杵郡高千穂町で過ごす 大学時代->去年まで福岡在住 大学では考古学専攻、その後業務システムプログラマ( VB 、 Java 、 etc )、転職後、 WEB プログラマ( HTML 、 CSS 、 Perl 、 etc ) 色々あって今は実家のある高千穂で暮らしています。
今日のお題 Arduino の紹介 Arduino での製作例 (エレドラもどき) Arduino お得情報 Make: Tokyo Meeting  レポート
Arduino って何?( 1 ) 読み方  「 Arduino をはじめよう」の奥付に書いてある 「 Arduino はオープンソースのプロトタイプツール、『 アルドゥイーノ 』と読みます。 フィジカルコンピューティングを実現するツール マウス・キーボード・ディスプレイ以外の PC- 人のインターフェイスを作ることができる。(※ Gainer などと同じ)
Arduino って何?( 2 ) かんたんに使えるマイコンボード 書き込み機やアセンブラの知識は不要。許容電圧などをあんまり考えなくていい。 ラピッドプロトタイピングツール ブレッドボードなどと組み合わせることで、すばやく電子回路のプロトタイプを作って回路が実現できるかどうかを検証できる。
Arduino で何が作れる? 自動で LED ポワンポワン PC につないで Arduino につないだツマミを回す or スイッチを押すと PC の画面が変化するようなもの PC から操作できるハードウェア(マウスクリック or キーダウンでモーター駆動、 LED 点滅) その他可能性は無限大 今日はエレドラもどきを作ります
Arduino の開発環境(ハードウェア)( 1 ) デジタル IO ピン デジタル信号の入出力ができる このピンに電気を流すと ON 、とめると OFF という情報が Arduino の CPU に送られる 逆にこのピンに ON 、 OFF の電気を流すこともできる アナログ IN ピン アナログの信号を入力できる このピンに電気を流すとその電圧が Arduino の CPU に 0 ~ 1023 の値として送られる
Arduino の開発環境(ハードウェア)( 2 ) アナログ OUT ピン アナログ信号を出力できる プログラムで指定することにより、デジタル IO ピンのうちの何本か(機種によって違う)をアナログ OUT に使うことができる。 プログラムからの命令により、このピンに電圧を掛けることができる 電圧の高さは 0 ~ 255 の値で指定する  シリアルポート PC と通信できる プログラムの中で Serial オブジェクトを使うことによって PC と通信することが可能 普通のシリアル通信なので PC 側では色々なプログラミング言語から専用のライブラリなしで Arduino と通信を行うことが可能。 プログラムの書き込みにも使用する
Arduino の開発環境(ハードウェア)( 3 ) ブレッドボード 電子部品やマイコンなどをボードの表面に差し込むだけで電子回路が作れてしまうスグレモノ。 色々な種類が販売されている。
Arduino の開発環境(ソフトウェア) 専用 IDE エディタ、コンパイラ、書き込み用プログラムが統合されていて、このソフトウェアだけで Arduino 上で動くプログラムを開発することが可能。 言語の構文は C 言語(文字列を配列として使う、ポインタがある)と Java (オブジェクトがある)が混ざったような感じ。 クラスは作れない。( C++ でライブラリを作成し、その中で定義することが出きる模様) Linux,Mac,Windows など、さまざまなプラットフォームで動く( Java ベースなので)
色々な Arduino ( 1 ) Arduino Duemilanove 「読めん。」と言ってボケるのがお約束。 写真をクリックで音声を再生 -> 一番普通の Arduino 。入門者向け。
色々な Arduino ( 2 ) Arduino Nano 小さい Arduino 。 ブレッドボードに挿せる。 性能は Arduino Duemilanove と同じ。 値段がちょっと高い。
色々な Arduino ( 3 ) Arduino Mega ピンの数や使えるメモリの容量を増強したタイプ 値段も性能相応に高い。
色々な Arduino ( 4 ) LilyPad Arduino 導電糸で縫いつけて使う Arduino 。 電極が花のように配置されている。 LilyPad  専用の部品も多数販売されている。 開発するためには別売りの USB インターフェイスが必要
色々な Arduino ( 5 ) Arduino Pro / Arduino Pro Mini 比較的安価な互換機 他のものへの組み込み向け 開発するためには別売りの USB インターフェイスが必要
色々な Arduino ( 6 ) Arduino Board - Serial Interface USB- シリアル変換機能を取り払ったもの。その分安価かつ簡単に作れる。
色々な Arduino ( 7 ) その他互換機が多数発売されている。 どんなものがあるかは参考文献や入手先を参照のこと。 シールド Arduino の機能を拡張する部品 Motor Shield ( モーターを駆動する ) Ethernet Sheld ( Ethernet に接続する) Xbee Shield (無線で他の機器と通信する)  etc.. 回路図や部品リストが公開されているのでその気になれば誰でも作れる。
Arduino でエレドラもどきを作ってみた (ele_drumuino.rb) ドラムパッドをたたくと PC からドラムの音が出ます。 たたくタイミングにあわせて LED がチカチカします。 ソースコードは github で公開されています。 http://github.com/koki-h/ele_drumuino.rb 遊ぶためには Ruby が必要です。 Windows でしか動きません。
ele_drumuino.rb の作り方 (1) ドラムパッドを作る ※ 詳しい作り方は github にあがっている README を見てください。
ele_drumuino.rb の作り方 (2) イルミネーションを作る 赤には抵抗を 2 個、青、緑には 1 個つける。 LED のプラスマイナスの向きに注意!
ele_drumuino.rb の作り方 (3) Arduino とドラムパッドとイルミネーションをつなぐ
ele_drumuino.rb の作り方 (4) プログラムのアップロード ちなみに arduino 用のプログラムを「スケッチ」と言います IDE を起動して File->Scketchbook->Open  で  small_val_nosend.pde を開く File->Upload to I/O Board でスケッチをコンパイル&アップロード シリアルポートとターゲットとなる Arduino の種類を正しく設定しないとエラーになったり動かなかったりします。 書籍、 Arduino 公式サイトや販売店のサイトで確認してください
ele_drumuino.rb で遊ぼう まずは普通に コマンドプロンプトを開いてソースフォルダへ移動 > ruby main.rb 勝手にバスドラやスネアがなります。 リズムパターンを変える > ruby main.rb pattern\irregular.rb 5 回に 1 回バスドラ(本当にやると難しい) ピアノによるベース音 他にもパターンがあるので変えて遊びましょう。
パターンファイルのソースコード count はたたかれたのが今何回目かを覚えている変数 これを4や8で割った剰余をチェックすることによってバスドラやスネアの音を出すかどうか判断している。 このような感じでプログラムすることによって色々なリズムパターンが作れる。
ele_drumuino.rb はどのような仕組みで動いているのか
ele_drumuino.rb 本体のソースコード Arduino 側 ノイズの低減 センサから来た値を MIDI で扱える値にする Ruby 側 パターンファイルを eval で解釈 lambda を使ったコールバック I/O の抽象化(シリアルがなくても動かせる)
Arduino の入手先(おすすめ) スイッチサイエンス ( http://www.switch-science.com/ ) Amazon アカウントからも買える 送料が全国一律 180 円。 3000 円以上買えば送料無料。 納品がとても早い 共立エレショップ ( http://eleshop.jp ) Arduino 以外の普通の部品(抵抗・コンデンサ・ LED 等)もたくさん揃っている 送料も安め。たいていの場合、全国一律 380 円。 7500 円以上買えば送料無料。 ※ 執筆時( 2009 年 5 月)現在の情報です。
Arduino の入手先(その他) メカロボショップ ( http://www.mecharoboshop.com/ ) ストロベリーリナックス ( http://strawberry-linux.com/ ) Sparkfun Electronics (海外)  ( http://www.sparkfun.com/ ) スイッチサイエンスさんに頼めば取り寄せてくれるらしい。 納品までに時間がかかるが安い。 品揃えが豊富 他にも国内外に多数の取扱店 ※ 執筆時( 2009 年 5 月)現在の情報です。
参考になる本、 WEB サイト( 1 ) Arduino って何?どんなことができるの? Arduino をはじめよう Massimo Banzi 著、船田 巧訳 ISBN : 978-4-87311-398-2 これ一冊で基本的なやり方はつかめる スタパ齋藤の「週刊スタパトロニクス mobile 」  Arduino でマイコンしよう !!  http://k-tai.impress.co.jp/cda/article/stapa/40638.html もっと使うゼ !! Arduino!! http://k-tai.impress.co.jp/cda/article/stapa/40742.html 2009 年、 Arduino の現在  http://k-tai.impress.co.jp/cda/article/stapa/45465.html 雑誌連載で有名な人。 Arduino の楽しさがよくわかる。
参考になる本、 WEB サイト( 2 ) もっと詳しく Arduino のことを知りたい Arduino 公式サイト(英語) http://www.arduino.cc/ ArduinoDuemilanove –  スイッチサイエンス –  Trac  http://www.switch-science.com/trac/wiki/ArduinoDuemilanove 公式サイト ArduinoDuemilanove の詳しい仕様の日本語訳 Arduino 日本語リファレンス http://www.musashinodenpa.com/arduino/ref/ 公式サイトにある言語リファレンスの日本語訳(「 Arduino をはじめよう」にも収録)
参考になる本、 WEB サイト( 3 ) Arduino で作られたものについて知りたい MAKE: Japan: Arduino Archives: http://jp.makezine.com/blog/arduino/index.html 武蔵野電波のブレッドボーダーズ http://pc.watch.impress.co.jp/docs/article/backno/musashino.htm スタパ齋藤さん、船田戦闘機さんなど、「濃い」人たちによる、電子工作入門者向けの記事 Hatena::Group::Arduino http://arduino.g.hatena.ne.jp/ まだこれから
http://www.oreilly.co.jp/mtm/03
Make: Tokyo Meeting 03 オライリー社から出版されている雑誌「 Make: 」のイベント 異なるジャンルの「 Maker 」の発表の場 Maker 同士が交流できる場 ※ 公式サイト「企画趣旨」を要約    http://www.oreilly.co.jp/mtm/03
Make: Tokyo Meeting 03 先週、 5/23 、 5/24 に東京、八王子のデジタルハリウッド大学八王子スタジオにて開催 (第 1 回は 2008 年 4 月、第 2 回は 2008 年 11 月) 来場者 2000 人以上(公式発表はまだ) さまざまなジャンル(電子工作・機械工作・手芸・コンピュータ・科学)の「 Maker 」たちが一堂に集結。 まるで「大人の文化祭」。会場はすごい熱気。興奮と感動。 出展者に質問すると詳しい説明が返ってくる。 次回は今年秋に開催?
COPY RIGHT Arduino の写真、「 Arduino Duemilanove 」の音声 http://www.arduino.cc Make: Tokyo Meeting  のロゴ、写真 http://jp.makezine.com その他(ブレッドボードとか) 橋本が撮影。
ご清聴ありがとうございました

20090530熊本プログラミングフリークス

  • 1.
    Aruduino の話 橋本 幸樹(koki-h ) http://d.hatena.ne.jp/koki-h @20090530 Kumamoto Programming Freaks
  • 2.
    自己紹介 橋本 幸樹 (koki-h) koki hashimoto blog http://d.hatena.ne.jp/koki-h github http://www.github.com/koki-h twitter http://www.twitter.com/koki_h mail [email_address] 出生地は愛知県 中学・高校時代は宮崎県西臼杵郡高千穂町で過ごす 大学時代->去年まで福岡在住 大学では考古学専攻、その後業務システムプログラマ( VB 、 Java 、 etc )、転職後、 WEB プログラマ( HTML 、 CSS 、 Perl 、 etc ) 色々あって今は実家のある高千穂で暮らしています。
  • 3.
    今日のお題 Arduino の紹介Arduino での製作例 (エレドラもどき) Arduino お得情報 Make: Tokyo Meeting レポート
  • 4.
    Arduino って何?( 1) 読み方  「 Arduino をはじめよう」の奥付に書いてある 「 Arduino はオープンソースのプロトタイプツール、『 アルドゥイーノ 』と読みます。 フィジカルコンピューティングを実現するツール マウス・キーボード・ディスプレイ以外の PC- 人のインターフェイスを作ることができる。(※ Gainer などと同じ)
  • 5.
    Arduino って何?( 2) かんたんに使えるマイコンボード 書き込み機やアセンブラの知識は不要。許容電圧などをあんまり考えなくていい。 ラピッドプロトタイピングツール ブレッドボードなどと組み合わせることで、すばやく電子回路のプロトタイプを作って回路が実現できるかどうかを検証できる。
  • 6.
    Arduino で何が作れる? 自動でLED ポワンポワン PC につないで Arduino につないだツマミを回す or スイッチを押すと PC の画面が変化するようなもの PC から操作できるハードウェア(マウスクリック or キーダウンでモーター駆動、 LED 点滅) その他可能性は無限大 今日はエレドラもどきを作ります
  • 7.
    Arduino の開発環境(ハードウェア)( 1) デジタル IO ピン デジタル信号の入出力ができる このピンに電気を流すと ON 、とめると OFF という情報が Arduino の CPU に送られる 逆にこのピンに ON 、 OFF の電気を流すこともできる アナログ IN ピン アナログの信号を入力できる このピンに電気を流すとその電圧が Arduino の CPU に 0 ~ 1023 の値として送られる
  • 8.
    Arduino の開発環境(ハードウェア)( 2) アナログ OUT ピン アナログ信号を出力できる プログラムで指定することにより、デジタル IO ピンのうちの何本か(機種によって違う)をアナログ OUT に使うことができる。 プログラムからの命令により、このピンに電圧を掛けることができる 電圧の高さは 0 ~ 255 の値で指定する シリアルポート PC と通信できる プログラムの中で Serial オブジェクトを使うことによって PC と通信することが可能 普通のシリアル通信なので PC 側では色々なプログラミング言語から専用のライブラリなしで Arduino と通信を行うことが可能。 プログラムの書き込みにも使用する
  • 9.
    Arduino の開発環境(ハードウェア)( 3) ブレッドボード 電子部品やマイコンなどをボードの表面に差し込むだけで電子回路が作れてしまうスグレモノ。 色々な種類が販売されている。
  • 10.
    Arduino の開発環境(ソフトウェア) 専用IDE エディタ、コンパイラ、書き込み用プログラムが統合されていて、このソフトウェアだけで Arduino 上で動くプログラムを開発することが可能。 言語の構文は C 言語(文字列を配列として使う、ポインタがある)と Java (オブジェクトがある)が混ざったような感じ。 クラスは作れない。( C++ でライブラリを作成し、その中で定義することが出きる模様) Linux,Mac,Windows など、さまざまなプラットフォームで動く( Java ベースなので)
  • 11.
    色々な Arduino (1 ) Arduino Duemilanove 「読めん。」と言ってボケるのがお約束。 写真をクリックで音声を再生 -> 一番普通の Arduino 。入門者向け。
  • 12.
    色々な Arduino (2 ) Arduino Nano 小さい Arduino 。 ブレッドボードに挿せる。 性能は Arduino Duemilanove と同じ。 値段がちょっと高い。
  • 13.
    色々な Arduino (3 ) Arduino Mega ピンの数や使えるメモリの容量を増強したタイプ 値段も性能相応に高い。
  • 14.
    色々な Arduino (4 ) LilyPad Arduino 導電糸で縫いつけて使う Arduino 。 電極が花のように配置されている。 LilyPad 専用の部品も多数販売されている。 開発するためには別売りの USB インターフェイスが必要
  • 15.
    色々な Arduino (5 ) Arduino Pro / Arduino Pro Mini 比較的安価な互換機 他のものへの組み込み向け 開発するためには別売りの USB インターフェイスが必要
  • 16.
    色々な Arduino (6 ) Arduino Board - Serial Interface USB- シリアル変換機能を取り払ったもの。その分安価かつ簡単に作れる。
  • 17.
    色々な Arduino (7 ) その他互換機が多数発売されている。 どんなものがあるかは参考文献や入手先を参照のこと。 シールド Arduino の機能を拡張する部品 Motor Shield ( モーターを駆動する ) Ethernet Sheld ( Ethernet に接続する) Xbee Shield (無線で他の機器と通信する) etc.. 回路図や部品リストが公開されているのでその気になれば誰でも作れる。
  • 18.
    Arduino でエレドラもどきを作ってみた (ele_drumuino.rb)ドラムパッドをたたくと PC からドラムの音が出ます。 たたくタイミングにあわせて LED がチカチカします。 ソースコードは github で公開されています。 http://github.com/koki-h/ele_drumuino.rb 遊ぶためには Ruby が必要です。 Windows でしか動きません。
  • 19.
    ele_drumuino.rb の作り方 (1)ドラムパッドを作る ※ 詳しい作り方は github にあがっている README を見てください。
  • 20.
    ele_drumuino.rb の作り方 (2)イルミネーションを作る 赤には抵抗を 2 個、青、緑には 1 個つける。 LED のプラスマイナスの向きに注意!
  • 21.
    ele_drumuino.rb の作り方 (3)Arduino とドラムパッドとイルミネーションをつなぐ
  • 22.
    ele_drumuino.rb の作り方 (4)プログラムのアップロード ちなみに arduino 用のプログラムを「スケッチ」と言います IDE を起動して File->Scketchbook->Open で small_val_nosend.pde を開く File->Upload to I/O Board でスケッチをコンパイル&アップロード シリアルポートとターゲットとなる Arduino の種類を正しく設定しないとエラーになったり動かなかったりします。 書籍、 Arduino 公式サイトや販売店のサイトで確認してください
  • 23.
    ele_drumuino.rb で遊ぼう まずは普通にコマンドプロンプトを開いてソースフォルダへ移動 > ruby main.rb 勝手にバスドラやスネアがなります。 リズムパターンを変える > ruby main.rb pattern\irregular.rb 5 回に 1 回バスドラ(本当にやると難しい) ピアノによるベース音 他にもパターンがあるので変えて遊びましょう。
  • 24.
    パターンファイルのソースコード count はたたかれたのが今何回目かを覚えている変数これを4や8で割った剰余をチェックすることによってバスドラやスネアの音を出すかどうか判断している。 このような感じでプログラムすることによって色々なリズムパターンが作れる。
  • 25.
  • 26.
    ele_drumuino.rb 本体のソースコード Arduino側 ノイズの低減 センサから来た値を MIDI で扱える値にする Ruby 側 パターンファイルを eval で解釈 lambda を使ったコールバック I/O の抽象化(シリアルがなくても動かせる)
  • 27.
    Arduino の入手先(おすすめ) スイッチサイエンス( http://www.switch-science.com/ ) Amazon アカウントからも買える 送料が全国一律 180 円。 3000 円以上買えば送料無料。 納品がとても早い 共立エレショップ ( http://eleshop.jp ) Arduino 以外の普通の部品(抵抗・コンデンサ・ LED 等)もたくさん揃っている 送料も安め。たいていの場合、全国一律 380 円。 7500 円以上買えば送料無料。 ※ 執筆時( 2009 年 5 月)現在の情報です。
  • 28.
    Arduino の入手先(その他) メカロボショップ( http://www.mecharoboshop.com/ ) ストロベリーリナックス ( http://strawberry-linux.com/ ) Sparkfun Electronics (海外) ( http://www.sparkfun.com/ ) スイッチサイエンスさんに頼めば取り寄せてくれるらしい。 納品までに時間がかかるが安い。 品揃えが豊富 他にも国内外に多数の取扱店 ※ 執筆時( 2009 年 5 月)現在の情報です。
  • 29.
    参考になる本、 WEB サイト(1 ) Arduino って何?どんなことができるの? Arduino をはじめよう Massimo Banzi 著、船田 巧訳 ISBN : 978-4-87311-398-2 これ一冊で基本的なやり方はつかめる スタパ齋藤の「週刊スタパトロニクス mobile 」 Arduino でマイコンしよう !! http://k-tai.impress.co.jp/cda/article/stapa/40638.html もっと使うゼ !! Arduino!! http://k-tai.impress.co.jp/cda/article/stapa/40742.html 2009 年、 Arduino の現在 http://k-tai.impress.co.jp/cda/article/stapa/45465.html 雑誌連載で有名な人。 Arduino の楽しさがよくわかる。
  • 30.
    参考になる本、 WEB サイト(2 ) もっと詳しく Arduino のことを知りたい Arduino 公式サイト(英語) http://www.arduino.cc/ ArduinoDuemilanove – スイッチサイエンス – Trac http://www.switch-science.com/trac/wiki/ArduinoDuemilanove 公式サイト ArduinoDuemilanove の詳しい仕様の日本語訳 Arduino 日本語リファレンス http://www.musashinodenpa.com/arduino/ref/ 公式サイトにある言語リファレンスの日本語訳(「 Arduino をはじめよう」にも収録)
  • 31.
    参考になる本、 WEB サイト(3 ) Arduino で作られたものについて知りたい MAKE: Japan: Arduino Archives: http://jp.makezine.com/blog/arduino/index.html 武蔵野電波のブレッドボーダーズ http://pc.watch.impress.co.jp/docs/article/backno/musashino.htm スタパ齋藤さん、船田戦闘機さんなど、「濃い」人たちによる、電子工作入門者向けの記事 Hatena::Group::Arduino http://arduino.g.hatena.ne.jp/ まだこれから
  • 32.
  • 33.
    Make: Tokyo Meeting03 オライリー社から出版されている雑誌「 Make: 」のイベント 異なるジャンルの「 Maker 」の発表の場 Maker 同士が交流できる場 ※ 公式サイト「企画趣旨」を要約    http://www.oreilly.co.jp/mtm/03
  • 34.
    Make: Tokyo Meeting03 先週、 5/23 、 5/24 に東京、八王子のデジタルハリウッド大学八王子スタジオにて開催 (第 1 回は 2008 年 4 月、第 2 回は 2008 年 11 月) 来場者 2000 人以上(公式発表はまだ) さまざまなジャンル(電子工作・機械工作・手芸・コンピュータ・科学)の「 Maker 」たちが一堂に集結。 まるで「大人の文化祭」。会場はすごい熱気。興奮と感動。 出展者に質問すると詳しい説明が返ってくる。 次回は今年秋に開催?
  • 35.
    COPY RIGHT Arduinoの写真、「 Arduino Duemilanove 」の音声 http://www.arduino.cc Make: Tokyo Meeting のロゴ、写真 http://jp.makezine.com その他(ブレッドボードとか) 橋本が撮影。
  • 36.

Editor's Notes

  • #33 時間が余ったらMake: Tokyo Meetingの写真を見せる。
  • #34 来場者数2000人以上。