アナログジャイロセンサーについて(その7)
モニタ表示があれば、センサーの値を使ったプログラムのデバッグが容易になる。
I2C接続のモニタだと結線も容易にできる。
動画で使っているOLEDはこちら。ドライバICがSSD1306のもので、AdafruitのArduino用SSD1306ライブラリを使うことで簡単に利用できる。
- I2C シリアルOLED液晶ディスプレイモジュール 128x32
- GitHub - adafruit/Adafruit_SSD1306: Arduino library for SSD1306 monochrome 128x64 and 128x32 OLEDs
- 基板サイズは秋月D型
- Arduino ProMicro(互換品)
- MPU-6050
- OLEDの下にDAC(MCP4726)
loop()内では、毎周ではなく、適当な周回(動画では50周ごと)で画面を更新し、三角関数を使い図形を作成している。
int x1_, y1_, x2_, y2_, x3_, y3_; float x1, y1, x2, y2, x3, y3; float sn, cs; sn = sin(- 3.14 * mydeg / 180); cs = cos(- 3.14 * mydeg / 180); x1 = 0; y1 = 15; x2 = -4; y2 = -15; x3 = 4; y3 = -15; x1_ = (int)(x1 * cs - y1 * sn) + 16; y1_ = (int)(x1 * sn + y1 * cs) + 16; x2_ = (int)(x2 * cs - y2 * sn) + 16; y2_ = (int)(x2 * sn + y2 * cs) + 16; x3_ = (int)(x3 * cs - y3 * sn) + 16; y3_ = (int)(x3 * sn + y3 * cs) + 16; display.drawLine(x1_, y1_, x2_, y2_, WHITE); display.drawLine(x2_, y2_, x3_, y3_, WHITE); display.drawLine(x3_, y3_, x1_, y1_, WHITE);
三角関数が理解できれば、プログラムの幅も広がるので、良くわからない方には以下をオススメ。
- 作者: 結城浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/04/24
- メディア: 単行本
- この商品を含むブログ (12件) を見る
一連のブレッドボードのイメージはFritzingで作成した。
Fritzingでは独自のパーツも作成できる。
(ProMicroのMicroUSBコネクタがもげたので、おわり)