Arduino と Processing 超入門 つくれば工房 2013年6月29日(遠藤一太).

Slides:



Advertisements
Similar presentations
1 エクセル (3) の目次 ②参照演算子と演算子参照演算子と演算子 ③参照セルの表示法参照セルの表示法 ④セルの参照方法セルの参照方法 ⑤エラーについてエラーについて ⑥シグマ( Σ )関数シグマ( Σ )関数 ⑦条件付書式条件付書式 ⑧問題 (1)問題 (1) ⑨問題 (2)問題 (2) ⑩問題.
Advertisements

情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
情報処理 第9回第9回第9回第9回. 今日の内容 Excel の起動と画面構成 –Excel の起動 –Excel の画面構成と基本用語 データの入力 – 文字の入力 – 数値の入力 – 日時の入力 – オートフィル.
特別支援教育で使える PowerPoint の活用法 研修 最低限必要なスキルはこれでバッチリ!! ICT 活用支援員 高松 崇.
第5章 JMPのインストールと基本操作 廣野元久
初年次セミナー 第13回 2次元グラフィックス(1).
上手なプレゼンのための ワンポイント・アドバイス
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
PC作業の一時停止 ●「スタンバイ(サスペンド)」: メモリには電源が供給される。実行中のデータがそのままメモリに保持されるため、作業を中断した状態から 数秒で再開ができる。省電力。 操作: 「スタート」→「電源オプション」→「スタンバイ」とクリックする。 ●「休止状態」: メモリの内容をハードディスクに退避してから全デバイスの電源をオフ。作業を中断した状態からの再開ができる。ノートPCでは電池が消耗しない。
GridLayout オブジェクト(省略)
校内研修用提示資料 パワーポイントの基本操作.
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
F5 キーを押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
心理学情報処理法Ⅰ やってみよう:Wordの起動.
エクセル(1)の目次 起動法、ブック、シート、セル ブックの開き方 エクセル画面 マウスポインターの種類 シート数の調節 データの入力法
画像の作成と編集.
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Netscape Communicator Eudora Microsoft Word
ImpressのプレゼンをPPで表示 学校や会社にパワーポイントはあるが自宅には ない人のために・・・・・。
コンピュータについて学ぶ必要性 ● 現代社会での重要性。 ● 小規模事業所では、最も若い人が最も頼りにされる。
第6章 2重ループ&配列 2重ループと配列をやります.
情報処理 第6回.
情報処理 第6回.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
XBee 浅川 和久 2009/7/23.
プロセッシング入門1 初歩のプログラミング.
トキのカタチ2016 電子工作(Arduino)講習
情報学部 プログラミング体験教室 (初級編)
(Wed) Edited by KON IT講習会 一太郎編.
校内LAN移動用PC等使用説明 移動用プロジェクタ(応用編) 高槻市教育センター.
SystemKOMACO Jw_cad基本操作(2) Ver.1
Microsoft PowerPoint Netscape Communicator
情報処理 第7回 表がある文書の作成.
CGと形状モデリング 授業資料 長井 超慧(東京大学)
第2回 Microsoft Visual Studio C++ を使ってみよう
Borland Delphi 6 でビジュアルプログラミング
情報処理 第8回.
プログラミング応用 printfと変数.
10.構造体とグラフィックス.
第6回:ラケットを動かそう! (キーボードによる物体の操作)
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
2019/2/24 情報処理 第13回.
実物投影機の使い方 その① テレビにつないでみよう。.
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
母音継続時間を計測する.
Processing使用の準備.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
アニメーション 年 組 番 氏名 スクラッチ テキスト1 座標と初期値 スクラッチはだれでも簡単に使えるプログラミング言語です。
6年生理科  電気.
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
PC作業の一時停止 ●「スタンバイ(サスペンド)」: メモリには電源が供給される。実行中のデータがそのままメモリに保持されるため、作業を中断した状態から 数秒で再開ができる。省電力。 操作: 「スタート」⇒「電源オプション」⇒「スタンバイ」とクリックする。 ●「休止状態」: メモリの内容をハードディスクに退避してから全デバイスの電源をオフ。作業を中断した状態からの再開ができる。ノートPCでは電池が消耗しない。
コンピュータ プレゼンテーション.
フィジカル・コンピューティング Arduino入門.
Processing Processingでお絵かき.
C言語 はじめに 2016年 吉田研究室.
第1章 いよいよプログラミング!! ~文章の表示 printf~
表計算 Excel 演習 1.Excel を使ってみる.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
プログラミング入門 電卓を作ろう・パートI!!.
標準入出力、変数、演算子、エスケープシーケンス
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
printf・scanf・変数・四則演算
Processing Processingでお絵かき.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
Presentation transcript:

Arduino と Processing 超入門 つくれば工房 2013年6月29日(遠藤一太)

えっ ? 何それ? Processing (プロセシング) アメリカの大学( MIT )発祥 PC で芸術系作品を作るのに便利な仕組み。(プログラム とは呼ばずにスケッチという)(無料) Windows, MAC, UNIX のいずれでも同じスケッチが使える。 Arduino (アルド ウ イーノ) イタリア発祥 素人が遊ぶための手のひらサイズのマイコンボード(約 3000円 〜 5000円)。技術仕様は公開。誰が 真似をしても良い。 ソフトは PC で「スケッチ」して USB からマイコンに書き込 む。(無料) スケッチのやりかたは Processing にそっく り。

こんなことができそう PC 画面に絵を描く。(例1、例2、例3) Arduino に外部素子を接続して LED を点滅させる。 スピーカから音を出す。(モーターを制御する。) センサーの値を読み込み、 PC にデータを送る Processing で描いた絵を Arduino のセンサー値に応じ て変化させる。

やってみれば簡単 まず、 Processing および Arduino の開発環境の入った フォルダーを、 PC ( Windows, Mac) のデスクトップに載 せる。 Processing の開発環境を走らせる。 スケッチの例題を動かす。 Arduino ボードと PC を USB ケーブルで接続。 Windows の場合、開発環境フォルダー下のデバイスドラ イバーフォルダーからインストールするように指定 Arduino 開発環境のプログラムを走らせる。 ツールメニューでボードの種類 Arduino Uno を指定。

さあやってみよう 開発環境を載せるには、今日用意してある USB メモリー の中身をデスクトップにコピーするのが簡単。 既に自分の PC に開発環境を乗せている人はどんどん、 例題をやってください。また、求められたら手助けをお 願いします。 例題をやろう。(1)見本通りに入力。(2)名前を付けて保存。(3)実行(4)修正(5)思い通りに動いたら保存(6)次の例題へ

// つくれば工房 講習会2013 6月29日 // Processing の練習1 // この2本の斜線から行末までは注釈(コメント)です。コメントは薄い字で表 示されます。 /* 1行以上のコメントが必要ならこんな記号でかこんでください。 何行でも OK です。 コメントやプリントする文字列( ” で囲む ” )は日本語でもよさそうです。 PC の種類やセットによっては変なことが起こるかもしれません。そのときは ローマ字で。 しかし、スケッチの肝心なところ(青字や赤字で示される語)は 大文字小文字の区別も含め、英数字で規則通りに書かねばなりません。 */ /* まず Processing のフォルダー中にある P マークの青いアイコンをダブルクリックし ます。 出てきた画面にステップ1の内容を打ち込みます。セミコロンを忘れないように。 次に画面情報のファイルメニューから「名前をつけて保存 」 します。ファイル名は英数字で。(例えば MyP) */ // step1 (自分の PC の画面サイズをドット数で示す) println("Hi! My Name is 遠藤 Antonio"); println(displayWidth); println(displayHeight); /* ではスケッチの第一ステップを走らせましょう。左上方の三角印をクリックし ます。 画面の一番下の黒いエリアに文字が表示されるはずです。 */

/* 再び以下の step2 から入力、実行、停止をくりかえしながら step7 まで終われば、 第一課題が終了です */ // step2( 図の表示画面のサイズを指定する。 size(600,600); //step3 (背景色をいろいろ変えてみる // モノクロの場合0が真っ黒、255が真っ白。 //background(255); // カラーの場合、赤、緑、青の値を0から255までの値で指定する //background(255,0,0); //background(0,255,0); //background(0,0,255); //background(200,200,100); //step4( 4角形を描く。左上隅の位置 x 、 y 、と横サイズ、縦サイズをドット数で指 定) // x は左端が0、右に行くほど数が大きい。 y は上端が0で、下に行くほど数が大。 rect(200,200,200,200); fill(200,100,50);// 塗りつぶしの色指定 (R,G,B) rect(100,100,100,100); rect(400,200,100,20);

//step5 (楕円を描く) fill(0); ellipse(150,150,30,30);// 楕円の中心位置 x 、 y と横直径、縦直径のをドット数で指 定 //step6 fill(200,100,50); ellipse(250,430,80,80); ellipse(350,430,80,80); fill(0); ellipse(250,430,10,10); ellipse(350,430,10,10); //step7 (三角形) fill(200,200,0); triangle(50,150,100,170,100,130);// 頂点の x 、 y 座標を3組ならべる /* 最後のできばえに満足したら、停止してファイルを保存(下向け矢印をクリッ ク)しましょう。 休憩! */

ひと休み(1) 保存したファイルはどこにいったでしょう? ツールメニューの中を調べてみよう。 Examples メニューを覗いてみよう。 お茶でも飲もうか。

課題2 : アンパンマンが マウスやキーボードに反応 サンプルをロードする(配布したフォルダ中の Ptask2_1.pde をダブルクリックまたは、 OPEN (上向け矢 印)をクリックしてメニューから Open を選び、この ファイルを探し出す。) 走らせるとアンパンマンの顔が描けるだけ。 停止して、スケッチの内容を見る。

//Ptask2_1.pde 変数を使う イコール記号 (=) は変数に値を覚えさせるという操作。 float x0=200;// 浮動小数点型の変数。例えば など小数点付きの数を記憶できる。 float y0=150;//x0,y0 は夫々200、150という数値を覚えた。 size (400,300); // kao fill(250,150,150); noStroke();// ふち線なし ellipse(x0,y0,160,160);//ellipse(200,150,160,160) と同じこと //hana stroke(0);// 黒いふち線 strokeWeight(3);// 線の太さ fill(250,100,50); ellipse(x0,y0,50,50); noStroke(); //hidari fill(200,100,100); ellipse(x0-40,y0,40,35);//ellipse(160,150,40,35) に同じ //migi fill(200,100,100); ellipse(x0+40,y0,40,35);//ellipse(240,150,40,35) に同じ

//me fill(0); ellipse(x0-30,y0-30,15,20);//ellipse(170,120,40,35) に同じ ellipse(x0+30,y0-30,15,20);//ellipse(230,120,40,35) に同じ //hansha fill(255); rect(x0-50,y0-10,10,10);//rect(150,140,10,10) に同じ rect(x0-10,y0-10,10,10); rect(x0+30,y0-10,10,10); //Mayu noFill();// ぬりつぶさない stroke(0);// ふち線の色は黒 strokeWeight(5);// 線の太さ // 楕円の一部を描く。楕円の位置、横半径、縦半径、楕円上の始点および終点の角 度(ラジアン) arc(x0-30,y0-30,40,50,PI+QUARTER_PI,radians(360-45)); arc(x0+30,y0-30,40,50,PI+QUARTER_PI,radians(360-45)); //kuchi arc(x0,y0-10,90,120,radians(45),radians(90+45));

/* つくれば工房講習会 2013年6月29日 課題2 −2 */ // mouse -controlled ANPANMAN I.Endo float x0=200; float y0=150; // 絵を描く準備のために一度だけやる仕事を次の大カッコ { } 中に並べる。 void setup() { size (400,300); } Ptask2_2.pde 繰り返し描画とマウス座標の利 用

//void draw () 大カッコ { } の内容に従って画面に絵を書き続ける(一秒間に約60回重 ね書き) void draw() { background(180); // 顔の中心位置をマウスの現在位置に指定 x0=mouseX;y0=mouseY; // kao fill(250, 150, 150);noStroke();ellipse(x0, y0, 160, 160); //hana stroke(0);strokeWeight(3);fill(250, 100, 50);ellipse(x0, y0, 50, 50); //hidari noStroke();fill(200, 100, 100);ellipse(x0-40, y0, 40, 35); //migi fill(200, 100, 100);ellipse(x0+40, y0, 40, 35); //me fill(0);ellipse(x0-30, y0-30, 15, 20);ellipse(x0+30, y0-30, 15, 20); //hansha fill(255);rect(x0-50, y0-10, 10, 10);rect(x0-10, y0-10, 10, 10);rect(x0+30, y0-10, 10, 10); //Mayu noFill();stroke(0);strokeWeight(5); arc(x0-30, y0-30, 40, 50, PI+QUARTER_PI, radians(360-45)); arc(x0+30, y0-30, 40, 50, PI+QUARTER_PI, radians(360-45)); //kuchi arc(x0, y0-10, 90, 120, radians(45), radians(90+45)); }

/* つくれば工房 講習会 2013年6月29日 Ptask2_3 関数、マウスクリック、キーボード、場合によってや ることを変える */ //ANPANMAN I.Endo float x1=200; float y1=150; int kata1=0;// 整数の変数 void setup(){ size (400,300); } void mouseClicked(){ x1=mouseX; y1=mouseY; } void keyPressed(){ kata1++; //kata1 の値を1増やす。 if( kata1>2) kata1=0;// kata1 の値が2以上になれば0に戻す。 } void draw(){ background(180); anpan(x1,y1,kata1); }

void anpan(float x0, float y0, int kata) { // kao fill(250, 150, 150);noStroke();ellipse(x0, y0, 160, 160); //hidari fill(200, 100, 100);ellipse(x0-40, y0, 40, 35); //migi fill(200, 100, 100);ellipse(x0+40, y0, 40, 35); //hana stroke(0);strokeWeight(3);fill(250, 100, 50);ellipse(x0, y0, 50, 50); //me noStroke();fill(0); if (kata==0) { ellipse(x0-30, y0-30, 15, 20);ellipse(x0+30, y0-30, 15, 20);} else {ellipse(x0-30, y0-30, 30, 2);ellipse(x0+30, y0-30, 30, 2);} //hansha fill(255); rect(x0-50, y0-10, 10, 10);rect(x0-10, y0-10, 10, 10);rect(x0+30, y0-10, 10, 10); //Mayu noFill(); stroke(0);strokeWeight(5); arc(x0-30, y0-30, 40, 50, PI+QUARTER_PI, radians(360-45)); arc(x0+30, y0-30, 40, 50, PI+QUARTER_PI, radians(360-45)); //kuchi if (kata==0) {strokeWeight(5);arc(x0, y0-10, 90, 120, radians(45), radians(90+45));}; if (kata==1) {line(x0-40, y0+40, x0+40, y0+40);}; if (kata==2) {fill(250, 100, 50);strokeWeight(2); ellipse(x0, y0+40, 60, 20); }; }

ひと休み(2) Processing を終了して、次は Arduino を動かす。 USB ケーブルで PC と Arduino マイコンボードを接続 新しいボードの場合基板上の LED が点滅する。 Tools メニューの hardware で ArduinoUno を選ぶ。 Tools メニューの Serial Port を選ぶ(多分自動的に できている)

Aruduino 最初の一歩 (1) 何もしないプログラム 新規作成ボタン(左から3番目「 NEW 」)を押して上記内容を入れる。(二 重斜線 (//) の行は注釈なので不要)。 ファイルメニューから名前を付けて保存する。例えば Amystart0 アップロードボタン(2番目の右向け矢印)を押すと Arduino ボードにス ケッチが転送されて、実行される。 (ここでは、何もしないという仕事をする。電源ランプだけがついた状態) // 変数や定数を準備する場所 void setup() { // 最初に一回だけ実行する内容を書く場所 } void loop() { // 繰り返して実行する内容を書く場所 }

Arduino に何かをつなぐ 接続1( LED と抵抗)

最初の一歩 (2) LED を点ける 上記の内容を追加したら、ファイルメニューから名前を付 けて保存する。例えば Amystart1 アップロードボタン(2番目の右向け矢印)を押すと Arduino ボードにスケッチが転送されて、実行される。 再び実行するためには、ボード上のリセットボタンを押す。 void setup() { pinMode(3,OUTPUT);// 3番ピンを出力用に設定 digitalWrite(3,HIGH);// 3番ピン電圧を5 V にする delay(3000); //3000 ミリ秒 (3 秒)待つ digitalWrite(3,LOW);//3 番ピン電圧を0 V } void loop() { }

最初の一歩 (3) LED を点滅( L チカ) 上記のように書き換えたら、5番目ボタン(下向け矢印) をクリックする。これで、上書き保存された。 アップロードボタン(2番目の右向け矢印)を押すと Arduino ボードにスケッチが転送されて、実行される。 loop 部分に書いた内容が、いつまでも繰り返し実行される。 loop 部分に書いた内容が、いつまでも繰り返し実行される。 void setup() { pinMode(3,OUTPUT);// 3番ピンを出力用に設定 } void loop() { digitalWrite(3,HIGH);// 3番ピン電圧を5 V にする delay(3000); //3000 ミリ秒 (3 秒)待つ digitalWrite(3,LOW);// 電圧ピン電圧を0 V delay(1000); // 1秒待つ }

接続2(スイッチをつ ける)

第二歩 スイッチの状態により動作を変える 上記のように書き換えたら、名前をつけて保存。 アップロードボタン(2番目の右向け矢印)を押すと Arduino ボードにスケッチが転送されて、実行される。 ボード上のスイッチにより LED が ON/OFF するはず。 void setup() { pinMode(3,OUTPUT);// 3番ピンを出力用に設定 pinMode(4,OUTPUT);// 4番ピンを入力用に設定 } void loop() { If (digitalRead(3)==HIGH)// もし4番ピンが HIGH(5V) なら { digitalWrite(3,HIGH);} // さもなくば else {digitalWrite(3,LOW);}; }

接続3(可変抵抗)

第三歩 可変抵抗により明るさを変える 上記のように書き換えたら、名前をつけて保存。 アップロードボタン(2番目の右向け矢印)を押すと Arduino ボードにスケッチが転送されて、実行される。 ボード上の可変抵抗のつまみをまわすと LED の明るさが変 わるはず。 int aa; void setup() { pinMode(3,OUTPUT);/ 3番ピンを出力用に設定 } void loop() { aa=analogRead( 0 );//A0 ピンの電圧が0の時0、5 V のとき1023が aa に 入る aa=map(aa,0,1023,0,255);// aa の値(0〜1023)を(0〜255)に圧縮 analogWrite(3,aa); }

接続4(スピーカー) 接続5(明るさセン サー) 10k ohm

第四歩 スピーカーから音を出す 上記のように書き換えたら、名前をつけて保存。ボード上の可変抵抗のつまみをまわすと音の高さが変わる。 Int c5=523,d5=587,e5=659; void setup() { pinMode(8,OUTPUT);//8 番ピンを出力用に設定 tone(8,e5,900);Tone(8,d5,300);tone(8,c5,600);tone(8,d5,600); tone(8,e5,500);delay(100); tone(8,e5,500);delay(100); tone(8,e5,500); } void loop() { if( digitalRead(4)==HIGH){ int aa=analogRead( 0 );//A0 ピンの電圧が0 ~ 5 V のとき aa には 0~1023 1が入る aa=map(aa,0,1023,100,2000);// 値の範囲を 100~2000 に変換 tone(8,aa);}; delay(1); }

第五歩 明るさセンサーの値を PC に表示 上記のように書き換えたら、名前をつけて保存。 PC の Arduino 開発 window の右端(虫眼鏡)ボタンをクリックするとモニターが現 れる。右下の窓に 9600 baud と上記の通信速度の値が合っていれば USB ケーブルか ら受け取ったデータが表示される。 センサーへの光の当て方を変えると、表示値が変わる。 次のステップで使用するので、値の変化する範囲を覚えておく。 void setup(){ Serial.begin((9600);// 通信速度を指定して準備 576//00); } void loop(){Serial.println(analogRead(1)); delay(1000); }

ひと休み(3)したら A と P の連携作品を作ろう

Arduino と Processing の 連携 Serial 通信を利用 まず通信テスト用のスケッチを Processing と Arduino に夫々走らせる。 Arduino からセンサーの値を送り出すスケッチを作 る。 Processing 側では Serial 通信データが来たら、値に 応じて図を変える(例えば、どこかの色を変え る)

Arduino の通信テスト /* Serial CallBck Language: Arduino1.0 ****** June. 20, 2013 by I. Endo */ int inByte; byte lf=10; void setup(){ Serial.begin(57600); } void loop(){ if (Serial.available() > 0) { inByte=Serial.read(); Serial.print("I received "); Serial.write(inByte); Serial.write(lf); }

Processing の通信テスト import processing.serial.*; int lf = 10; // ASCII 改行コード String myString = null; Serial myPort; // The serial port の名前を付けた void setup() { println(Serial.list()); myPort = new Serial(this, Serial.list()[0], 57600); myPort.clear(); myString = myPort.readStringUntil(lf); myString = null; } void serialEvent(Serial myPort) { myString = myPort.readStringUntil(lf); if (myString != null) {print(myString); } } void keyPressed() { char c=key; myPort.write(c); }; void draw() { }

連携作品例 (Processing) import processing.serial.*; int lf = 10; // ASCII 改行コード String myString = null; Serial myPort; // The serial port int bgc; int red=255; int green=255; int blue=255; int [] q;// 複数個の整数値の記憶場所 int paku=0;// 口の開き int esaY=0; int esaX=40; void setup() { println(Serial.list()); myPort = new Serial(this, Serial.list()[0], 57600); myPort.clear(); myString = myPort.readStringUntil(lf); myString = null; size(300, 300); }

void serialEvent(Serial myPort) { myString = myPort.readStringUntil(lf); if (myString != null) { print(myString); q=int(splitTokens(myString)); bgc=int(map(q[0], 100, 800, 0, 255)); } void keyPressed() { char c=key; if (c=='b'){ myPort.write('H');println('H'); paku=paku+5; }else{ myPort.write('L');println('L');paku=0; }; if (c=='s'){myPort.write('S');} } void draw() { background( bgc); noStroke(); fill(red, green, 0); rect(100, 100, 120, 120); fill(0); ellipse(160,160,50,50); fill(red, 0, blue); beginShape(); vertex(100, 130); vertex(50, 160-paku); vertex(100, 160); vertex(50, 160+paku); vertex(100,190); endShape(CLOSE); fill(50,200,50); ellipse(esaX,esaY,20,20); if (q[2]==1){ esaY=esaY+1; esaX=esaX+int(random(-3,3)); if( esaY>300){esaY=0;esaX=40;}; if ((esaY>=160-10)&&(esaY<=160+10)&& (esaX>50)){paku=20;myPort.write('S');} else{paku=0;}; }; }

連携作品例( Aruduino) int ledPin=3; int switchPin=4; int speakerPin=8; char val=' '; void setup(){ Serial.begin(57600); pinMode(ledPin,OUTPUT); pinMode(switchPin,INPUT); digitalWrite(switchPin,HIGH); pinMode(speakerPin,OUTPUT); } void loop(){Serial.println(String(analogRead(1))+”,"+String(analogRead(0)) +", "+String(digitalRead(4))); if (Serial.available()) { val = Serial.read(); } if (val == 'H') { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }; if(val == 'S'){tone(speakerPin,880,50); val=' ';}; delay(5); }

講習会終了にあたって 日々発展中:世界中の人が無償で共同開発を行っ ている。 インターネットとの接続スマートフォンやタブレットとの連携画像認識音声合成 続々と新しいセンサー類開発、低廉化(人体セン サー) 新しい造形装置(3 D プリンター等)との組み合わ せ 社内開発から世界中の人達の共同企画/製作へ ( crowd fabrication)

参考情報 入門書 公式 HP 電子工作関連物品の入手先スイッチサイエンス秋月電子通商Digikey 松本無線(広島市中区銀山 町)

Thanks for joining us! Why don’t YOU MAKE together? 毎週土曜日に各自が作品づくりを楽しんでいます。メー ルでのご質問、ご意見を歓迎します。 8月10日(土)11日(日)山口情報芸術センター Mini Maker Faire に「つくれば工房」も出展します。(参加 費無料) 次回講習会は8月末(?)内容未定:ご意見をください。 使用した Arduino 等の購入希望者はお知らせください。