
「Getting Started with Arduino
Arduinoの本「Getting Started with Arduino
その他、Arduino関連の本であれば、主に以下のようなものがあります。
・「Making Things Talk
・「Physical Computing: Sensing and Controlling the Physical World with Computers
四谷アートステュディウム・建築発明工作ゼミ(2008年度)の授業サブノート
主にProcessingやArduinoについて記載しています。












$$$
ST,100
SU,96
D
***Settings***
BTA=00066600D39A
BTName=FireFly-D39A
Baudrt=9600
Parity=None
Mode =Slav
Authen=0
Encryp=0
PinCod=1234
Bonded=0
Rem=NONE SET
---


void setup(){
//シリアル通信開始
Serial.begin(9600);
}
void loop(){
//変数を用意し、二つの読取り値を合成して代入
int val=analogRead(0)+analogRead(1);
//合図用データが届いたら
if(Serial.available()>0){
//合成した値を文字列(改行コード付き)で送信
Serial.println(val,DEC);
//バッファを空にしておく
Serial.read();
}
}
//シリアル通信ライブラリを取り込む
import processing.serial.*;
//ポートのインスタンス
Serial port;
//X座標用の変数(小数)
float x;
void setup(){
//横長の画面に設定
size(600,200);
//シリアルポート設定(Bluetoothのポート)
port=new Serial(this,"/dev/tty.FireFly-D39A-SPP-1",9600);
//「10」(ラインフィード:改行コード)が来る度に
//serialEvent()を呼び出す
port.bufferUntil(10);
}
void draw(){
//背景
background(100);
//矩形描画
rect(x,100,20,20);
}
void serialEvent(Serial p){
//文字列の変数stringDataを用意し、
//「10」(ラインフィード:改行コード)が来るまで読み込む
String stringData=port.readStringUntil(10);
//文字列データが空ではないとき
if(stringData!=null){
//文字列データに含まれる改行記号を取り除き整数にする
int val=int(trim(stringData));
//値のオフセット、最小値、最大値を設定しxに代入
x=map(val,500,1500,0,600);
//合図用データ送信
port.write('A');
}
}
//マウスをクリックしたらシリアル通信開始
void mousePressed(){
//通信開始用データ送信
port.write('A');
}


void setup(){
Serial.begin(9600);
}
void loop(){
//可変抵抗器の読み取り
int val=analogRead(0);
//シリアル通信処理
if(Serial.available()>0){//合図用データが一つ来たら
//合図用データを読み込んでバッファを空にする
Serial.read();
//読取値を4で割り、バイトで送信
Serial.print(val/4,BYTE);
}
}
//シリアル通信ライブラリを取り込む
import processing.serial.*;
//二つのポートのインスタンス
Serial portA;
Serial portB;
//二つの読取値の変数
int valA=100,valB=100;
//ボ−ル座標用変数
int x=100,y=100;
//ボールの動きの向きの変数(1:正の向き、-1:負の向き)
int dirX=1,dirY=1;
void setup(){
//画面サイズ設定
size(300,256);
//二つのシリアルポート設定
portA = new Serial(this, "/dev/tty.usbserial-A50019vD", 9600);
portB = new Serial(this, "/dev/tty.usbserial-A40014iU", 9600);
//図形外形線なし
noStroke();
//塗り色(白)
fill(255);
//矩形描画位置を中央に設定
rectMode(CENTER);
}
void draw(){
//背景(黒)
background(0);
//左ラケット描画(valAをY座標に代入)
rect(20,valA,10,30);
//右ラケット描画(valBをY座標に代入)
rect(280,valB,10,30);
//ボール描画
rect(x,y,10,10);
//ボールX座標の動き
x+=dirX;//X軸方向に+1または-1ずつ進める
//ラケットAに当たった時のはね返り
if(x==30 && y>valA-15 && y<valA+15){
dirX*=-1;//向きを反転する
}
//ラケットBに当たった時のはね返り
if(x==270 && y>valB-15 && y<valB+15){
dirX*=-1;//向きを反転する
}
//画面左端からはみ出た場合
if(x<0){
x=270;//右側に戻る
}
//画面右端からはみ出た場合
if(x>width){
x=30;//画面左側に戻る
}
//ボールY座標の動き
y+=dirY;//Y軸方向に+1または-1ずつ進める
//画面上下位置でのはね返り
if(y<5 || y>251){
dirY*=-1;//向きを反転する
}
}
//キーを押した場合
void keyPressed(){
//「s」キーでシリアル通信開始
if(key=='s'){
//二つのポートへ開始用データ送信
portA.write(65);
portB.write(65);
}
}
//シリアル通信処理
void serialEvent(Serial p){
//portAの場合
if(p==portA){
if(p.available()>0){
//値を読み込みvalAに代入
valA=p.read();
//合図用データ送信
portA.write(65);
}
}
//portBの場合
if(p==portB){
if(p.available()>0){
//値を読み込みvalBに代入
valB=p.read();
//合図用データ送信
portB.write(65);
}
}
}

void setup(){
//シリアル通信開始
Serial.begin(9600);
}
void loop(){
Serial.print('H');//「H」を送信(点灯)
delay(1000); //1秒待つ
Serial.print('L');//「L」を送信(消灯)
delay(1000); //1秒待つ
}
int val;//受信データ用の変数を用意
void setup(){
//シリアル通信開始
Serial.begin(9600);
//13ピンをデジタル出力に設定
pinMode(13,OUTPUT);
}
void loop(){
if(Serial.available()>0){ //データが来たら
val=Serial.read(); //データを読み込み、valへ代入
}
if(val=='H'){ //valが「H」の場合
digitalWrite(13,HIGH);//点灯
}else{ //valが「L」の場合
digitalWrite(13,LOW); //消灯
}
}

import processing.serial.*; println(Serial.list());
//シリアル通信ライブラリを取り入れる
import processing.serial.*;
//ポートのインスタンス
Serial port;
void setup(){
//「XBee Explorer USB」のシリアルポート設定
port=new Serial(this,"/dev/tty.usbserial-A8003VXd",9600);
}
void draw(){
//特になし
}
void mousePressed(){//マウスボタンを押したら
port.write('H'); //「H」を送信(点灯)
}
void mouseReleased(){//マウスボタンを放したら
port.write('L'); //「L」を送信(消灯)
}
+++
OK
ATID(リターンキーを押して送信)
3332
ATBD(リターンキーを押して送信)
3
0:1200 bps 1:2400 bps 2:4800 bps 3:9600 bps 4:19200 bps 5:38400 bps 6:57600 bps 7:115200 bps
ATBD4(リターンキーを押して送信)
ATBD(リターンキーを押して送信)
ATWR(リターンキーを押して送信)
ATBD4,WR(リターンキーを押して送信)
ATRE(リターンキーを押して送信)
ATRE,WR(リターンキーを押して送信)
ATCN(リターンキーを押して送信)
ID:3332(ネットワークID) CH:0x0C(チャンネル) MY:0(そのモジュールのアドレス) SH: (シリアルナンバー上位32ビット/モジュールごとに異なる) SL: (シリアルナンバー下位32ビット/モジュールごとに異なる) DH:0(送信先アドレス上位32ビット) DL:0(送信先アドレス下位32ビット) BD:3(通信速度:9600 bps)
ATMY1111,WR(リターンキーを押して送信) OK OK(Xbeeからの返信)
ATDL2222,DH0,WR(リターンキーを押して送信) OK OK OK(Xbeeからの返信)
ATMY2222,DL1111,DH0,WR(リターンキーを押して送信) OK OK OK OK(Xbeeからの返信)



