arduino でシリアル通信
こんな arduino 言語のプログラムを書いて実験してみました.
void setup() {
Serial.begin(9600);
Serial.println("HELO");
}
void loop() {
int i = 0;
for (; i < Serial.available(); i++)
Serial.print(Serial.read(), BYTE);
if (i != 0)
Serial.println();
}
やってることはこんな感じです. エコーサーバみたいな動作を期待しています.
- arduino 上で受信できていれば受信データを送信する. これを受信バイト数回繰り返す.
- 受信できてるときだけ最後に改行を送信する.
期待してたのは「PC から送信した単位で受信する」だったのですが, arduino 上の処理が速いため?か, 以下のように細切れになりました.
HELO
E
L
O
h
o
geh
og
e
本当に arduino 上の処理が速いのかさらに実験. ボーレートを 115200 にして再チャレンジ. ソース変更点は以下だけ.
void setup() {
Serial.begin(115200);
Serial.println("HELO");
}
結果は以下のとおりで変化なし. 「PC から送信した単位で受信する」を実現するには, ちゃんとバッファを実装しないとだめみたいです.
HELO
h
o
g
e
h
o
geh
og
e
Making Things Talk ―Arduinoで作る「会話」するモノたち (Make:PROJECTS) 買いました
arduino といえばこの本を買わないとなーってことで買ってしまいました. そしてブレッドボードとか各種電子部品とかを 7000 円分くらい 共立エレショップ で購入. 明日届く予定で楽しみです!
Making Things Talk ―Arduinoで作る「会話」するモノたち (Make:PROJECTS)
- 作者: Tom Igoe,小林茂(監訳),水原文
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/11/17
- メディア: 大型本
- 購入: 3人 クリック: 134回
- この商品を含むブログ (30件) を見る
参考リンク
arduino についていろいろ調べてます. 以下のページがすごく参考になったり楽しかったりでおすすめです.
- http://jp.makezine.com/blog/arduino/ はオライリーの MAKE のブログです. arduino タグがついたページがたくさんあって, 世界中の arduino ユーザが楽しいことしてます. ムービーがいっぱいあるので延々と見てしましいます. やばい.
- Arduino 日本語リファレンス は arduino 言語のリファレンスマニュアルが日本語に翻訳済みで公開されていてすごく助かってます.
- 本家 のマニュアルもよく目を通します. ライブラリも置いてありますがまだ使い方がわかってません(コンパイルエラーになって解決できてない).
- Arduino Duemilanove ハードウェアスペック について日本語で解説されています.
- http://artstudium.org/kousaku/arduino/ は arduino を使った各種実験結果が記録されていてとても楽しいです.
- スタパ齋藤の「週刊スタパトロニクスmobile」 もっと使うゼ!! Arduino!! もすごく楽しいです.