スポンサーサイト

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

13年度ロボカップ11 いろいろ動かなかった

いろいろ動かなかった。

1,自作arduinoとArduinoUNO間でI2Cによる通信がしたかった

2、Atmega8u2 breakoutで自作Arduinoにプログラムを書き込みたかった

で、まずは一つ目のI2Cから

あの自作Arduinoを作った理由はモータードライバをあれに制御させてメインのArduinoには処理に専念してもらう+ピン数増加をねらったもので、そのためには2つのArduno間をなんらかの方法で接続する必要がある。

候補はSPI Serial I2C

SerialはUnoがPCとの通信に使うし、SPI知らないし、ってことでI2Cに決定。

何の議論もなしに決定してるぞおい・・・

そうしてI2Cで通信させようと5V GND SCL SDAをそれぞれ配線してみる。

27番ピンがSDAで28番ピンがSCLだ。

が、しかし

動かない

なぜー

と原因わからないまま放置し続けて半年たっていた

何してるんだ・・・

で、今日なぜ動かなかったのか原因がわかった

とっても簡単

2012写真6

AVRから端子まで配線してないじゃないか!!!

・・・

はいそうですよ。ここを配線したら動きましたよ・・・。

2012写真5

という。ただそれだけ。

こんなのに半年も悩んでいたのか・・・

こいつはダイセンモータードライバのI2Cと互換性を持たせて最悪の場合でもe-gadgetで制御できるようにするつもり。

さらに方向(0~359)とスピード(0~255)と回転したければ回転速度(0~255)を入力すれば自動的に4つのモーターにかけるべきパワーを自動で計算してくれて、さらにそのままモータードライバへ命令をしてくれる夢のような関数motor()を搭載してUnoで簡単に制御できるようにするつもり。

motor()は日本大会の会場で完成したというすごい経歴を持つプログラムで、三角関数を利用して各モーターのパワーを算出してくれる。

ああああああああああああああああああ 何もなかったよおおおおおおおおおおおおおおお
(数学きらいな理系の叫び)


で、2つめのatmega8u2 breakoutのことなんだが・・・

まだ動かない。

あの悪名高きエラー文

avrdude stk500_getsync() not in sync resp=0x00

を吐いてくれる。

これはどういう状態なのかをUnoで再現してみると、こんな状態

ArduinoUnoのボードからatmega328pを抜いた状態でプログラムをアップロードしようとする

ということは自作ArduinoのピンとAVR本体が接続されていない状態?

これって・・・その・・・上の写真の状態じゃないか

配線してなかったのなら動くはずはない。

そして配線する

が、動かない

ドユコト?

試しにUnoのrxtxにbreakoutのピンを接続してみた

が、動かない

え・・・

サイトにはIDEでArduinoProを選択してアップロードしろとか書いてあったのだが、動かなかった。

どうなってるんだこれ・・・。

原因はbreakoutにあるのだろうがきっと簡単な理由なのだろう

今日のI2Cの例を見ればわかるように・・・


//理由わかりました。RXTXをつなぎアップロードを開始してから自作Arduinoのリセットボタンを押せば動きました。

今日のつぶやき
神暇に誘われた焼肉行けなかったよ・・・
親に止められたよ・・・

この記事は書いたのは27日で投稿したのは28日です。
スポンサーサイト
プロフィール

Vega  Altair

Author:Vega Altair
大学生になりました。
44番というチームでロボットの大会に出ていたドリルの刃を手で回してアルミ板に穴を空ける系プログラマー。
twitter始めました
サイト跡地にのなめ倉庫を設置してみた。下のリンクからどうぞ。

カレンダー
04 | 2012/05 | 06
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
最新コメント
最新記事
月別アーカイブ
カテゴリ
きたひと
このblogには
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

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