サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
kousaku-kousaku.blogspot.com
*以下のサンプルは、Processing1.5バージョンを前提としたプログラムです。現行(2013年時点)のProcessing2.0では変更点がいくつかあるので、そのままでは動作しないプログラムもあります(videoライブラリなど)。近日中に記載内容をProcessing2.0にあわせて変更していきたいと思います。もうしばらくお待ち下さい。 書籍:Books ・Built with Processing[Ver. 1.x対応版] -デザイン/アートのためのプログラミング入門 ・ビジュアライジング・データ ―Processingによる情報視覚化手法 ・Getting Started With Processing ・Processing: A Programming Handbook for Visual Designers and Artists ・Processing: Creativ
秋葉原の電子部品関連のマップです。 緑マーク:Arduino販売店。 青マーク:電子部品など。 黄マーク:Wifi/FONスポット。 赤マーク:飲食など。 より大きな地図で 秋葉原工作マップ を表示
Arduinoプログラム上のSerial.available()は、外部(この場合Processing)から1バイト分のデータが何個送られてきているかを数えてくれます。送られてくるデータは、Arduinoであれ、Processingであれ、それぞれのメモリ上(バッファ領域)に一旦貯められます。その後、Serial.read()によって、貯められているデータから順番にひとつずつ読み込む処理をします。もし、読み込む処理をしなければ、送られたデータは次々とバッファ領域に溜まり続けます(設定した限界をこえるとそれ以上貯めることはできなくなります)。if(Serial.available()>0){...}という条件は、データが1個以上貯まったら(0個より多い場合)、{...}内の処理をするという意味です。 このプログラムの場合の手順は以下のようになります。 (1)まず、Processingから合図
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 前回までSoniaライブラリを使って、音源の再生、逆再生ならびにテンポ(スピード)変換をしました。これらを組み合わせると、スクラッチ(ターンテーブルやCDJ)のようなことができるので、応用としてプログラミングしてみたいと思います。マウスを上下(Y座標)にドラッグすることで、スクラッチすることにします。画面下方へドラッグすれば順方向へ、画面上方へドラッグすれば逆方向へ曲が再生されるようにします。そのとき、ドラッグした量に比例して再生される速度も変化するようにします。スクラッチ中やスクラッチを解
前回までは、Arduino基盤に接続したセンサなどからProcessingの画像を動かしていましたが、今回はその逆で、Processingで制作した画像からArduinoを制御したいと思います。前回同様合図用のデータを送り、確認し合いながら通信します。Processingでマウスで動かすことができるスライダをつくり、256段階の値をArduino側に送り、PWM出力を用いてLEDの明るさを調節できる内容とします。Processing側から操作するので、まずProcessing側のプログラムから書きます。 Processingのプログラム: //シリアルライブラリの取り込み import processing.serial.*; Serial port; //X座標の変数 int x=0; void setup(){ size(255,100); //シリアルポートの設定 port=new
以前行ったシリアル通信では、ArduinoのanalogRead()で読み取った値(0〜1023までの値)を0〜255(8ビット)にスケールダウン(4で割る)して送信するか、256以上の大きな値を、二つの0〜255(8ビット)の数値に分解して送っていました。今回は、たとえば「1023」という255より大きい値を、そのままの「1023」という値で送信したいと思います。そのためには、読み取った整数値(int型)を文字列として送信します。 今回は3つの可変抵抗器を読み取って(接続方法は「Arduino-Processing シリアル通信2」を参照)、Arduinoから3つの値をまとめて送信します。複数の値を送る際には数値と数値の間にデリミターという区切りの記号(今回の場合「,」コンマ)を挿入して送信します。そうすることによって、Processingでデータを受け取る際に、データ内容を混同せず読み
初期設定setup()の中には、pinMode()を使って、基盤上のどのピンを出力または入力で使いたいのかを設定します。 pinMode()の()内には、数字でピンの番号(0〜13)とOUTPUTかINPUTのどちらかをコンマで区切って入れます。LEDを光らせる電源としてOUTPUT(出力)に設定します。 ループ処理loop()の中には、LEDを点滅させる一連の処理についてのプログラムを書きます。 digitalWrite()の()内には、数字でピンの番号(0〜13)とHIGHかLOWのどちらかをコンマで区切って入れます。HIGHは5Vを出力し、LOWは0Vを出力します。delay()は、()内に入れた数字の分だけ、時間を保持します。単位はミリ秒で、1秒は1000ミリ秒に相当します。上記のプログラムでは、delay(1000)を二回挿入しているので、2秒ループのプログラムになります。 プロ
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 「Fabric Square」では、電子工作関係のショップで手に入るコンポーネント化されたセンサやアクチュエータの組合わせの実験/制作だけではなく、物質を通して電気が流れるという現象を素材/材料レベルにおいても実験していきたいと思います。そのため、電子部品以外の身の回りにある素材や、電子工作関係以外にある特殊な素材についても今後フォーカスしていきます。 次回の授業(6/21)では、導電性素材の実験を行いたいと思います。 各自導電性素材/材料をいくつか持参して来て下さい。 テスターがあると便利
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 7セグLEDは、数字の形を表示するための細長い7個のセグメントと数字右下にある「.(ドット)」の合計8個のLEDで構成されています。つまり8個のLEDを制御するプログラムになるということです。授業で用いた7セグLEDは、秋月電子で購入したものでデータシートは付属していましたが、部品単体で販売されていることもあるので、その際にはメーカーや型番をインターネットで検索しデータシートを探し出すか、自分自身でどのセグメントがどの端子に対応しているのかなどをテストする必要があります。今回の7セグLEDは
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 大抵のテレビにはビデオ入力端子がついており、その端子に映像信号を送り込めば画面に映像を映すことができます。今回は、Arduinoによってパルスを生成し、そのパルスを映像信号としてテレビに送り込む簡単な実験をします。パルスについては、モータ、サーボなどでも用いたように、Arduinoのデジタル出力端子からHIGH(5V)とLOW(0V)をある一定の周期で交互に出力する方法です。今回用いる映像信号は、NTSC方式というテレビの規格(日本やアメリカの規格、ヨーロッパはPAL方式)にあわせた周期にな
DS brut($31.95/€26.00):上画像 ニンテンドーDSからUART、GPIO、PWM、ADC、I2Cなどの制御/通信が可能。 Atmega168(8MHz)を使用。 Arduinoソフトウェア(LilyPad Arduino用)でプログラムをアップすることが可能。 新型DS brut 3G(€38.00): 加速度センサADXL330内蔵型。 専用ファームウェア「libdsbrut-0.9」が最近リリースされたようです。 *ただし、最近のマジコンの流通規制との関係から利用は難しいのかもしれません(?)。 リンク: DSbrut electrobee
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 上画像は旧型のArduino Decimilaボードです。 Arduino基盤には、大きく分けてデジタル出力、デジタル入力、アナログ出力、アナログ入力の端子があります。LED、センサ、アクチュエータ、その他電子部品を接続して使用します。基盤上方にある0〜13番ピンについては、デジタル入出力の際に、使用するピンを出力用に使うのか、入力用に使うのかをプログラム上のpinMode()で設定する必要があります。基盤の下方にある5Vピンからは、5V電圧をとることができます。GNDピン(0V)は、上方1
センサには、複雑なものもありますが、ArduinoのdigitalRead()やanalogRead()ですぐに使うことができるものも多くあります。いままで習った範囲でも制御できるセンサを挙げておきます。「四谷工作研究所(2007)」にも各種センサについて使い方を記載しているので参考にして下さい。 ツマミ回転式可変抵抗器:ツマミの回転量で出力値を変化 スライド式可変抵抗器:スライダの移動量で出力値を変化 ジョイスティック式可変抵抗器:スティックの動きで出力値を変化 圧電スピーカ:マイクとして使うことで衝撃音を計測 CDSセル(光センサ):光量を計測し出力値を変化 曲げセンサ:センサ自体を曲げることで出力値を変化 圧力センサ:押された圧力を計測 距離センサ:物体との距離を計測 加速度センサ:物体の重力方向に対する傾き角度/加速度を計測 人体感知センサ:人間の動きを感知しHIGH/LOWを出力
今回は、「Firmataライブラリ」のテストを行いたいと思います。 通常Processing-Arduinoの間を通信させるときにはシリアル通信を使い、Processing側のプログラムとArduino側のプログラムをそれぞれ別々に書いていましたが、「Firmataライブラリ」を使うことで、Processing側から直接Arduinoをプログラムし制御することが可能になります(パソコンにUSB接続したArduino基板をProcessing側からのプログラムだけで操作できるので便利です)。 Firmataライブラリを使うための準備: ・まずFirmataライブラリをダウンロードし、Processingのlibrariesフォルダ内にインストールします。 ・Arduino-0012であればArduino用Firmataライブラリは含まれているので、メニューバーのSketchBook>Exam
今回は、Webカメラ(USBカメラ)を使ってProcessing上で動体検知/動体追跡の実験を行ってみます。前回の「Processing Webカメラ/カラートラッキング」に似たプログラムですが、特定の色を追いかけるのではなく、画面上で動いている物体を検知し、その動きの方向に合わせて物体の座標値を取得します。逆に、動いている物体が画面内に見当たらない場合は、なにも検知しないことになります。 *Windowsの場合、そのままの設定ではこのVideoライブラリを使用することができません。WinVDIG 1.0.1をインストールする必要があります。 各ピクセルの色の取得: ・カメラ画像における、前回の画面と今回の画面の各ピクセルの色を比較します。 ・320×240の画面サイズであれば76800個のピクセルをfor()を使って繰り返しの比較処理をさせることになります。 ・各ピクセルの色を抽出するに
今回はProcessingとWebカメラ(USBカメラ)を使い、色を手がかりとして画面内で動く物体の座標値を取得してみます。例えば、カメラに向かって動かした赤いボールの座標値を検出し、XY座標をArduinoへシリアル通信すれば、ボールの動きに応じてサーボなどを動かすことができます。 最初に物体の色を記憶させ、その色に近いピクセルを画面内から抜き出します。抜き出されたピクセルのXY座標値を調べ、中点や平均値を使って最終的なXY座標を導き出します。必ずしも単一の色面を背景にする必要はないのですが、色を手がかりとするので、対象とする物体と背景の色の差がある方が検出しやすくなります。 尚、Webカメラを使った画像認識や動体検知などのプログラムとしてFile>Examples>Libraries>Video(Capture)の中に「BrightnessTracking」や「FrameDiffere
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 前回までは、LEDをオン/オフ(5V/0V)するプログラムでした。今回は、オン/オフの制御ではなく、外部からの入力によってLEDの明暗を変化させるプログラムをします。 analogWrite()を用いれば、0〜255の256段階でLEDの明るさが調節できます。モータの出力に使えば、スピード調節が可能となります。PWM(パルス幅変調)という方法で256段階を調整しますが、パルスについては後で説明したいと思います。まずはanalogWrite()の使い方からマスターしていくこととします。 ana
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 以前「Arduino 小型DCモータ/TA7291P」で、モータドライバICのTA7291Pを用いてDCモータの制御を行いました。TA7291Pは、許容電流は1.0A(最大2.0A)なので小型のDCモータ向きでした。より大きなモータを制御するには、以下のようなモータドライバあるいはモータコントローラなどがあります。Arduino基盤に対して、電圧、電流ともに許容値を超えるため、モータ駆動用外部電源が必要になります。 東芝 TA7291P 東芝 TA8440HQ:PWM端子付きブリッジドライバ
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 以前、ワイヤレス通信としてXbeeモジュールを用いましたが、もう一つワイヤレス通信として「BlueTooth」を用いる方法があります。今回は、SparkfunのBlueToothモジュール「BlueSmiRF Gold」を使います(国内ではストロベリーリナックスで販売)。Xbeeは3.3V電源を使用しますが、「BlueSmiRF Gold」は3.3V〜6.0Vまでの電源を使うことができるので、そのままArduinoにも接続しやすい仕様となっています(ただし、日本において、「BlueSmiRF
今回は秋月電子で購入したデジタルカラーセンサS9706の実験をします。S9706は、RGB3色の同時測光が可能であり、9×9素子(高感度)と3×3素子(低感度)の感度設定が2段階あり、感度設定用の端子(Range端子)をHIGHまたはLOWで切り替えて設定できます。検出結果は12ビットの値でシリアル出力されます。S9706は表面実装用の小さな部品(1.27mmピッチ)なので、DIP変換基板などにハンダ付けして使用したほうが実験しやすくなります。 S9706には、 ・Range端子(感度設定) ・Gate端子(測光時間の設定) ・CK端子(クロックパルス) ・Dout端子(出力) ・Vdd端子(5V電源) ・Gnd端子(グランド) の6端子あります。 それぞれを以下のように接続します。尚、測光時間を調節できるように可変抵抗器も接続することにします。 データシートの動作手順によれば、以下のよう
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 :
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 今回は、Processingを使ってサウンド制御をしてみます。「Sonia」という音のライブラリを使用します。音に関してはこの他に「Minim」や「Ess」というライブラリもあります。 「Sonia」を利用するには、 ・「Sonia」サイトへ行く。 ・「download」をクリック。 ・Sonia 2_9 for Processing V90 [ZIP]の[ZIP]部分をクリック。 ・ダウンロードが開始され、デスクトップなどに展開する。 ・展開したファイル(sonia_v2_9)をMacos
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 今回は、ProcessingのNetworkライブラリを利用して、ウェブブラウザで閲覧可能なウェブサイトのサーバとして機能させます。 サーバとして、IPアドレスならびにポート番号をあらかじめ確認/設定しておきます。 LAN内のローカルIPアドレスの場合: コンピュータのIPアドレスを調べるには、MacOSXであれば、「システム環境設定>ネットワーク」を開き、AirMacを使用している場合は「AirMac」を選択、ケーブル接続している場合は「内蔵Ethernet」を選択し、「TCP/IP」タグ
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 今回は、Arduino Ethernet Shield(スイッチサイエンス/ストロベリーリナックスにて販売)を使って、Arduinoをサーバとして機能させ、Webブラウザ(IE、Safari、FireFoxなど)から閲覧可能なページの表示実験を行いたいと思います。 そのために、Arduino開発環境の最新版「Arduino 0012」に含まれている「Ethernetライブラリ」を使います。 *Arduino MegaとEthernet Shieldを重ねて使う場合の説明はこちら。 (Ardu
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 【変更】以下はArduino1.0までのシリアル通信に対応したプログラム内容です。 Arduino2.0使用の際は、バイト送信する場合は、 Serial.print(value,BYTE); のかわりに、 Serial.write(value); を使用してください。 今回はシリアル通信を用いて、Arduino基盤に接続した入力装置(可変抵抗器)で、Processingで描かれた図形を動かしてみます。 Arduino側のシリアル通信は、前回のモニタリングで使用したときのような感じです。Pro
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 今回は、ProcessingのNetworkライブラリを使って、ネットワーク越しに複数のクライアントコンピュータから、サーバコンピュータに接続されたArduinoのサーボとLEDを操作することにします。ネットワーク上では、情報を提供する側となるサーバコンピュータに複数のクライアントコンピュータが接続されているような状態になります。 まず、上図のようにローカルネットワーク内での通信を行ってみます(後半にローカルネットワーク外からの通信サンプルを記載しておきました)。 ひとつのクライアントからサ
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : ソフトのダウンロードとインストール: ・Arduinoサイトへアクセス→http://www.arduino.cc ・サイト内Downloadページから開発環境ソフト「Arduino 0018」(最新版)をダウンロード(Win用/Mac用あり)。 (注意)初めて使う場合は、「Arduino開発環境ソフト」だけでなく「USBドライバソフト」もインストールする必要があります。 Windows: ・ダウンロードした「arduino-0018.zip」を展開する。 ・「arduino-0018」ファ
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : 現在Processingの最新バージョンは152になっており、いくつかの内容変更があります。特にProcessing 149以降では、ダウンロードしたライブラリをインストールする際(例えば、サウンドライブラリである「minim」など)、スケッチフォルダ内に「libraries」というフォルダを作成し、そのなかにダウンロードしたライブラリを入れるようになりました。 例えば、「minim」の場合なら、ダウンロードした「minim」というフォルダを、MacOSの場合、/Users/username
[HOME] [Processing関係] [Arduino関係] [マテリアル関係] [秋葉原工作マップ] 2008年用ですが、部分的に内容を更新しています(2010/06/14)。 また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。 : ProcessingのVideoライブラリを使用することで、パソコンに接続した(あるいは内蔵された)Webカメラからの映像を取り込むことができます。このライブラリを使用するには、パソコンにQuickTimeがインストールされている必要があるので、もしインストールされていない場合は、アップルのQuickTimeのサイトからダウンロード/インストールして下さい。 USB接続する外付けのWebカメラの場合は必要なドライバをメーカーのサイトなどからダウンロード/インストールして使用可能な状態にしてお
次のページ
このページを最初にブックマークしてみませんか?
『建築発明工作ゼミ2008』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く