NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(gb.battery.voltage関数の使い方)

■gb.battery.voltage関数
 Gamebuimo.hライブラリのgb.battery.voltage関数は、バッテリの測定電圧をミリボルト(mV)単位で返します。

■使用例
 gb.battery.voltage関数を使ったArduinoIDEのプログラム例は図1の通りです。
 このプログラムを実行するとsetup関数中のgb.begin関数でGamebuinoオブジェクトを初期化し、gb.titleScreen関数で画面に「Menu example」と表示します。
 スタート画面でキーボードの「K」(GamebuinoのA)ボタンを押すと画面左上に「strSystemInfo」「strChangeGame」と表示されます。
 「strSystemInfo」でキーボードの「K」ボタンを押すとバッテリー電圧(gb.battery.level関数)等の詳細情報が画面表示され、「strChangeGame」でキーボードの「K」ボタンを押すとgb.changeGame関数が実行され「Flashing loader… DON'T TURN OFF!」と表示後ゲーム選択画面に戻ります。
 参考に図1プログラムをHEXファイルに変換し、それをSimbuino4Webエミュレートした結果を図2に示します。

#include <SPI.h>
#include <Gamebuino.h>
Gamebuino gb;

////declare all the variables needed to make a menu
//number of items in the menu
#define MENULENGTH 2
//The differents strings to put in the menu
//each string can be used in different menus
const char strSystemInfo[] PROGMEM = "Stystem info";
const char strChangeGame[] PROGMEM = "Change game";
//Put all the different items together in a menu (an array of strings actually)
const char* const menu[MENULENGTH] PROGMEM = {
   strSystemInfo,
   strChangeGame,
};

void setup() {
   gb.begin();
   gb.titleScreen(F("Menu example"));
}

void loop() {
   switch (gb.menu(menu, MENULENGTH)) {
       case -1: //nothing selected
           gb.titleScreen(F("Menu example"));
           break;
       case 0: //display system info
           displaySystemInfo();
           break;
       case 1: //change game
           gb.changeGame();
           break;
       default:
           break;
   }
}

void displaySystemInfo() {
   while (1) {
       if (gb.update()) {
           if (gb.buttons.pressed(BTN_C)) {
               gb.sound.playCancel();
               return;
           }
           gb.display.print(F("Bat:"));
           gb.display.print(gb.battery.voltage);
           gb.display.println(F("mV"));

           gb.display.print(F("Bat lvl:"));
           gb.display.print(gb.battery.level);
           gb.display.println(F("/4"));

           gb.display.print(F("Light:"));
           gb.display.println(gb.backlight.ambientLight);

           gb.display.print(F("Backlight:"));
           gb.display.println(gb.backlight.backlightValue);

           gb.display.print(F("Volume:"));
           gb.display.print(gb.sound.getVolume());
           gb.display.print(F("/"));
           gb.display.println(gb.sound.volumeMax);
       }
   }
}
イメージ 1
図1:プログラム例
 

 イメージ 1
図2:プログラム実行結果

 

■構文
 gb.battery.voltage

■パラメータ
 ありません 

■戻り値
 バッテリ電圧(unsigned int)

■補足
 例:battery_loggerの例では、10分ごとにバッテリ電圧をマイクロSDカードに記録しています。これはデフォルトでSDカードに提供され、BAT-LOG.HEXという名前です。

 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【Gamebuinoリファレンス】目次に戻る