コントローラー入力 †Adafruit_ArcadaクラスのreadButtonsで押しているボタンを取得することができます。 サンプルプログラム †#include <Adafruit_Arcada.h> Adafruit_Arcada arcada; void setup() { Serial.begin(9600); if(arcada.arcadaBegin() == false) { Serial.print("Failed to begin"); while (1); } arcada.displayBegin(); arcada.setBacklight(255); } void loop() { arcada.display->fillRect(0, 0, 160, 128, ARCADA_BLACK); arcada.display->setTextColor(ARCADA_WHITE); uint8_t pressed_buttons = arcada.readButtons(); arcada.display->setCursor(0, 0); arcada.display->print("Push BUTTON"); int y = 8; if(pressed_buttons & ARCADA_BUTTONMASK_A) { arcada.display->setCursor(0, y); arcada.display->print("A"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_B) { arcada.display->setCursor(0, y); arcada.display->print("B"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_SELECT) { arcada.display->setCursor(0, y); arcada.display->print("SELECT"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_START) { arcada.display->setCursor(0, y); arcada.display->print("START"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_UP) { arcada.display->setCursor(0, y); arcada.display->print("UP"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_DOWN) { arcada.display->setCursor(0, y); arcada.display->print("DOWN"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_LEFT) { arcada.display->setCursor(0, y); arcada.display->print("LEFT"); y += 8; } if(pressed_buttons & ARCADA_BUTTONMASK_RIGHT) { arcada.display->setCursor(0, y); arcada.display->print("RIGHT"); } delay(16); } 実行結果 †押したボタンが表示されます。 サンプルプログラムのダウンロード † |