2008年6月30日月曜日

2008年6月29日日曜日

6/23(月)講義資料

6/30のPOCHI工房でもXPortを再び扱います。
のでさらっと目を通しておくと良いです☆

stk先生によるXPortとはなんぞや
http://web.sfc.keio.ac.jp/~t06418as/oklab/making/xport/xport_a.pdf

mymr先生による、XPortの設定方法など
http://web.sfc.keio.ac.jp/~t06846hm/xport2.pdf

2008年6月16日月曜日

本日6/16(月)の講義資料

本日POCHI工房で使った講義資料です。
各自しっかり読んで理解を深めてください。

Clients, Servers, and Message Protocols
http://web.sfc.keio.ac.jp/~t05541ss/oklab/2008/spring/pochi/pochi_mtt_chp3.pdf

Networkについて
http://web.sfc.keio.ac.jp/~s06643yt/network.pdf

オブジェクト指向について
http://web.sfc.keio.ac.jp/~s05434ys/okde/object-oriented.pdf

2008年6月12日木曜日

回路図の記号とブレッドボードの使い方について

回路図の記号の読みかた、ブレッドボードの基本的な使い方について説明します!


●回路図の基本的な読み方

今回Chapter2の回路図には、主に「抵抗」・「可変抵抗」・「スイッチ」、あと「グランド」の記号が出てきます。具体的には以下の図のような記号で表されています。
4
また、回路図では、部品同士を接続することを表現するために直線で結びます。このとき混乱しやすいのは、直線同士が交叉しているときの接続です。一般的には以下の図のような条件にしたがって接続を表現されています。
5


●ブレッドボードの基本
1
上下両端にあるのは、電源(今回の場合は5VやGND)を配線するためのブロックです。赤色(+)と青色(-)それぞれが接続されています。またその 間に挟まれた部分は部品を配置するためのブロックです。左右にそれぞれ5つ横に並んだ穴同士がつながっています。横方向に A~E、F~Jの記号と、タテ方向に1,5,10・・・と番号が打ってあります。


●Chapter 2の接続例
僕は下図のようにブレッドボードで回路を組みました。
DSC00575

回路図との対応は以下の図のようになっています。青色枠の箇所同士、ピンク色枠の箇所同士が対応しています。
3
2

トラブルシューティング:ProcessingとArduinoの連携

Arduinoに書き込みも出来た!Processingのプログラムもエラーが出ていない!
それなのに、パドルが動かない、、、値が文字化けする、、、

そんな時は以下を試してみてください。

1)Arduinoを終了させる。

上の画像では、PCにI/Oから値を返しているにも関わらず、パドルが反応しておりません。ArduinoのSerial Monitorがうごいているため、Processingに値がいかないのです。
ArduinoのMonitorを切るとよいでしょう。

2)PCを再起動させる。
これで解決する場合は、やはり多いです。

トラブルシューティング:Arduino

Arduinoに書き込みたいのに上手くいかない。Serial Monitorの表示がおかしい。
など問題が起きた時に試してほしい解決方法のまとめです。

1)COMがあっているか確かめる。
※Winの人のみ
よくある間違いです。Arduinoに関する記事を読んで復習しましょう。


2)Upload to I/O Bordを押してから、基盤のスイッチを押す。
普通は、I/Oのスイッチを押してから書き込みですが、Arduinoの場合、こっちの方が成功しやすいのです。

3)Processingで走らせているプログラムを終了させる。
Serial Monitorで表示されない、といった場合です。一つのプログラムにつき、一つのシリアルしか読めない&逆もしかりだそうです。
よって、シリアル通信を行う際、関連するプログラムは閉じたほうがよいでしょう。
Processingやterminalとか。

4)PCを再起動する。
最後の手段にして、これで解決する場合はよくあります。

2008年6月11日水曜日

chapter3 準備するもの

chapter2もまだ終わっていないのにもう次の話か!
って感じですが、chapter3を行うまでに以下準備お願いします。

chapter3ではPHPという言語でプログラムを書きます。

☆テキストエディタ(好きなものを落としてください)

windowsユーザの方は:

PHP editor
スーパープログラマー翔さまのおすすめPHPエディタ

xyzzy
一番上のxyzzyリンクをクリック
私が2春の時プロ入で使用したテキストエディタで、一応書けました

macユーザの方は:

mac OS Xには最初から「テキストエディット」という
テキストエディタが搭載されています。他にもありますけどね。

mi
グーグルさんで検索すると出てきましたw

☆command lineでリモートアクセスできるソフトウェア

windowsユーザの方は:

PuTTY
A Windows installer for everything except PuTTYtelと文の下の
putty-0.60-installer.exeをダウンロードしましょう。

macユーザの方は:

Terminalというものが[Applications]⇒[utilities]の中にあります。
そこでsshというコマンド入力をすると使えます。

☆ウェブカム

安いものは500円くらいから秋葉原で買えます。


macユーザの方へ:

macbookにはもうカメラが搭載されていると思います。
別にUSBカメラを使いたいmacユーザの方はドライバを入れましょう。
macamというドライバです。
インストール後macamの中にあるmacam.componentというファイルを
ハードディスクの[ライブラリ]⇒[Quicktime]ディレクトリに入れましょう。
/Library/Quicktime/macam.component って。
そうするとウェブカムを使うソフトウェアで、
ちゃんとウェブカムが認識されるようになります。

☆ウェブカムの画像を取り込むソフトウェア

googleで調べると色々でてきますが、本がお勧めしているのは

windowsユーザの方は:

fwink

macユーザの方は:

Evocam
シェアウェアなので有料なんですね、これが…

☆感圧センサ

ツクモロボット王国で売っています。一つあたり2600円くらいします。
でも8個まとめ買いすると一人あたり2060円になります!


よろしくお願いします。

トラブルシューティング:デバック

ソースを書き込んで、RUNだ!という時に、エラーが出て先に進めません。
そんな人へのアドバイス。

キホンはエラーメッセージを読んで、チェックしていきましょう。
メッセージによって、だいたいチェックの仕方が分かります。
よく出るメッセージと対応方法をまとめたので、参考にしてみてください。

1)No fieldname " "found in ....

そんな名前のクラス、オブジェクト、引数etcはないですよ。って言われた場合。
たいてい
「宣言していない」もしくは「タイプミス」が考えられます。
画像ではLinefeedに関する記述がないといっているので、ソースの一番最初から、自分がLinefeedの記述をした(と思っている)ところを探して行きます。


どうやら一番最初のintの宣言が間違っていたようでした。Linefedになっていたのでlinefeedに修正。
これで動きました。

なお画像では「No fieldname " "found in ....」の後に「Linfedっていう近い名前のものならある」とエラーメッセージが続きます。これでなんとなく、間違いのあたりがついてきます。

2)Syntax error, maybe a missing semicolon?

前後で;を忘れてるんじゃないか?と聞いてくれています。
ちょうど前の段のsize(640,480)の後、;が抜けてました。

3)Found too many {characters without a} to match

{}が足りない、というエラーです。ifの後や、voidの後に、きちんと{}が入っているか確認しましょう。

4)unexpected tolken: void
これはちょっと面倒です。

画像ではsetupの後に()が足りなかったようです。
他にも、前のvoid文が{}で閉じられていなかった場合も起こりえます。
ちょっとずつ{}の数があってるか、()ははいっているか,;はあるか?を確認していってください。
※Macユーザーの場合、ソース冒頭のimport文はsketch>Import Library>serial、、、という方法で記述してください。これを行わない場合にも、同様のエラーが出るようです。

5)その他、よくある間違い
全角スペースを使っていたりしませんか?英数入力になっているか常に確認しましょう。

vista@Arduino

windows vistaをお持ちの方でArduinoが上手く起動しない方へ

Arduinoの中にあるJAVAファイルをどけてみて下さい!

起動するはず…

2008年6月9日月曜日

Arduinoに書き込むforMac

Macの人がArduinoに書き込む方法です。基本はWinと一緒ですが、より簡単です。

1)USBケーブルでArdunoとPCをつなぐ

2)Arduinoソフトウェアを起動しましょう。
 [Tools]⇒[Serial port]⇒[dev/cu.usbserial-A10166Y]



ここからはWinユーザと一緒です!

3)LEDを光らせるプログラムを書く
 プログラムは本のp.39にあります。

int LEDPin =13;

void setup(){
pinMode(LEDPin, OUTPUT);
}

void loop(){
digitalWrite(LEDPin, HIGH);//turn on the LED
delay(500);
digitalWrite(LEDPin, LOW);//turn off the LED
delay(500);
}

4)Verifyボタンを押す。(再生ボタンみたいなやつ)
 プログラムに間違いがあるとエラーが出ます。

5)Done Compiling.とでたらOKです。


6)Arduinoソフトウェア上の「Upload to I/O Board」ボタンを押して、
 すばやく0.5秒ぐらい後にArduino基盤上の「リセットボタン」を押します

7)先程Done compiling.が出たところにDone Uploadingと出れば書き込み成功です!

これでプログラムが実行されます。
「Upload to I/O Board」ボタンの右となりにある「Serial Monitor」を押しても起動します。

Arduinoに書き込む

Arduinoへのプログラムの書き込み方です。

①USBケーブルにArduinoをつなぐ

Windowsユーザの方はシリアルポートを確認しましょう。
以下、Windowsの方:

②「マイコンピュータ」を右クリックして「プロパティ」を開く。

③「ハードウェア」の「デバイスマネージャ」を選択。


④ポート(COMとLPT)の中に、「USB Serial Port」がある事を確認する。
 COM3が割り当てられている事を覚えておきましょう。
 人によってCOMの数は違うので注意しましょう!


⑤Arduinoソフトウェアを起動しましょう。
 [Tools]⇒[Serial port]⇒[COM3]


ここからはMacユーザも一緒です!

⑥LEDを光らせるプログラムを書く
 プログラムは本のp.39にあります。

int LEDPin =13;

void setup(){
pinMode(LEDPin, OUTPUT);
}

void loop(){
digitalWrite(LEDPin, HIGH);//turn on the LED
delay(500);
digitalWrite(LEDPin, LOW);//turn off the LED
delay(500);
}

⑦Verifyボタンを押す。(再生ボタンみたいなやつ)
 プログラムに間違いがあるとエラーが出ます。

⑧Done Compiling.とでたらOKです。


⑨Arduinoソフトウェア上の「Upload to I/O Board」ボタンを押して、
 すばやく0.5秒ぐらい後にArduino基盤上の「リセットボタン」を押します




⑩先程Done compiling.が出たところにDone Uploadingと出れば書き込み成功です!

これでプログラムが実行されます。
「Upload to I/O Board」ボタンの右となりにある「Serial Monitor」を押しても起動します。

080609 POCHI工房

6月9日POCHI工房はChapter2を元に進めていきます。

今回の目標

☆回路図が読めるようになる!
☆Arduinoに書き込めるようになる!
☆はんだづけが出来るようになる!

です。

わからないことはどんどん聞いてくださいね♪♪