Wio Terminal シャーシバッテリー(650mAh)
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Wio Terminal バッテリーシャーシは、Wio-Terminal 開発ボードにとって必須の拡張ボードです。これは、Wio Terminal に外部電源を提供し、その携帯性とコンパクトさを向上させます。650mAhの充電式リチウムポリマー電池、バッテリー充電/放電状態LED、4つのGroveアナログ/デジタルポート、1つのGrove I2Cポート、1つのGrove UARTポート、そして美観と保護のためのABSエンクロージャを備えています。 また、Wio Terminal バッテリーシャーシの背面には、追加の拡張が可能なRaspberry Pi互換の40ピンGPIOも搭載されています。
新しいバージョンのWio Terminal バッテリーシャーシには、Texas InstrumentのBQ27441-G1A が追加されました。この自己校正型、I2Cベースの燃料ゲージはリチウムポリマー(LiPo)バッテリー用で、バッテリーの電圧を測定して充電率と残容量を推定することができます!
特徴
- 内蔵650mAh充電式リチウムポリマー電池
- バッテリー充電/放電状態LED
- バッテリーオン/オフボタン
- LiPoバッテリー用内蔵BQ27441-G1A燃料ゲージ
- USB Type-C充電
- 過電流保護
- ヒカップモード/ヒカップ保護
- 4 x Groveアナログ/デジタルポート
- 1 x Grove I2Cポート
- 1 x Grove UARTポート
- エンクロージャ内に隠された磁石により、ホワイトボードに貼り付け可能!
仕様
項目 | 詳細 |
---|---|
電源供給 | 4.75V - 5.25V |
内蔵バッテリー | 650mAh |
充電電流 | 最大: 660mA |
バッテリーボードモード | 緑色LED: 点灯はボードが充電中を意味します。 赤色LED: 点灯はOTG(バッテリー放電)が有効であることを意味します。 黄色LED: 点灯はオスインターフェースが5Vの出力/入力を行っていることを意味します。 |
GPIO出力 | 最大電圧: 5.15V 最大電流: 380mA |
トリクル充電電流 | 30mA |
Groveインターフェース | Groveアナログ/デジタル *4, Grove I2C* 1, Grove UART * 1 |
ハードウェア概要


注意事項
ボードが充電モードの間にバッテリーが取り外されると、ボードは故障モードに切り替わり、緑色のライトが1Hzの頻度で点滅します。
バッテリーボードを使用していない場合は、ボタンを押してスリープモードに入り、すべてのLEDが消灯します。
LiPoバッテリーの状態を検出する
SparkFun_BQ27441_Arduino_Libraryのリポジトリにアクセスし、リポジトリ全体をローカルドライブにダウンロードしてください。
次に、ライブラリをArduino IDEにインストールします。Arduino IDEを開き、
スケッチ
->ライブラリを含める
->ZIP形式のライブラリを追加
をクリックし、先ほどダウンロードしたSparkFun_BQ27441_Arduino_Library
ファイルを選択してください。
サンプルコード
以下のコードを使用して、バッテリーチャーシスの状態を読み取ることができます。

#include <SparkFunBQ27441.h>
#include"TFT_eSPI.h"
TFT_eSPI tft;
TFT_eSprite spr = TFT_eSprite(&tft); // スプライト
#define FF17 &FreeSans9pt7b
const unsigned int BATTERY_CAPACITY = 650; // Wio Terminal バッテリーの容量を設定
void setupBQ27441(void)
{
// lipo.begin()を使用してBQ27441-G1Aを初期化し、接続と通信を確認します。
if (!lipo.begin()) // begin()は通信が成功した場合にtrueを返します
{
// 通信が失敗した場合、エラーメッセージを表示して無限ループに入ります。
Serial.println("エラー: BQ27441との通信ができません。");
Serial.println("配線を確認して再試行してください。");
Serial.println("(バッテリーはBattery Babysitterに接続されている必要があります!)");
tft.setTextColor(TFT_RED);
tft.setCursor((320 - tft.textWidth("バッテリーが初期化されていません!"))/2, 120);
tft.print("バッテリーが初期化されていません!");
while (1) ;
}
Serial.println("BQ27441に接続されました!");
// lipo.setCapacity(BATTERY_CAPACITY)を使用してバッテリーの設計容量を設定します。
lipo.setCapacity(BATTERY_CAPACITY);
}
void printBatteryStats()
{
// BQ27441-G1Aからバッテリーの状態を読み取ります
unsigned int soc = lipo.soc(); // 残量(%)を読み取る
unsigned int volts = lipo.voltage(); // バッテリー電圧(mV)を読み取る
int current = lipo.current(AVG); // 平均電流(mA)を読み取る
unsigned int fullCapacity = lipo.capacity(FULL); // 最大容量(mAh)を読み取る
unsigned int capacity = lipo.capacity(REMAIN); // 残容量(mAh)を読み取る
int power = lipo.power(); // 平均消費電力(mW)を読み取る
int health = lipo.soh(); // 健康状態(%)を読み取る
// これらの値を出力します:
String toPrint = String(soc) + "% | ";
toPrint += String(volts) + " mV | ";
toPrint += String(current) + " mA | ";
toPrint += String(capacity) + " / ";
toPrint += String(fullCapacity) + " mAh | ";
toPrint += String(power) + " mW | ";
toPrint += String(health) + "%";
Serial.println(toPrint);
// LCDグラフィックス
tft.setTextColor(TFT_BLUE);
tft.drawRoundRect(10, 10, 300, 220, 10, TFT_BLUE);
tft.setTextColor(TFT_MAGENTA);
tft.drawString("残量:", 20, 30);
tft.drawString("バッテリー電圧:", 20, 55);
tft.drawString("平均電流:", 20, 80);
tft.drawString("残容量:", 20, 105);
tft.drawString("最大容量:", 20, 130);
tft.drawString("平均消費電力:", 20, 155);
tft.drawString("健康状態:", 20, 180);
// データ
spr.createSprite(80, 170);
spr.fillSprite(TFT_BLACK);
spr.setFreeFont(FF17);
spr.setTextColor(TFT_WHITE);
spr.drawString(String(soc)+" % ", 0, 0);
spr.drawString(String(volts)+" mV ", 0, 25);
spr.drawString(String(current)+" mA ", 0, 50);
spr.drawString(String(capacity)+" mAh ", 0, 75);
spr.drawString(String(fullCapacity)+" mAh ", 0, 100);
spr.drawString(String(power)+" mW ", 0, 125);
spr.drawString(String(health)+" % ", 0, 150);
spr.pushSprite(170, 30);
spr.deleteSprite();
}
void setup()
{
Serial.begin(115200);
tft.begin();
tft.setRotation(3);
tft.fillScreen(TFT_BLACK);
tft.setFreeFont(FF17);
setupBQ27441();
tft.setTextColor(TFT_GREEN);
tft.setCursor((320 - tft.textWidth("バッテリーが初期化されました!"))/2, 120);
tft.print("バッテリーが初期化されました!");
delay(1000);
tft.fillScreen(TFT_BLACK);
}
void loop()
{
printBatteryStats();
delay(1000);
}
回路図オンラインビューア
リソース
技術サポート
弊社製品をお選びいただきありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートを提供しております。お客様のご希望やニーズに応じた複数のコミュニケーションチャネルをご用意しています。