• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

meatnameのブログ一覧

2021年05月02日 イイね!

[多機能メーター製作]時計と電圧計編

[多機能メーター製作]時計と電圧計編前回有機ELディスプレイ(OLED)と接続できたので、今回は時計と電圧計を作ります。まずはプロトタイプの製作からです。これにはkeyestudioのKS0068(37 in 1 Sensor Kit for Arduino Starters)というセンサーモジュールキットを使用しました。


箱を開けるとこんな具合に37種類ものセンサーが入っています。各センサーとピンヘッダーが小さな基板上に実装されており、これをブレッドボードに挿し込んで使用します。


使用するのはDS3231というデバイスが搭載されたクロックモジュールと、可変抵抗器です。クロックモジュールはマイコンとI2Cで通信して現在時刻を取得することができます。ボタン電池が載っており、メイン電源が切れても時刻のカウントを継続できるので、バイクのACCをオフにしても時計が停止する心配がありません。また、温度測定機能も搭載されています。可変抵抗器モジュールの方は、電圧計の機能をデバッグするために使用しました。マイコンのアナログ入力端子に接続します。


接続図です。fritzingというソフトを使用して作成しています。ネットで探してもkeyestudioのクロックモジュールのパーツデータが見つからなかったので、同じDS3231を搭載した他社モジュールのパーツデータで代用しています。また、前回からOLEDの接続を変更しました。NucleoボードにはLEDが載っており出力ポートで制御できるのですが、このポートが前回OLEDで使用していたSCK/D13と重複しているため、OLED使用時にLEDも点灯してしまうという問題があったからです。


ディスプレイ表示はこんな感じで作成しました。時計の下にバーグラフで分を視覚的に表示しています。また、電圧計はノイズの影響で表示がふらつくため、移動平均処理によるローパスフィルターを入れました。100msec周期でサンプリングし、1sec周期で移動平均処理した上でディスプレイ表示を更新しています。電圧計も同様に右下にバーグラフを表示してみました。


画面表示のモードを切り替えると、DS3231で測定した温度を折れ線グラフで表示できるようにしています。横軸が時間で、過去30分の温度履歴を表示しています。縦軸が温度で、過去30分の最大/最小温度から自動的にレンジを調整してくれるようになっています。


第一段階で盛り込みたい機能の確認が出来ました。
Posted at 2021/05/03 00:37:02 | コメント(0) | トラックバック(0) | 多機能メーター製作 | 趣味
2021年04月11日 イイね!

[多機能メーター製作]ディスプレイ編

[多機能メーター製作]ディスプレイ編私は週末しかエイプに乗らないので、冬場はバッテリーの電圧が気になっていました。バイク用に各社から電圧計が販売されていますが、マイコンを使って趣味で自作することにしました。折角なのでバッテリーだけでなく、時計機能、気温、油温、タコメーター、距離計、燃料計なども作れたらと思っています。

マイコンにはSTマイクロ社のNUCLEO-F411REというマイコンボードを使用します。これはARM社が整備するMbedというプラットフォームで開発可能なマイコンボードで、Arduinoとピン互換になっていたりします。Cortex-M4/FPU 100MHz, Flash512KByte, RAM128KByteと、ハイスペックどころかかなりのオーバースペックなので機能的に不足することはないでしょう。


表示には SSD1306というディスプレイを使用します。有機EL(OLED)なので太陽光の下でも見やすく、0.96インチ128x64ピクセルと非常に小型です。マイコンとはシリアルIFで接続し、I2C方式とSPI方式があります。I2C方式は配線数が少ないというメリットがあるのですが、SPI方式の方が表示が高速とのことなのでこちらを選択しました。半年程前に購入し放置していましたが、そろそろ本気を出そうと思います。


下図がマイコンとOLEDとの接続図です。




SSD1306のライブラリは「関連情報URL」から入手しました。
ピンアサインを上記接続図に変更。
ソフトをマイコンにダウンロードして起動。

おぉ!サンプル画像が表示された!
が、なんか変ですね。。。
画像が縦に伸びているようです。
そして左上には128x32の表示が。
解像度は128x64では?


調べてみるとライブラリのヘッダーファイル「Adafruit_SSD1306.h」に記述のある「Adafruit_SSD1306_Spi」クラスのコンストラクタで、OLEDの高さ指定と思われる個所が32になっていました。これを64に変更。

Adafruit_SSD1306_Spi(SPI &spi, PinName DC, PinName RST, PinName CS, uint8_t rawHieght = 32, uint8_t rawWidth = 128)

Adafruit_SSD1306_Spi(SPI &spi, PinName DC, PinName RST, PinName CS, uint8_t rawHieght = 64, uint8_t rawWidth = 128)

解像度が128x32の製品もあるということでしょうか?よく分かりませんが成功です。
Posted at 2021/04/11 23:52:48 | コメント(0) | トラックバック(0) | 多機能メーター製作 | 趣味

プロフィール

「[整備] #エイプ50 ヘッドライトステーを交換 https://minkara.carview.co.jp/userid/3225331/car/2895357/8281838/note.aspx
何シテル?   06/28 23:53
meatnameです。よろしくお願いします。
みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213141516
17181920212223
24252627282930
31      

リンク・クリップ

カーボン風メーターパネルを制作♪ 
カテゴリ:その他(カテゴリ未設定)
2025/06/15 01:00:24
POSH アルミマシンドウインカー スーパーバイクミニタイプ 
カテゴリ:その他(カテゴリ未設定)
2025/06/01 11:52:03
g-craft ライトステー タイプ3 
カテゴリ:その他(カテゴリ未設定)
2025/06/01 11:04:23

愛車一覧

ホンダ エイプ50 ホンダ エイプ50
久しぶりにバイクに乗りたくなり購入しました。排気量の小さなバイクは構造が理解しやすいので ...

過去のブログ

2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation