INDEX(各項目ごとの目次)

[HOME]  [Processing関係]  [Arduino関係]  [マテリアル関係]  [秋葉原工作マップ]

2008年用ですが、部分的に内容を更新しています(2010/06/14)。
また、[建築農業工作ゼミ2009-2010]とも連動していますので、そちらにも幾つかサンプルがあります。
:

1/30/2009

目次:Arduino


【変更】以下はArduino1.0まで対応したプログラム内容です。
特にシリアル通信においては、Arduino2.0使用の際、バイト送信する場合、
Serial.print(value,BYTE);
のかわりに、
Serial.write(value);
を使用してください。


・Arduinoボード購入先については、ページ右下のショップリストに掲載(秋葉原のマップはこちら)。
Arduino 日本語リファレンス

書籍:Books
Arduinoをはじめよう
Making Things Talk -Arduinoで作る「会話」するモノたち
Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ
CQ ham radio (ハムラジオ)増刊 マイコンと電子工作No.1 電脳Arduinoでちょっと未来を作る 2010年 01月号 [雑誌]
アーデュイーノ互換マイコン・ボードを作る (プリント基板付き電子工作解説書シリーズ)
Physical Computing: Sensing and Controlling the Physical World with Computers
Programming Interactivity: Unlock the Power of Arduino, Processing, and Openframeworks
Practical Arduino: Cool Projects for Open Source Hardware (Technology in Action)
Arduino Cookbook (Oreilly Cookbooks)

基本操作:Basics
Arduinoのセッティング」--Arduino 0018のダウンロード/インストールの仕方
Arduino基盤の概要」--Arduino基盤の機能や端子の説明
Arduino LEDの点滅」--プログラム、アップロードの仕方、LEDを点滅させる
Arduino 7セグLEDの点灯」--7セグLEDの接続/表示方法
Arduino アナログ入出力」--LEDの明暗をコントロールする

入出力部品の種類:Input/Output Parts and Materials
センサについて」--赤外線距離センサ、光センサ、タクトスイッチの接続と入力方法
センサについて2」--各ショップにおけるセンサの種類(秋月、千石、共立、Sparkfun)
出力方法について」--表示、アクチュエータ、熱、音などの出力部品の種類について
Arduino モータドライバ+モータ」--モータドライバやDCモータの種類/選び方
スピーカ/音出力について」--通常のコーンスピーカ以外の特殊なスピーカなどについて
導電性素材/材料について」--電気を通すことができる様々な材料について
素材実験/鉛筆の描画線」--紙の上に鉛筆で描いた線を可変抵抗として使う
素材実験/小型・薄型の材料」--チップLEDやペーパーバッテリなどの小型部品について

センサ(入力系)各種:Sensors/Inputs
センサについて」--赤外線距離センサ、光センサ、タクトスイッチの接続と入力方法
Arduino 圧電スピーカ」--ブザー、センサとして圧電スピーカを使う/シリアルモニターの仕方
Arduino 加速度センサ」--加速度センサで物体の傾斜角を計測する
Arduino デジタルコンパス/HMC6352」--方位センサ「HMC6352」の使い方
Arduino 距離センサ/超音波レンジファインダー」--Parallax「Ping)))」の使い方
Arduino-Processing BlueTooth通信+曲げセンサ 」--曲げセンサの入力値をBluetoothで送信する
Arduino タッチパネル(4線式)」--4線式タッチパネルの接続方法/使い方
Arduino タッチセンサ」--抵抗だけでタッチセンサをつくる
Arduino デジタルカラーセンサ S9706」--RGB同時測光カラーセンサの実験
光センサ フォトICダイオード S9648-100」(建築農業工作ゼミ2009より)
温・湿度センサ SHT-71」(建築農業工作ゼミ2009より)
温度センサ LM35DZ」(建築農業工作ゼミ2009より)
温度センサ LM60BIZ」(建築農業工作ゼミ2009より)
Arduino:7セグ+照度センサNJL7502L」--照度センサで得た値を7セグを用いて表示する

マトリクスLED:Matrix LED
Arduino マトリクスLED1」--マトリクスLEDをArduinoに直結して表示する
Arduino マトリクスLED2/MAX7219」--LEDドライバMAX7219でマトリクスLED表示する
Arduino+Processing マトリクスLED+Webカメラ」--Webカメラの映像をマトリクスLEDに映す

サーボ/モータ/モータドライバ:Servos/Motors/Motor drivers
Arduino サーボ制御」--PWM、ライブラリ、パルスによるサーボ制御
Arduino 小型DCモータ/TA7291P」--モータドライバTA7291Pでモータを制御する。
Arduino モータドライバ+モータ」--モータドライバやDCモータの種類/選び方

シリアル通信:(パソコン上のProcessingプログラムとの通信)Serial communication
Arduino-Processing シリアル通信1」--ひとつの値を送信する(非同期通信)
Arduino-Processing シリアル通信2」--複数の値を送信する(同期通信)
Arduino-Processing シリアル通信3」--大きな値を複数送信する(ビット演算の説明)
Processing-Arduino シリアル通信4」--Processingの図形をマウスで動かしてArduinoを制御
Arduino-Processing シリアル通信5」--大きな値、複数の値を文字列で一括送信する
Arduino-Processing シリアル通信6」--複数のArduinoをProcessingを通してシリアル通信する

ワイヤレス/ネットワーク通信:Wireless/Network comminication
Arduino+Xbee Shield/Processing+XBee Explorer USB」--Xbee、XBee Explorer USBを用いて無線通信する
Arduino-Processing BlueTooth通信+曲げセンサ 」--曲げセンサの入力値をBluetoothで送信する
Processing-Arduino ネットワーク制御」--ネットワークを通してサーボ、LEDを制御する
Arduino Ethernet Shield」--イーサネットシールドを使って、ArduinoをWebサーバとして機能させる
Arduino Mega + Ethernet Shield」--未対応のArduino Megaにイーサネットシールドを重ねて使う方法
Arduinoで計測した値を指定のwebサーバに送信/保存する」(建築農業工作ゼミ2009より)

ビデオ信号/TV:Video signal/TV
Arduino ビデオ信号/テレビ画面に出力」--Arduinoを使ってテレビ画面に模様や矩形を表示する
Arduino ビデオ信号/バウンドするドット」--Arduinoを使ってテレビ画面に動く映像を表示する

ライブラリ:Libraries
Processing-Arduino Firmataライブラリ」--ProcessingでArduino基板の各設定をし制御する。
Arduino PID制御ライブラリ」--PID制御用の専用ライブラリ

シールド/ハードウェア:Shield/Hardware
Arduino TouchShield Slide」--Liquidwireが販売しているArduino用OLEDタッチパネルスクリーン
Arduino Li-ionバッテリ Litium Backpack Stealth」--Arduino基板用リチウムイオン充電電池パック
Arduino AC Power Shield」--交流電源を制御するArduinoシールド
Arduino Mega+Arduino IDE version 0015」--54個のデジタル入出力ピンがある大型のArduino基板
Arduino Mega:ピンマッピング」--Arduino MegaボードとATmage1280のピン配置関係
Arduino Mega:analogRead 8~15番ピンのバグ」--Arduino0017におけるバグの解決方法
Arduino Quad Core Quadruino」--ATmega328を4個搭載したArduino基板:Quidruino
DSbrut」--LilyPad ArduinoでプログラムできるニンテンドーDS用のカートリッジ基板

目次:Processing

*以下のサンプルは、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: Creative Coding and Computational Art (Foundation)
Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction
Programming Interactivity: Unlock the Power of Arduino, Processing, and Openframeworks

基本操作:Basics
Processingのダウンロードとインストール」--Processingのセッティング。
Processingの基本操作 その1」--プログラムの仕方。
Processingの基本操作 その2」--図形の描画。
Processingの基本操作 その3」--図形を動かす。
Processingの描画サンプル」--図形を動かすサンプル。
Processing マウス入力1」--マウスボタン/クリック。
Processing マウス入力2」--マウスに合わせて図形を動かす/図形をドラッグする。
Processing マウス入力3」--図形の上にマウスが重なると色が変わる/ロールオーバー。
Processing マウス入力4」--トグルボタン/フラグ/3回押すとオンになるスイッチ。
Processing 文字と画像」--文字(フォント)の表示方法、画像の取り込みと表示方法。
Processing 手描きの線の表現」--手描きで自由に線を描く。
Processing ドラッグしながら図形を描く」--描画ソフトのように矩形をドラッグして描く。
Processing:デジタル時計のプログラム」--時間に合わせて文字列を表示する。
Processing:アナログ時計のプログラム」--時間に合わせて図形を回転させる。

サウンド:Sound
Processing サウンド/Sonia JSynプラグイン」--MacOSX(Intel)は、JSynプラグイン再インストールが必要。
Processing サウンド1/Sonia」--Soniaライブラリで音源の再生/停止/ポーズする。
Processing サウンド2/逆再生」--Soniaライブラリで逆再生の音源をつくる。
Processing サウンド3/テンポ」--Soniaライブラリで音源再生のテンポ変換をする。
Processing サウンド4/スクラッチ」--Soniaライブラリを使って曲をスクラッチ演奏する。
スピーカ/音出力について」--通常のコーンスピーカ以外の特殊なスピーカなどについて

ファイル選択/読み込み/書き出し:File chooser/File loading/File output
Processing FileChooser/ファイル選択画面の表示」--Java Swingファイルチューザー(画像/音源ファイル読み込み)。
Processing FileChooser2」--ファイルチューザーで画像を選択表示、ドラッグ可能にする。
Processing ドラッグした図形の動きを記録/保存/再生する」--データのセーブ/ロードを使ったサンプル。

Webカメラ:Web camera
Processing Video (Webカメラ)」--Webカメラの使い方/映像にフィルタをかけて表示。
Arduino+Processing マトリクスLED+Webカメラ」--Webカメラ映像をマトリクスLEDに映す。
Processing Webカメラを光センサとして使う」--点光源で画面内に線を描く。
Processing Webカメラ/定点記録画像」--Webカメラ映像を0.5秒おきに画像保存(JPEG)する。
Processing Webカメラ/カラートラッキング」--Webカメラを使い、色を手がかりに物体を追いかける。
Processing Webカメラ/モーショントラッキング」--Webカメラを使って動体検知する。

シリアル通信:(センサ/アクチュエータ+Arduino基板との通信)Serial communication
Arduino-Processing シリアル通信1」--ひとつの値を送信する(非同期通信)。
Arduino-Processing シリアル通信2」--複数の値を送信する(同期通信)。
Arduino-Processing シリアル通信3」--大きな値を複数送信する(ビット演算の説明)。
Processing-Arduino シリアル通信4」--Processingの図形をマウスで動かしてArduinoを制御。
Arduino-Processing シリアル通信5」--大きな値、複数の値を文字列で一括送信する。
Arduino-Processing シリアル通信6」--複数のArduinoをProcessingとシリアル通信する。

ネットワーク/ワイヤレス通信:Network/Wireless communication
Processing-Arduino ネットワーク制御」ネットワークを通してサーボ、LEDを制御する。
Processing HTTPサーバ/Webページ表示」--Networkライブラリを使ってWebサーバとして機能させる。
Arduino+Xbee Shield/Processing+XBee Explorer USB」--Xbee、XBee Explorer USBを用いて無線通信する。
Arduino-Processing BlueTooth通信+曲げセンサ」--曲げセンサの入力値をBluetoothで送信する。

その他:Others:3D models/Sudden Motion Sensor(Mac)/QR code/Firmata library
Processing 3Dモデル/OBJ Loader」--外部制作した3Dモデルを読み込む。
Processing 緊急モーションセンサー(Mac)」--緊急モーションセンサーで3Dモデルを動かす。
Processing QRコード/2次元コード」--QRコードを生成/読み込み/解読する。
Processing-Arduino Firmataライブラリ」--ProcessingでArduino基板の各設定をし制御する。
Processing ライブラリのインストール先(v149以降)」バージョン149以降のライブラリインストール変更点。
ProcessingプログラムをApplet表示する方法」--プログラムをWeb上でAppletを使って表示する。

1/11/2009

展覧会報告

建築発明工作ゼミの展覧会「BODY, FURNI, ROOM」が「GALLERY OBJECTIVE CORRELATIVE」にて、2008.12.14-17まで開催されました。




巨大な折り紙、振動モータ、プロジェクタ、超磁歪素子スピーカ(壁上)を使って相互作用する。




室内壁面上に氷をつくる(ペルチェ素子使用)





カーテンがモータ制御によって自動的に開閉し、重心移動によりカーテンレール自体が回転する。

12/21/2008

Processing-Arduino Firmataライブラリ

今回は、「Firmataライブラリ」のテストを行いたいと思います。
通常Processing-Arduinoの間を通信させるときにはシリアル通信を使い、Processing側のプログラムとArduino側のプログラムをそれぞれ別々に書いていましたが、「Firmataライブラリ」を使うことで、Processing側から直接Arduinoをプログラムし制御することが可能になります(パソコンにUSB接続したArduino基板をProcessing側からのプログラムだけで操作できるので便利です)。

Firmataライブラリを使うための準備:
・まずFirmataライブラリをダウンロードし、Processingのlibrariesフォルダ内にインストールします。
・Arduino-0012であればArduino用Firmataライブラリは含まれているので、メニューバーのSketchBook>Examples>Library-Firmata>StandardFirmataを開き、Arduino基板にアップロードしておきます。Arduinoのセッティングは以上です。

今回はProcessing用のFirmataライブラリに含まれているサンプルを用いたいと思います。
Processingを開いて、File>Sketchbook>libraries>arduino>examples>arduino_outputを選択します。
以下のようなプログラムが表示されるはずです。

import processing.serial.*;

import cc.arduino.*;

Arduino arduino;

color off = color(4, 79, 111);
color on = color(84, 145, 158);

int[] values = { Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW };

void setup() {
size(470, 200);

println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 115200);

for (int i = 0; i <= 13; i++)
arduino.pinMode(i, Arduino.OUTPUT);
}

void draw() {
background(off);
stroke(on);

for (int i = 0; i <= 13; i++) {
if (values[i] == Arduino.HIGH)
fill(on);
else
fill(off);

rect(420 - i * 30, 30, 20, 20);
}
}

void mousePressed()
{
int pin = (450 - mouseX) / 30;

if (values[pin] == Arduino.LOW) {
arduino.digitalWrite(pin, Arduino.HIGH);
values[pin] = Arduino.HIGH;
} else {
arduino.digitalWrite(pin, Arduino.LOW);
values[pin] = Arduino.LOW;
}
}


Processing上でこのプログラムをランさせます。この時点でProcessingから、Arduino基板の各ピンの入出力設定がなされます。Processingでは以下のような画面が現れます。



14個ならんでいる正方形をそれぞれクリックすれば(クリックするとその正方形は塗りつぶされる)、Arduinoの0番ピンから13番ピンの合計14個のピンに対応してデジタル出力されます(Processing画面上の左端の正方形がArduinoの13番ピンに対応)。試しにProcessing画面上左端の正方形をクリックすると、13番ピンに接続されたLED(基板内蔵LED)が点灯します。同様に他の正方形をクリックすれば、それに対応したピンからデジタル出力されることが確認できます(各ピンにLED+抵抗:220Ωを接続して下さい)。
ただし、0番ピンと1番ピンに関しては、Processing-Arduino間でのシリアル通信で使用されているため、クリックしても反応しないので、2番ピンから13番ピンでのデジタル出力制御となります。

Processingのプログラム上で、

arduino.pinMode(ピン番号, 入出力設定);

とすれば、Arduinoの任意のピンの入出力設定(Arduino.INPUT または Arduino.OUTPUT)を行うことができます。
出力をHIGHかLOWにするには、

arduino.digitalWrite(ピン番号, 出力値);

で、出力値をarduino.LOWかarduino.HIGHで設定します。
そのほか、

デジタル入力:arduino.digitalRead(ピン番号)
アナログ入力:arduino.analogRead(ピン番号)
アナログ出力:arduino.analogWrite(ピン番号,出力値)

という感じになるので、arduino.を頭につければ、Arduino上でのプログラムとほぼ同じです。

12/06/2008

スピーカ/音出力について

音を出力するものとしてコーンスピーカが一般的に使われますが、それ以外にも以下のようなものがあります。

・「圧電スピーカ」:パルスを送り振動させブザーのような音を鳴らす(「Arduino 圧電スピーカ」を参照)。
・「振動モータ」:偏心錘がついたモータによって振動させる(携帯電話のバイブレータなど)。
・「ソレノイド」:電磁石の力によって金属のシリンダーを往復運動させ、物体などをたたくことで音を出す。
・「パラメトリックスピーカ」:指向性スピーカ(超音波スピーカによる方向性/反射性のある音のビーム)。


・超磁歪素子という振動体を物体に接触させると、その物体がスピーカのように振動し音を出す機器として以下のようなものがあります。

どこでも伝導スピーカー ホワイト(p-0034-39)
ピーナッツクラブ
売り上げランキング: 7277

1550円

ピタッとスピーカー(ブルー)DN-A002BU
株式会社 StrapyaNext
売り上げランキング: 14047

2980円から。

何でもスピーカーGPECKER
日本電話施設株式会社
売り上げランキング: 12997

5500円。

エンティス デジタルサウンドジェネレーター Tunebug-Vibe Tunebug-vibe
エンティス (2009-12-18)
売り上げランキング: 3390

7971円。

DESIGN FACTORY どこでもスピーカー
㈱デザインファクトリー
売り上げランキング: 13234

4280円。

NIMZY VIBRO BLASTER SILVER
NIMZY VIBRO BLASTER SILVER
posted with amazlet at 09.07.29
海連 (2006-10-31)
売り上げランキング: 42650



デバイスネット ヨロズオーディオ DN-A001
デバイスネット (2008-12-05)
売り上げランキング: 19195

5577円。



また、音の入力装置(通常のマイク以外)として「ギター用ピックアップ」のように金属弦の振動を磁気的に拾いとる部品もあります。


あるいは磁気テープを読み取る場合、以下のような製品のヘッド部分を取り出して利用することもできます。
カセットテープヘッドについてのまとめ。

680円。
以下は改造例。


[目次:Processing関係]  [HOMEへ戻る]  [目次:Arduino関係]