• 検索結果がありません。

夏休み工作のためのフィジカルコンピューティング : 2.2 Arduino入門-15万台の販売実績を持つマイコンボード-

N/A
N/A
Protected

Academic year: 2021

シェア "夏休み工作のためのフィジカルコンピューティング : 2.2 Arduino入門-15万台の販売実績を持つマイコンボード-"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)夏休み工作 のための. 特集. フィジカルコンピューティング マイコン・ツールキット入門. 2.2 Arduino 入門 15 万台の販売実績を持つマイコンボード 第1部 夏休みに工作をしたい人たちへ愛をこめて. ■菅野 創(多摩美術大学). 概要  Arduino は柔軟で使いやすいハードウェアとソフ トウェアによって構成されたオープンソースのフィ ジカルコンピューティング,プロトタイピングのた めのプラットフォームで,アーティストやデザイナ ーや,ホビーでマイコンを使いたい人などインタラ クティブな環境に興味があるすべての人を対象とし . ています (http://arduino.cc/en/)  Arduino は 2011 年 2 月時点で,15 万台の販売. 図 -1 Arduino UNO. 実績があり世界中にたくさんのユーザがいます.目 的 に 応じ て使い 分 けるこ と の で きる さ ま ざま な. ており,たとえば何か実現したいことがあった場. Arduino ボードがあるだけでなく,シールドと呼ば. 合,検索エンジンで,そのキーワードと, 「Arduino」. れる機能を拡張するためのボードも多数開発されて. で検索すれば,大抵は有用な情報を得ることができ. います.. ます..  USB 接続でコンピュータと接続し,IDE(統合開.  ワークショップも世界各所で積極的に行われてお. 発環境)をコンピュータにインストールすることで. り,日本でもパーツショップや学校機関が開催して. 独自の言語によってプログラムを記述し,upload. います.. ボタンを押すだけで簡単に書き込むことができま す.豊富なサンプルプログラムがあらかじめ用意さ. ■ ラインナップ. れており,スタンドアローンで駆動させることや,. ➤ Arduino UNO(図 -1). PC 環境との通信も Firmata という専用のサンプル.  最も標準的な Arduino です.各種シールドは,. プログラムを利用したり,シリアル通信を用いる. この Arduino UNO に取り付けられるようにデザイ. ことによって可能になっています.Processing や. ンされています.. openFrameworks, Pd, Max, ActionScript などのプ. ➤ Arduino Pro Mini(図 -2). ログラミング環境では Arduino を利用するための.  とても小さい Arduino です.USB モジュールが. ライブラリがフリーで配布されています.. 実装されていないので,書き込む際には別に用意す.  また,世界中の多数の Arduino ユーザがソース. る必要があります.小型化したいときに便利です.. コードや自作のライブラリをブログなどで公開し. 922 情報処理 Vol.52 No.8 Aug. 2011.

(2) 2.2 Arduino 入門 15 万台の販売実績を持つマイコンボード. 図 -3 Arduino FIO. 第1部 夏休みに工作をしたい人たちへ愛をこめて. 図 -2 Arduino Pro Mini. 図 -5 Arduino Shields(photo : John Boxall). 図 -4 LilyPad Arduino. ➤ Arduino FIO(図 -3)  無線モジュール Xbee のソケットとリチウムイオ ン電池を接続することができます.電池の充電も可 能です.小型化,無線化を考えている場合には非常 に便利です.Xbee から無線で書き込むこともでき ます. ➤ LilyPad Arduino(図 -4). 図 -6 Arduino 用バニラシールド・キット.  導電糸などを用いて布に縫いつけて使うために作 られた Arduino でセンサや電源などの部品も同じ デザインで揃っています.. が,国内でもスイッチサイエンスから 30 種類ほど,. galileo7 では 9 種類のシールドの取り扱いがあり ■ シールド. ます..  シールドは Arduino の機能を拡張するためのパ.  またスイッチサイエンスのオリジナル商品,「バ. ーツで,Arduino UNO の上に重ねて挿さるように. ニラシールド・キット」(図 -6)を用いてオリジナ. 設計されており,さまざまな目的に応じたシール. ルのシールドをつくることもできます.. ドが発売されています.Arduino Shield List という. ➤代表的なシールド. Web サイト(http://shieldlist.org/)では,244 種も. Ethernet Shield:Arduino ボードから直接インター. のシールドが紹介されています (図 -5) .. ネットにアクセスできるようにするためのシール.   開 発 さ れて い るシ ール ド の 多く は海 外 製 で す. ドです.. 情報処理 Vol.52 No.8 Aug. 2011. 923.

(3) 夏休み工作 のための. 特集. フィジカルコンピューティング Wave Shield:SD カードに読み込んだ WAVE ファ イルを Arduino からコントロールして再生する ことができます.. Ardumoto:Arduino からモータを制御するための シールドです.この Ardumoto は 2 台の DC モ ータの正転逆転を制御することができます.. 第1部 夏休みに工作をしたい人たちへ愛をこめて. 必要なパーツ  本稿では以下のパーツを使います. • Arduino UNO:[s8] [s5] [s12] • ブレッドボード :[s1] [s8] [s12] • ジャンプワイヤ :[s1] [s8] [s12] • LED, CDS, 抵抗器 (330 Ω ,10k Ω):[s1]. 準備とインストール ■ IDE(統合開発環境)のインストール  Arduino ではプログラミング,書き込み,シリア ル通信のモニタリングなどを専用の IDE と呼ばれる ソフトウェアを用いて行います.下記の URL より ダウンロードできます.. http://arduino.cc/en/Main/Software/. void setup() { // ディジタルピンを出力に設定します. // 多くのArduinoボードは13番ピンにLEDが実装されています. pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // LEDをONに delay(1000); // 1000ミリ秒=1秒,待つ digitalWrite(13, LOW); // LEDをOFFに delay(1000); // 1000ミリ秒=1秒,待つ }. 図 -7 「LED を点滅させる」の配線図とコード. ■ コンピュータとの接続 ➤ USB ドライバのインストール (UNO 以外の場合 ). 側にアナログインのピンと電源関係のピンが並ん.  MacOS ならば,Arduino UNO はドライバインス. でいます.図 -7 のように LED と抵抗(330 Ω程度). トールが不要です.Windows の場合はドライバイ. を Arduino のディジタルピン 13 番と GND とブレ. ンストールが必要になります.必要なファイルは. ッドボード上で接続します.USB で PC と Arduino. IDE をダウンロードする際に,一緒にダウンロード. を接続し,図 -7 のコードを Arduino IDE に打ち込み,. されます.. アップロードします.このサンプルは Arduino IDE. ➤ USB ドライバのインストール (UNO 以外の場合 ). の Examples/1.Basics/Blink と同じものです..  UNO 以外の Arduino は「2.1 Gainer 入門」の.  多くの Arduino ボードは 13 番ピンにあらかじめ. Gainer と同じく FTDI のチップを使用しています.. LED が実装されています.このサンプルを書き込む. ドライバが必要になりますが,こちらのドライバも. と,ブレッドボードの LED も点滅し,ボード上の. IDE と一緒にダウンロードされます.. [L] と表記のある部分の LED も同時に点滅します.. プログラミングと動作確認.  9 行目と 11 行目に「delay(1000)」というのがあり ます.この () 内の数字はミリ秒(1/1000 秒)で指定. ■ LED を点滅させる. することによって点滅の間隔を変更することがで.  Arduino を使って,LED を点滅させます.. きます.たとえば「delay(100)」とすることで点滅は.  Arduino ボードは図の上側にディジタルピン,下. 0.1 秒間隔の非常に早い点滅になります.. 924 情報処理 Vol.52 No.8 Aug. 2011.

(4) 2.2 Arduino 入門 15 万台の販売実績を持つマイコンボード. 図 -9 Arduino IDE のツールバー. 合わせて LED が光ります.光センサに手をかざす などして,光を遮ることで LED の光が暗くなります.  Arduino のアナログ入力は 1024 段階の値で取得 されます.それに対してアナログ出力は 256 段階で, 値をマッピングする必要があります.12 行目でそ の処理を行っています. int inBrightness = 0; //光センサ(CDS)の入力値用の変数 int outBrightness = 0; //LEDの出力用の変数 void setup() { pinMode(9, OUTPUT); //9番ピンを出力に設定 //3,5,6,9,10,11番のピンでアナログ出力(PWM)を利用することができます Serial.begin(9600); //シリアル通信を設定,baud rateは9600に. } void loop() { inBrightness = analogRead(0); //アナログピン0番の値をinBrightnessに代入 outBrightness = map(inBrightness, 0, 1023, 0, 255); //アナログ入力値をディジタル出力用にマッピング //入力値は1024段階ですが,出力値は256段階になります. analogWrite(9, outBrightness); //9番ピンからアナログ値を出力しLEDを光らせる Serial.printIn(inBrightness); //アナログピンからの値を表示させる }. 図 -8 「明るさに合わせて LED を点灯させる」の配線図とコード.  7 行目と 16 行目のシリアル通信に関するコード で,アナログ入力値を PC に対して出力します.こ れを確認するには Arduino IDE の図 -9 のボタンを 押すことで Serial Moniter が起動し,センサの値を リアルタイムに確認することができます.. おわりに  Arduino は豊富に資料があります.書籍では,オ ライリーから出版されている「Arduino をはじめよ う」「Prototyping Lab」「Making Things Talk」など があります.  下記の Web サイトでは Arduino の使い方がコー ドとともに分かりやすくまとめられています .. ■ 明るさに合わせて LED を点灯させる (アナログ 入出力). 四谷工作研究所. http://artstudium.org/kousaku/arduino/.  光センサで明るさを測り (アナログ入力) ,それに. 建築発明工作ゼミ. 合わせて LED の明るさをコントロール(アナログ出. http://kousaku-kousaku.blogspot.com/. 力) します.. (2011 年 4 月 28 日受付).  まず LED と抵抗を図 -8 のように Arduino のデ ィジタルピン 9 番と GND に接続します.次に CDS (光センサ) の接続です.図 -8 のように片方を 5V に, もう片方からは直接アナログインの 0 番に接続し, を分岐させて GND に接続します. 抵抗 (10k Ω程度). ■ 菅野 創 [email protected]  電子回路やプログラミングを用いて,フィジカルに体験することの できる音 / 音楽デバイスを制作している.作品を用いてのライブや, キット化,ワークショップも行っている.. 情報処理 Vol.52 No.8 Aug. 2011. 925. 第1部 夏休みに工作をしたい人たちへ愛をこめて.  図 -8 のコードをアップロードすると,明るさに.

(5)

図 -3 Arduino FIO

参照

関連したドキュメント

び3の光学活`性体を合成したところ,2は光学異`性体間でほとんど活'性差が認め

実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる

■CIQや宿泊施設、通信・交通・決済など、 ■我が国の豊富で多様な観光資源を、

Jabra Talk 15 SE の操作は簡単です。ボタンを押す時間の長さ により、ヘッドセットの [ 応答 / 終了 ] ボタンはさまざまな機

光を完全に吸収する理論上の黒が 明度0,光を完全に反射する理論上の 白を 10

Q7 建設工事の場合は、都内の各工事現場の実績をまとめて 1

・カメラには、日付 / 時刻などの設定を保持するためのリチ ウム充電池が内蔵されています。カメラにバッテリーを入

QRされた .ino ファイルを Arduino に‚き1む ことで、 GUI |}した ƒ+どおりに Arduino を/‡((スタンドアローン})させるこ とができます。. 1)