2026年3月5日木曜日

脳トレゲーム対応制御学習ボード1 setup関数部分

 マイコン制御を行う上で、把握しておかないといけないことは、「マイコンのどの端子に何が接続されているか」ということです。

 何を見るとわかるかというと、回路図です。右図が今回設計した「脳トレゲーム対応制御学習ボード」の回路図です。


 UIAPudinoボードの端子がどこにつながっているかを把握します。表にすると、右のようになります。

 例えば、7セグメントLEDの「A」端子は、ポート7に接続され、出力として使われることを意味します。

 

 この表を基にして、初期設定のプログラミング(setup部分)ができます。

// ポート定義
#define SEG_A 7
#define SEG_B 9
#define SEG_C 10
#define SEG_D 8
#define SEG_E 2
#define SEG_F 11
#define SEG_G 5
#define SW1 12
#define SW2 6
#define SW3 0
#define SW4 1
#define SW5 3
#define SW6 4
#define BUZZER 16
#define SERIAL_RX 16

void setup() {
    // シームレスモード設定
  if (FLASH->STATR & (1 << 14)) NVIC_SystemReset();
  SystemReset_StartMode(Start_Mode_BOOT);
  pinMode(PD4, OUTPUT);

  // PD1をGPIOとして利用する設定
  pinV32_DisconnectDebug(PD_1);  // Disable SWIO (the argument is not "PD1")

  Serial.begin(9600);
  pinMode(SERIAL_RX, OUTPUT);  // シリアルRXをGPIOで使用

  //ポート初期化
  pinMode(SEG_A, OUTPUT);
  pinMode(SEG_B, OUTPUT);
  pinMode(SEG_C, OUTPUT);
  pinMode(SEG_D, OUTPUT);
  pinMode(SEG_E, OUTPUT);
  pinMode(SEG_F, OUTPUT);
  pinMode(SEG_G, OUTPUT);
  pinMode(BUZZER, OUTPUT);
  pinMode(SW1, INPUT_PULLUP);
  pinMode(SW2, INPUT_PULLUP);
  pinMode(SW3, INPUT_PULLUP);
  pinMode(SW4, INPUT_PULLUP);
  pinMode(SW5, INPUT_PULLUP);
  pinMode(SW6, INPUT_PULLUP);
}

void loop() {

}

 あとは、「loop」関数部分に、プログラミングすると、学習が始まります。



0 件のコメント:

コメントを投稿

LEDマトリックス表示装置の設計・製作 9(画像表示)

  LEDマトリックスに画像を表示させるには、いろいろな画像形式を知る必要があります。現在、よく使われるJPG形式やPNG形式は圧縮処理されて保存されています。これに対して、BMP形式やTIFF形式は非圧縮形式で、画像データがそのまま保存されています。このため、ファイルは大きくな...