Help us understand the problem. What is going on with this article?

Qduinoを使ってLi-ionバッテリーの残量を調べてみた

More than 1 year has passed since last update.

はじめに

IoTデバイス開発をやっていると、(特にモバイル用途で)バッテリーは欠かせない存在になってくるのですが、Li-ionバッテリーを使うと残量が気になります。
スマホだと残量が画面右上に出てたりするんですが、バッテリーが切れたら静かにお亡くなりになるデバイスは悲しいので、Li-ionバッテリーの残量を計測できるチップ「MAX17048」を搭載したQduino Miniを動かしてみました。
キャプチャ.PNG

用意するもの

  • Qduino Mini
  • MicroUSBケーブル
  • Li-ionバッテリー
  • ArduinoIDE
  • パソコン

やってみた

とりあえず、SparkfunのDocumentってところに、Quickstartのリンクがあったので、これを頼りに進めていきます。
Qduino Mini Quickstart Guide

ちなみに、QduinoのMicroUSBは、給電・充電・通信が行えるようです。

接続

USBを繋ぐと、いきなりLEDがピカピカ光ります!
結構まぶしい。
キャプチャ.PNG
上に置いてあるのが今回検証したいLi-ionバッテリー。この時点で残量不明。

PC側はデバイスのインストールダイアログが出ますがとりあえず無視。。

ArduinoIDEにボードを追加する

いきなりQuickstartに裏切られました。
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
を追加すると、ボードマネージャにQtechknow Boardsが出てくると書いてありますが、出てきません。。

おそらくと思って、こちら(SparkFun AVR boads)をインストールしてみます。
キャプチャ.PNG

きました。
キャプチャ.PNG

ドライバのインストール

2度目の裏切りです。

Step 2.5 (Windows users only) - Signed driver

Navigate to \Arduino15\packages\Qduino Mini\hardware\avr\1.0.6\ and install the signed drivers like below:

謎のディレクトリを指定されていて見つかりません。。
ググった結果下記にあるようです。
https://github.com/sparkfun/Arduino_Boards/tree/master/sparkfun/avr/signed_driver

早速落として、ドライバをインストールします。
キャプチャ (1).PNG

認識した様子。
キャプチャ (2).PNG

私のPCではCOM4に接続されているようなので、ArduinoIDEからボードとシリアルポートを選択しておきます。
キャプチャ (3).PNG

サンプルスケッチ rgbLED を動かしてみる

Quickstartのキャプチャとちょっと違うけど、rgbLEDを選んでみます。
キャプチャ (4).PNG

マイコンボードに書き込む。
キャプチャ (5).PNG

光り方が変わった!
キャプチャ.PNG

わかりづらいですが、紫色に光ってます。
というか、レインボーに光るみたい。

サンプルスケッチ fuelGauge を動かしてみる

お待ちかねのバッテリー残量表示を試してみます。
キャプチャ (6).PNG

fuelGaugeをマイコン転送します。

シリアルモニタで確認。
まだLi-ionバッテリー繋いでないけど104%とか出てる。。
キャプチャ (7).PNG

気を取り直して、バッテリーを繋いでみます。
キャプチャ.PNG
LEDは勝手に光ってますね。

シリアルモニタを見てみると。。
キャプチャ (8).PNG
お。77%が取れてます!

少し待つと。。
キャプチャ (9).PNG

徐々に値が増えてきました。充電はされているようですね。
ただ、78%と79%が混在しています。

小数以下四捨五入されているのか、単純に整数化したときのセンサーの誤差か。。
「○○%以上なら~」の条件で場合分けする時は要注意と思われます。

まとめ

QduinoはArduino互換でAtmelのATmega32を搭載しています。
Li-ionバッテリーをそのまま繋ぐことができるPHコネクタソケットを搭載していて、充電&残量計測までできます。
持ち運びできるIoTデバイスの開発が捗りますね!

次回

「RaspberryPiからQduinoのMAX17048に直結させて、Node.jsで残量を取得する」(ほんとはこれがしたかった)
乞うご期待!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした