フォト
2020年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
無料ブログはココログ

2020年2月14日 (金)

Arduino IDE 1.8.12が公開されました

Arduino 1.8.12が公開されたため、早速最新版をインストールしました。

・ARDUINO 1.8.12
   https://www.arduino.cc/en/Main/Software

01_20200214172601
  リリースノートを見る限り、特に大きな変更はなさそうです。
 (ただし、Java環境をOracle版からOpenJDK への切り替えを試みているようで、それが難航しているようです)

私の開発環境では、Windows ストア版とzip版の2つの環境を併用しています。

まずは、Windowsストア版のインストール

04_20200214173301
旧版をインストール済みでも、開くとダウンロードを開始して更新してくれます。
インストール後、起動すると1.8.12になりました(タイトルバーにWindows Storeの記載があります)

02_20200214173401

次にzip版のインストール

ダウンロードして解凍して、起動すると1.8.12になりました。
03_20200214173601

とりあえず、最新版のインストール完了です。

2020年2月 4日 (火)

M5Stackで日本語表示(2)

M5Stackでの日本語表示の続きです。
前回とは別の自作ライブラリをM5Stack対応の修正を行いました。

利用ライブラリ
 ・Arduino-KanjiFont-Library-SD
    Arduino用のマルチサイズ漢字フォントを利用するためのライブラリ(SDカード版)
    https://github.com/Tamakichi/Arduino-KanjiFont-Library-SD

ライブラリを使って、「吾輩は猫である」の文書を表示してみました。

    01_20200204162501 

動いている様子
    

8ドットから24ドットのフォントサイズを変えて繰り返し表示しています。

動画を見れば分かると思いますが、表示はあまり速くないです。
逐次、SDカードから読んでいるためかと思われます。
まあ、とりあえずは良しとします。

スケッチ


表示の高速化のため、M5Stackで利用されている液晶パネルILI9341Windows機能を利用してフォントの表示を行っています。
drawPixel()を使うよりもコマンド送信数が少なくて済むので多少は速くなると思います。
ただし、SDカードアクセスが遅いためあまり効果としては現れませんね。

ちょっとハマった..

今回はテキストをスクロールさせるつもりでscrollUp()関数を作成したのですが、
期待通りに動きませんでした。
プログラム的には、指定座標のピクセル色を読んで、1文字分上に表示でスクロールさせようとしたのですが..

「何故だろう..?」と調べると、
なんとMISO(LCDからデータを読む)が使われていません。

02_20200204164501
(回路図は公式サイトより入手し引用)

これでは、物理的にデータの取得は出来ないですね。
ですので用意されている readPixel()readRect() は正常に動きません。
ためしてみると、ピクセルの色は常に 65535の値が返されます。

もう一点、ウィンドウ設定でsetAddrWindow()を使っているのですが、
setWindow()だと正しく表示出来ませんでした。
setAddrWindow()は、内部的にsetWindow()を読んでいるのですが、
SPIの設定を行ってからsetWindow()が呼び出されています。
SPIがSDカードのアクセスと共用のため、SPIの設定が必要だったのだと思われます。

とりあえずは、ウィンドウ設定の関数が用意されているのが分かったのは収穫でした。

追記
  MOSIを双方向にてデータを読む方法があるようです。

  関連情報
   ・M5Stackで画面キャプチャーを取得する
      https://qiita.com/fukuebiz/items/8aff6cad2f6048f02f12

   ・Bodmer/TFT_eSPI
      Arduino and PlatformIO IDE compatible TFT library optimised for the STM32,
      ESP8266 and ESP32 that supports different driver chips
      https://github.com/Bodmer/TFT_eSPI

  M5Stackのライブラリ=v0.2.9)のTFT_eSPIが古いため、現時点で readPixel()readRect() が使えないようです。
  まあ、いずれ、TFT_eSPIの最新版を取り込んで利用可能になると思います。

2020年1月26日 (日)

M5StackでMML単音演奏

以前 Arduino用に作成したMML文演奏ライブラリをM5Stackにて利用してみました。
M5Stackにて、単音演奏をやってみました。
数日前にやった、「M5Stackのビープ音、Tone音の爆音対策」を適用して音量が出来るようにもしました。

01_20200126102101

■ ライブラリ
   MML文演奏ライブラリ  MML_Play
   https://github.com/Tamakichi/MML_Play

   ライブラリ本体は、ESP32ではコンパイルエラーが発生したため修正&更新しました。
   ついでに、M5Stack用のサンプルスケッチ(本記事のスケッチ)を追加しました。

動いている様子
  

スケッチ(ライブラリに添付)

演奏操作は、
  ボタンAで演奏開始(または先頭から演奏しなおし)、
  ボタンBで演奏中断、
  ボタンCで中断した演奏を途中から再開
です。

音量は最低にしているため、小さめです。
音量を上げるには、MML文先頭のv1の値を1~9(爆音)の範囲で調整して下さい。

ノイズ等もなくとりあえずは、まともに演奏出来ているようです。
効果音的な何かには使えると思います。

2020年1月22日 (水)

M5Stackのビープ音、Tone音の爆音対策

M5Stackはスピーカーが搭載されており、
標準のAPIを使ってビープ音やTone音(周波数を指定して鳴らす)を簡単に鳴らすことが出来ます。
ただし、「爆音」です。
これには、ちょっと困りました。鳴らすとやかましいです。

ググってみると、多くの利用者が同様に困っているようです。
何とかならないかなぁ、と思い試行錯誤してみました。
結論としては、とりあえず、何とかなりました。

01_20200122220601

とりあえず、単音440Hz(ラ)の音を音量指定して鳴らしてみました。

サンプルスケッチ
音量指定できる新しいtone関数、toneEx()を作成しました。
音の大きさの制御は、デューティ比を操作で制御しています。

toneEx()の3番目の引数、volに0(無音)、1(最小) ~ 9(最大)の指定にて音量を指定することが出来ます。
サンプルスケッチでは、M5Stackの左ボタンで最小音、真ん中ボタンで3、左ボタンで5を指定して音を鳴らすことが出来ます。

耳で聞いた感じでは、いい感じで音量制御出来ています。
最小の1でも十分聞こえ、ちょうど良いかもしれません。

次の段階として、Arduino用に作成したMML演奏ライブラリを試してみます。

2020年1月18日 (土)

M5stackで日本語表示

Arduino Uno用に作成したフォントライブラリをM5Stackで試してみました。

ライブラリ
  ・Arduino用 美咲フォントライブラリ 教育漢字・内部フラッシュメモリ乗せ版
    https://github.com/Tamakichi/Arduino-misakiUTF16

とりあえず、LCDにライブラリ無修正で利用出来ました。
Dscn2468
ノーマルのサイズでは、文字が小さすぎて読めません。

3倍角にして表示してみました。
Dscn2477

まあ、8ドットフォントなのでこんなもんでしょう。

動いている様子


コントラストの関係で動画が綺麗に取れないため、背景色を青に変更しました。
8ドットフォントを1~4倍にして繰り返し表示しています。

スケッチ

スケッチは、OLED(SSD1306)で美咲フォントを使った漢字表示 のものを修正して作成しました。

フォント表示については、他の自作ライブラリの動作も検証したいと思います。



«ココログの不具合治らず.. 過去記事を修正中です