Obniz Starter Kit の LEDマトリクス のプログラム



  • Obniz Starter Kit を購入し、パーツを接続する を見ながらプログラムを楽しんでいますが、LEDマトリクスに関しては、パーツライブラリの説明では、動作させることができません。

    例えば、
     Hello World をHから一つずつ順番に表示させる
     ドット単位で表示させる

    といった動作をするプログラムはどこかに公開されていないでしょうか?



  • @nbykosw said in Obniz Starter Kit の LEDマトリクス のプログラム:

    なお、以下のプログラムを走らせると、初めの”H”と次の”e”の1列目を表示して止まります。

    <html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
    <script src="https://unpkg.com/obniz@3.5.0/obniz.js"></script>
    </head>
    <body>
    <div id="Keyestudio_HT16K33"></div>
    <script>
    var obniz = new Obniz("OBNIZ_ID_HERE");
    obniz.onconnect = async function () {
    const matrix = obniz.wired("Keyestudio_HT16K33", { gnd:0, vcc:1, sda:2, scl:3 });
    matrix.init(8);
    matrix.brightness(7);

    const ctx = obniz.util.createCanvasContext(matrix.width, matrix.height);
    ctx.fillStyle = "black";
    ctx.fillRect(0, 0, matrix.width, matrix.height);
    ctx.fillStyle = "white";
    ctx.font = "9px sans-serif";
    ctx.fillText('Hello World', 0, 7);

    matrix.draw(ctx);

    }
    </script>
    </body>
    </html>



  • StaterKitを購入していただきありがとうございました。
    質問の内容ですが、文字を流すサンプルプログラム添付しておきますので試していただけると幸いです。

    <html>
    <head>
    	<script src="https://unpkg.com/obniz@3.5.0/obniz.js"></script>
    </head>
    
    <body>
    	<div id="Keyestudio_HT16K33"></div>
    	<script>
    		var obniz = new Obniz("72618310");
        obniz.onconnect = async function () {
        const matrix = obniz.wired("Keyestudio_HT16K33", { vcc:0, gnd:1, sda:2, scl:3 });
          matrix.init(8);
          matrix.brightness(7);
          const ctx = obniz.util.createCanvasContext(matrix.width, matrix.height);
          const text = "Hello World"
          const width = ctx.measureText( text ).width ;
          while(true){
            for(let i = 0;i<width+matrix.width;i++){
              ctx.fillStyle = "black";
              ctx.fillRect(0, 0, matrix.width, matrix.height);
              ctx.fillStyle = "white";
              ctx.font = "10px sans-serif";
              ctx.fillText(text,matrix.width-i , 8);
    
              matrix.draw(ctx);
              await obniz.wait(100);
            }
          }
        }
    	</script>
    </body>
    
    </html>
    


  • 教えていただいたプログラムで動作確認しました。 ありがとうございました。 自分のプログラムではどこが悪かったのかはこれから比較して検討します。 ところで、自分が購入したキットでは、VCCとGNDのピン位置が入れ替わっています。 プログラム上で変更すればいいことですが、メーカさんで仕様変更があったのでしょうか?