スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

I2C実験中

Naoです。

今日は、I2C通信について実験したので、内容と結果を書きたいと思います。

内容はArduino Duemilanoveを2個I2C接続して、スイッチのON/OFFで
スレーブ側のArduinoから送る内容を変更するというものです。

プログラムの内容
マスター側

#include

void setup()
{
Wire.begin(); // I2Cバスのマスター側に設定
Serial.begin(9600); // シリアル通信データ転送レートの設定
}

void loop()
{
Wire.requestFrom(2, 8); // スレーブの2番に接続されているデバイスから8バイトのデータを取得

while(Wire.available()) // Wire.available()がfalseになるまで(たぶん受信データの受信が終わるまで)ループ
{
char c = Wire.receive(); // 1バイト受信
Serial.print(c); // シリアルポートに受信データを送信
}

delay(500);
}


スレーブ側

#include
int a =0; //スイッチの値
void setup()
{
Serial.begin(9600);
Wire.begin(2); // I2Cバスのスレーブ側の2番に設定
Wire.onRequest(requestEvent); // マスターに呼ばれたときに呼び出す関数の設定
pinMode(12,INPUT); // スイッチの接続ポートの設定
}

void loop()
{
delay(100);
}

void requestEvent()
{
a = digitalRead(12); //スイッチの値の読み込み(0 or 1)
Serial.print(a); //スイッチの値をシリアルポートへ送信
if (a == 1){
Wire.send("Koisora "); // 8バイト送信
}
else{
Wire.send("NaGaTo "); // 8バイト送信
}
}

接続図です。クリックで拡大します。
I2C1

3個通信もやろうとしたのですが、失敗してしまったので、やり直したいです。

送信するバイト数が足りないと y になるっぽいです。

ロボットに使えるかな?

Nao
スポンサーサイト

えー

今までのロボットのいいところと悪いところをまとめて、
作り直したいと思います。

Nao

四国ブロック大会

負けました。7位でした。
はっきり言って原因は僕のロボットの不調です。
黒い箱の方位センサを取り付けていた部分が壊れ、動作が不安定になったのだと思います。
そしてロボットをきちんと仕上げられなかった僕が原因です。

今回の失敗を踏まえて、これからがんばっていきたいです。

Nao

Reverse2位、さぬきUDON!3位おめでとーございます!

準備中

Naoです。
今、明日の大会のもって行くものの準備をしています。
がんばりたいです!!


Nao

完成直前!

あと、コネクタとスイッチで完成!!

Nao

ピンががががが

コネクタが足りない・・・

Nao

おまけ

cad.jpg


CADったよ。

デミスツヨクネ?

題名通りです。

それより、はよロボット作らんと!

Nao
プロフィール

Nao

Author:Nao
Nao:ロボカッパー,Mtgプレイヤー

FC2カウンター
FC2カウンター
現在の閲覧者数:
最新コメント
最新トラックバック
カテゴリ
FC2ブックマーク
ゆっくりみていってね
初音ミク 名曲メドレー


presented by 初音ミク オリジナル

検索フォーム
リンク
QRコード
QRコード
最新記事
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。