2026年2月9日月曜日

micro:bit 始める(5) ArduinoIDEでプログラミング4

 外部端子を使う

 micro:bitの外部端子がArduinoIDE環境で利用できるかを確認しました。

 右図は、いろいろなマイコン系で表示されるポートの利用を示す図です。
 外部I/Oには、P0~P16、P19、P20の合計19本が利用できます。Arduinoからのポート番号は、Pxxの番号と一致しています。
 例) P9端子は、Arduinoのポート9番

 ここまでArduino環境下で、内部LEDマトリックス、ボタン、加速度・磁気センサ、タッチセンサ、外部I/Oの動作確認をしました。
 注意が必要なのは、LEDマトリックスを表示させているときには、P3、P4、P6、P7、P10が利用できません。また、内部のボタンA、Bを使っているときにも、P5、P11は注意が必要です。

ライブラリ「MicrobitV2-HHS」

 標準の関数で「tone」命令が無いので音は出せないと思っていましたが、ライブラリを見つけました。「MicrobitV2-HHS」というライブラリです。早速、ライブラリを追加(ライブラリの管理から追加)してサンプルプログラムを実行しました。スーパーマリオブラザーズのメロディもありました。
 そこから、音を出力する「tone」命令に関わる部分のみを示します。
#include "Tone.h"
// On Microbit V2 the speaker is on pin 27
#define SPEAKER 27

void setup() {
  pinMode(SPEAKER, OUTPUT);
}

void loop() {
  tone(SPEAKER, 880, 100 );
  delay(100);
  noTone(SPEAKER);
  delay(100);
}
 このプログラムで880Hzの音が鳴り続けます。命令の使い方は、Arduinoのtone命令と同じです。ArduinoIDEのメリットであるライブラリが豊富ということはありがたいものです。

 前回、加速度センサでI2Cの接続先の変更について記載しましたが、このライブラリに加速度センサを使うサンプルがあり、動作できました。
 このライブラリのサンプルを見ると、サーボモータのサンプルがありました。これでサーボモータも動くのかもしれません。


ここまでの動作確認結果

 動作しないのは、ロゴマークのタッチセンサです。
 ここまでで、未確認は、マイク、BLEです。

0 件のコメント:

コメントを投稿

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

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