読者です 読者をやめる 読者になる 読者になる

mino standard

電子工作などの備忘録

arduinoとLaptop(PC)の非同期通信について(C#)

FPV

arduino とlaptopの間の非同期通信は電子工作初心者にとって最も大きな壁なのではないでしょうか.

その壁を自分なりに解決していくことでいろいろな知識や技術を吸収していくことができ,そこが面白さでもあると思います.

以下に,arduinoとlaptop間で非同期通信をさせたときのコードを載せます.

arduino:

MPU6050(ジャイロセンサー)からデータを一定周期で収集し,センサーの姿勢角を算出しlaptopに2バイトのパケットに分割して送信.同時に,laptopから0~100までの整数値を一定周期で受信し,その値に応じてPWM波のデューティー比を変化させて出力.(※外部ライブラリとしてMsTimer2を使用しています)

laptop:

一定周期でスライダーのデータ(0~100の整数値)を送信.arduinoから受信したデータを取得し,リアルタイムでデータをプロットする.C#を使用.

 

arduinoのコードは下記urlにて公開

arduino_to_pc_sample6 - Google ドライブ

C#奴は下記urlにて公開

data_plotter_6 - Google ドライブ

これをベースにFPVのコントロールシステムを構築していくつもりです.

ただ,姿勢角は上記コードでは算出しておりますがMPU6050はすでに姿勢角データに対応しているため,実装する際はそのデータを使用します.三角関数の計算は重いのでできるだけ減らしたいですからね.