FrontPage
概要 †
インストール †
Ubuntu 12.04 †
sudo apt-get update && sudo apt-get install arduino arduino-core
ライブラリの追加 †
Ubuntu 13.04 †
サンプル集 †
- github
- フォルダ内にlibraryというフォルダがある場合は,その中に入っているライブラリをインストールしてください.
ピンアサイン †
- シリアル通信をしている場合は,pin0とpin1は使えない.
環境開発設定 †
Ubuntu 13.04 †
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get -y update
sudo apt-get -y install oracle-java7-installer
sudo apt-get -y install arduino arduino-core
動作確認 †
- Arduino IDE起動
- Ubuntu13.04では"arduino"をterminalで打つ.
- Ubuntu12.04では"sudo arduino"をterminalで打つ.
- コードを書く場所に以下を記述
int led = 13;
void setup(){
pinMode(led,OUTPUT);
}
void loop(){
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
}
- Verifyを押す
- Uploadを押す
- 基板上のLが1秒ごとに光っていることを確認
Tips †
ファイル分割 †
- ファイル分割は,タブ追加によって可能.
- タブ追加
- タブの行の謎の逆三角形をクリック→新規タブ→cppを追加、でcppを追加できる。
- externやincludeする場合はextern "C" { #include "hoge.h"}を忘れずに。
- ソースコードを外部から変更したい場合
- Arduinoをいったん閉じる
- ドキュメント/arduino/プロジェクト/hoge.cppを変更
- Arduinoを起動してプロジェクトを開く
- tabも更新されている。
シールド †
- 僕は普通に動いたが,「setup関数にdelay(500)を入れたら動いた」なるレビューがある
- ここが参考になる
- USB_Host_Shield_20ライブラリは,デフォルトデバッグモード.
- デバッグモードを切る場合は,USB_Host_Shield_20/settings.hのENABLE_UHS_DEBUGGINGを0にする.
Sample †
時間取得 †
unsigned long ms, us;
ms = millis(); // Arduino をリセットしてからの時間(ミリ秒)
us = micros(); // Arduino をリセットしてからの時間(マイクロ秒)
- GY-86のGyroX, AccelZを使って,傾斜角とジャイロの0点をカルマンフィルタで推定するサンプル.
I2C †
- Wireライブラリ(標準で入っている)を使う.
- wire
- 手順
- プログラムで一回だけ
- 送信
- Wire.beginTransmission((uint8_t)address);
- Wire.write(data);
- Wire.endTransmission();
- 受信
- Wire.requestFrom((uint8_t)address,(uint8_t)nu,); // request a total of num registers
- Wire.read()をnum回呼んでバッファを空にする
gy-86との通信 †
- 概要
- 内部にMPU6050 (Gyro&Accelerometer&Tempreture), HMC58831 (Compass), MS5611 (Altimeter)が入っている。
- FreeIMUv0.4と同じハードウェア
- ピンの順番は異なる、GY-86のデータシートは一体どこ?
- Arduinoとの結線
- SDA->SDA, SCL->SCL, VCC_IN->3.3V, GND->GND、とするだけ。
- 通信