大和通信の技術力

2018年4月から組込み新人(2017入社)の実習記録です。 これからのIoT/AI開発に向け日々勉強の毎日。 ハード/ソフト開発者をめざす奮闘記です。

今日の成果

今日はずっと行っていた、I2Cセンサーモジュールのデータ送受信がひとまず完成いたしました。仕様としては、8秒ごとにセンサーから温度、湿度を取得。それをパソコン側Teratermに送信、表示させるというものです。
スレーブアドレス、コマンドの指定やなど初めてUARTとは全く違う手順なのでとても苦戦しました。受け取ったデータのCRCについてもなかなか値が計算結果と合わずに苦戦しました。ただ単純に桁があふれるまでシフトして、溢れたらXORするというだけなのですが、完璧に理解できていなかったようです。今回のCRCは8ビットで初期値は0xFF生成多項式は0x31でした。やり方として、除算の結果をあらかじめテーブル化して高速に行うという方法もあるのですが、今回は普通にそのまま取り込んだ値を除算していきました。UARTに比べて複雑ではまってしまいました。まだ完璧に理解しきれていない部分が多々あるので、その部分をしっかり勉強していきたいです。

温度湿度の出力結果を表示したものをキャプチャーしたので載せておきます。


スクリーンショット (33)


次回からは、おそらくですがLoRaを使った無線のテストを行うと思います。
パソコン側とつなぐのはおそらくI2Cになります。

今日の成果

今日はCRCと温度データの変換部分をやりました。サイトに落ちているデータシートを見るとCRC8で生成多項式も乗っていたのでそれで計算しました。しかし、うまくキャリーフラグが立っていないようなのでその修正を行いたいと思います。8ビット眼の桁あふれをうまく判別できていないようです。温度計算のほうはうまくいって、湿度と温度もそれらしい値が出ていました。完璧に通信出来たら、そのデータをUARTでPCに送信しteratermで表示していきます。

今日の成果

今日は、プログラム以外のことでバタバタしていてあまり手が付けられませんでした。しかし、先日はまっていた読み込みができないという部分は解決しました。どうやら、リスタートコンディションをしないといけないところで、ストップコンディションを送ってしまっていて、フラグがおかしくなってしまっていたようです。
今は、データを受け取り、10進数に変換して温度尾を求める場面まで行けています。ただ、センサ側からCRCが返ってくるようなのですが、データシートだとチェックサムとも記載されていて少しこんがらがっています。明日は、そこから始めていきたいです。

下記にバッファにデータがとりこめた時点の画像を貼っておきます。
右側ウォッチ式の配列read_buffの0番地からが受信データです

スクリーンショット (32)


今日の成果

今日は、事務処理を少し行い、そのあと、手が付けれていなかったI2Cのプログラムを行いました。
スレーブのアドレスが0x45なのですが、ライトするときは7ビット + R/Wモード指定ビットで書き込まないといけないということを忘れていて、ずっと引っかかっていました。
現在は、センサーにアドレスをライトし、コマンドを送信してACKが返ってくるというところまでは行けているのですが、肝心の測定データが返ってこないという現象が発生していてはまっています。まさかここまではまるとは思っていなかったので、少しびっくりしています。

今日の成果

今日は、午前中に書類作成、午後から精密加工技術展に行ってきました。
医療機器の模型や3Dプリンターやレーザーカッターの実演などを行っていて面白かったです。中でも、3Dプリンターは12種類のフィラメントが使えるというものが展示されていて驚きました。
 プログラムのほうは、外出の用事が続いているのでそれが落ち着き次第、再開していきたいです。
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

記事検索
最新コメント