趣味のマイコンいじり

安価なマイコンを利用して作成したアプリの紹介です。

LED&KEY/TM1638 モジュールをSTM8S103F3ボードで動かして見ました

Amazonを見ていたらLEDとスイッチの付いた安価なモジュールが有ったので
今検討中のSTM8Sのボードで利用できないかと購入して調べて見ました。
これに関してもArduinoで検討された方がWeb上にデータを公開されており
ソフトに関しては簡単に動かす事事ができました。(ただし、ハードに関しては
下記の様に少し苦労が必要でした。)以下がその検討内容です。

<LED & KEY module の概要>
   STM8Sのボード用の簡単なI/Oデバイスとして下記の様なLED & KEY
 モジュールを購入して調べて見ました。動作としてはSTM8Sの双方向の
 PSIポートが利用できる様だったので、それを利用した方法を検討しました。
   イメージ 1

  1.8個のLED、8個の7セグメントLED、8個のタクトスイッチ
  2.電源電圧は5V(3.3Vでも動作可能)
  3.ドライバICは TM1638

 [動作状況]
  動作状況は次のURLから確認できます。     
   

<関連資料>
    動作は次のURLの記事を参考にしました
         URL : https://blog.3d-logic.com/2015/01/10/using-a-tm1638-based-board-with-arduino/

     ドライバICのデータシートはこちらのURLから英語のものを入手可能しました
      (TM1638en.pdf)
         URL : https://github.com/rjbatista/tm1638-library
   
<テスト内容>
    LED&KEYモジュールのテストは、次の様な内容でSTM8S103F3ボード用に
    Arduino用ライブラリを移植して、それを利用してモジュール上の機能を
    確認するプログラムを組んで動作の確認を行う事にしました。

 [目的と結果]
    テストの確認目標は次のものでした。
         1.モジュール間のインターフェイスをSPIで行う為の設定を確認
         2.モジュール上のそれぞれの機能を動作させる方法を確認

      結果としては次の様な状況で、STM8Sのチップが持っている双方向SPI
     (データの入出力は同じポート)の機能を使ってモジュール上の機能を
      動作させる事ができました。
         1.双方向のSPI機能でモジュール間がSPIで接続できる
         2.ただし、モジュールのストローブ(STB)信号の取り扱いには少し
               注意が必要
         3.モジュールの機能は移植したライブラリで動作させられる事を確認

        以上の様な状況で、双方向のSPI機能でモジュールとの接続ができ、また
        コードの移植に関しても、ほぼArduino用のものがそのまま利用できる事が
        判りました。ただし、モジュール上のチップにはストローブ(STB)信号の
        タイミングに注意が必要で、次の部分でソフトでストローブ(STB) 信号の
        タイミングを調整しました。なお、モジュール上のチップの規格では、
        電源電圧5Vで、転送用のクロックは最大1.25MHzとなっていますが、
        3.3V、4MHzで問題無く動作できていますので、それで利用しています。
         イメージ 2

 [テストでの機器の接続]
    イメージ 3

    イメージ 4

 [コード類]
   今回も、コードの開発にはIARのシステムを利用しました。
  (STM8S103F3P6ボードののコード開発に 関してはこちらの記事
         参照して下さい。)

     Code download URL : https://www.dropbox.com/s/3grfkcr9s3keubp/IAR_LEDndKey_STM8S.zip?dl=0