2021年9月26日日曜日

自転車のデータ測定と解析(回転検出の準備)

自転車のホイールやクランクの回転を検出するための準備をします。

秋月電子でリードスイッチを購入しました。磁石を近づけると接点がONします。この部品は、自転車のホイールの回転数を利用する速度センサに使われているものと同じと思われます。磁石を近づけると、前述の速度センサと同じチッという音がします。

https://akizukidenshi.com/catalog/g/gP-03676/

ラズパイの汎用のIO(GPIO)の一つと3.3V、GNDを使います。

ほかの部品としては、1kΩ程度の抵抗2つが必要です。

検出用の回路は次のとおりで、磁石が近づくとリードスイッチがONになってGPIOに3.3Vが入力され、磁石を離すとリードスイッチがOFFになりGPIOはGNDが入力されます。

3.3V

sw(ON/OFF)

|ー 1kΩ ー GPIO23

1kΩ

GND

作った回路基板です。左にあるのがリードスイッチです。


モデルのブロックを追加して、GPIOの番号を設定するだけです。サンプリングも0.1のままにしています。


エクスターナルモードでリードスイッチのONとOFFとを確認してみました。1がON、0がOFFです。


次回は、自転車にセットして、速度を計算してみたいと思います。
速度は次のように計算します。売られている速度計と同じやり方です。
速度 = タイヤの外周長さ × 単位時間当たりの回転数
モデルもその時にアップロードします。


2021年9月19日日曜日

自転車のデータ測定と解析(LCD表示)

 SimulinkでLCDに文字を表示します。

モデルは、LCDの設定部分とLCDの表示部分とのサブブロック2つがあります。

MATLAB Functionでコマンドを送信する形式にしています。

詳細はモデルを参考にしてみてください。


まず、監視と調整からエクスターナルモードで動かしてみると

約20秒後にLCDの設定が終わり、その後LCDの上段左端に$が表示されます。



モデルは、MATLAB Driveでダウンロードできるようにしました。

https://drive.matlab.com/sharing/cf882d63-7932-4f34-880f-e45a383ef681


2021年9月12日日曜日

自転車のデータ測定と解析(LCD準備)

使用したLCDとI2C変換モジュールについて

LCDはアマゾンにあるものを購入しました。3.3Vのものを買うと、レベル変換を考えなくてよいので楽です。

LCDでつまずいた点ですが、LCDのコントラストが低すぎて表示できているにも関わらず、バックライトのONOFFしかできないと思って途方にくれました。I2C変換モジュールの可変抵抗を動かして調整してみてください。

LCDの電源投入時のリセット前は、8×1の■が表示されます。

HiLetgo® 2個セット DC3.3V HD44780 1602 16x2キャラクタ LCDディスプレイモジュール

HiLetgo 5個セット5V 1602LCD IIC/I2C/TWI/SPIシリアルインターフェイスモジュール


SimulinkでのI2Cの通信について

ラズパイでの解説はあまりなく、Arduinoの解説(@Monzo_N様)を参考にしました。イメージはつかみやすいです。

https://qiita.com/Monzo_N/items/cd65f1bd2cf5374c1206


キャラクタLCDについて

The Electronic Lives Manufacturing様のWEBサイト(以下)で、LCDの基本が良く分かります。

http://elm-chan.org/docs/lcd/hd44780_j.html

LCDは、初期設定をする必要があります。できなくて悩みましたが、結局LCDの基本的な理解が役に立ちました。初期設定ができれば文字の表示は簡単にできます。


SimulinkでのLCDでの表示について

ラズパイの解説は見つかりませんでした。

Cやpythonの中身を見ながら試行錯誤しました。とても参考になったサイトを載せておきます。

I2CアドレスをSimulinkブロックに設定するのですが、以下のWEBサイトに説明がありますので参考にして下さい。

ラズパイでLCD1602の制御(I2C通信、4ビット)(ソロギターのしらべ練習帳様)

Raspberry Pi Python I2C LCD1602表示テスト(JH7UBC様)


今後、作成したファイルを公開していくのですが、MATLAB Driveを使う予定です。

2021年9月3日金曜日

自転車のデータ測定と解析(準備)

 ラズパイにSimulinkモデルを書き込んで動作させるための準備を記載しておきます。

なお、今後ここに少しずつ追記していく予定です。


まず、サポートパッケージをインストールしないといけません。

ここに色々あるのですが、良く分からないと思います。

MathWorksの解説など


英語ですが、動画なので流れがなんとか分かります。

デモのLEDを点滅させるところまで何とかできました。

youtubeの解説


ここから本格的にモデルを作成していきますが、以下のページが最も参考になりました。

新潟大学 工学部電気電子工学科  村松先生が作成したページです。

EmbVision チュートリアル(6)