hiro yamamoto works

マイコンハード、ソフトを作ったりしています。
お家や現場のお困りごと解決に!
内容利用は自己責任でお願いします。

SeeedStudio XIAO ESP32S3とESP32C3を使って何を作る

2023-11-02 20:26:55 | マイコンハードウェア

いつまでも眠らせておかないで、そろそろ始めましょうか!
近況 2023.11.16
XIAO ESP32 S3にサンプルスケッチのSimpleTimeを書き込んだら、
シリアルモニタに時刻が表示されました。

アンテナコネクタの勘合はコツが要りそうです。Wi-Fiアンテナは薄く柔らかい感じです。

アンテナは裏の離型紙を剥がして貼り付ける感じです。

このサイズは大好物です。よくぞこのサイズで作ってくれました。感謝!!
わくわくが止まりません。

S3:デュアルコア C3:シングルコア
外部アンテナが付いています。


Arduino UNO R4 MINIMAを使ってみる(開封)

2023-11-02 20:18:14 | マイコンハードウェア

Arduino UNO R4 MINIMA
買ってあったんですがなかなか触れなくて
これから色々と使ってみたいと思います。
近況 2023.11.15

追記しました。2023.11.13
RaspiOSでコンパイルエラー
Windows10ではコンパイルできた

Arduino IDE1.8.19でボードをインストールして準備します。
ボードマネージャで、"R4"(省略して)と入力しても絞り込めました。
残念なお知らせ
Arduino IDE1.8.19、ボードVer1.0.1〜1.0.5全バージョン、
RasberryPi OS(bullseye Raspberry Pi 4B)にてコンパイルエラーになってしまいました。
エラーメッセージ
/home/Hiro/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-ar:
error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory
exit status 127
/home/Hiro/Downloads/arduino-1.8.19/arduino-builderが127を返しました。
ボードArduino UNO R4 Minimaに対するコンパイル時にエラーが発生しました。


CPUがルネサスエレクトロニクス製になりました。
Renesas RA4M1 (Arm® Cortex®-M4)


Arduino UNO SMD R3とR4 MINIMA


CANバスモジュールを使ってデータ送受信する(受信側復習)

2023-11-02 17:35:32 | ナレッジ_knowledge

しばらく放置していたら、自分の書いたスケッチがわからなくなったので、
ブログ投稿しながら復習することにしました。
送信側 SAMD XIAOとMCP2515 受信側 Arduino MKRZERO(SAMD)とMCP2515の組み合わせです。
私が使うための最低限の情報だけなので、もっと掘り下げたい方は詳しいサイトを探して下さい。
※テストしてわかったこと※
 理由はわからないが、送信側で、1byteの中で7bitしか使えない事がわかった。
受信側は送信側の7bitに合わせるしかありません。


Amazonで購入したCANバスモジュール
CANコントローラ(MCP2515)とトランシーバ(TJA1050)のICが載っています。

loop()関数中スケッチ抜粋

int packetSize = mcp.parsePacket();
  if (packetSize) {
    if (mcp.packetId() == packetId11) { //送信側IDと一致(packetId11)
      id11_value = 0;
      byte receivedData[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
      while (mcp.available()) { 
        for (int i = 0; i <= 7; i++) {//受信した0~8byteを配列に入れていく
          receivedData[i] = (byte)mcp.read();
        }//for
      }//while
      //receivedData[0]~[8]配列内のデータを処理して送信元データへ復元する
      for (int i = 0; i <= 7; i++) {//配列を順に呼んで
        id11_value |= (uint32_t)(receivedData[i] << (7 * i));//1byteの1〜7bitを使う時
        //配列内データを7bitビットずつシフトして、ビット単位のOR演算する
        //forループを8回(i=0から7)繰り返すと56bit復元される。
        //送信元データサイズに合わせてループ回数を決めれば良いと思う。
        //id11_value |= (uint32_t)(receivedData[i] << (8 * i));//1byteの1〜8bitを使う時
      }
      Serial.print("Value11 ");
Serial.println(id11_value);
    }


これで使えるかと思いますが、もっとシンプルなスケッチに出来るかもしれません。
間違いがあるかもしれませんのでご注意を

復習完了か?