塩漬け魚ZTMRサンプル加速度センサー
MMA7660FC
-
MMA7660FCは6方向にカスタマイズ可能
-
方向、振動、タップ検出など、多くのインテリジェントなモーション機能を統合方向、振動、タップ検出など、多くのインテリジェントなモーション機能を統合
-
自動ウェイクアップスリープ機能自動ウェイクアップスリープ機能
-
インテリジェント電源管理機能を含むインテリジェント電源管理機能を含む
3軸加速度計チップ(MMA7660FC)(U5)はZTMSに統合されており、プログラミングを通じて直接使用できます。
MMA7660FCは、デジタル出力(I2C)、超低電力、コンパクトな容量性マイクロモーター加速度計で、ローパスフィルター、0gオフセットおよびゲインエラー補償、6ビットの分解能、ユーザー設定可能な出力レートおよびその他の機能を備えています。このデバイスは、センサーデータの変更、製品の方向、ジェスチャー認識などの割り込みを割り込みピン(INT)を介して提供できます。MMA7660FCは、非常に小さい3mm x 3mm x 0.9mm DFNパッケージでパッケージされています。
メインコントロールボード:ZTMR1.1python開発ボード
MMA7660FC 3軸加速度計を使用する原理は非常に単純です。つまり
、力に応じてx、y、z方向のデータで示されます。測定結果の範囲は-32〜31、約-1.5g〜1.5g(g
は重力加速度、9.8m / s ^ 2)です。
各方向の加速度を計算するには、上記の3つの方向の値を知るだけで済みます。以下の図に原理を示します。
加速度センサーの基本的な使い方
acc=pyb.Accel()
acc.x() #读取X轴参数
上記の例では、-30〜30の符号付き角度値を返します。測定結果は正確ではないことに注意してください。つまり、完全に静止していても、測定データは表示されます。したがって、x()メソッドで取得されたデータは正確な値として使用することはできませんが、精度の範囲と見なす必要があります。
開発ボードを傾け、加速度センサーを介してLEDを点灯させるコードは次のとおりです。
import pyb
accel = pyb.Accel
light = pyb.LED(3)
SENSITIVITY = 3
while True:
x = accel.x。
if abs(x) > SENSITIVITY:
light.on。
else:
light.off。
pyb.delay(lOO)
上のコードでは、AccelとLEDの2つのオブジェクトを作成し、X方向の加速度センサーの値を直接取得しています。x値の値が固定値SENSITIVITYより大きい場合、LEDライトはオンになり、そうでない場合はオフになります。pyb.delay()関数がループで呼び出され、xの値がSENSITIVITYに近い場合、LEDは非常に頻繁に点滅します。
水準器を作る
上記のルーチンはx方向の角度値のみを使用しますが、y()関数の値とより多くのLEDライトを使用して、開発ボードをレベルに組み込むことができます。
開発ボードには4つのLEDライトがあり、ボードにマークされている名前はD2、D3、D4、D5です。
吹き出し | pybインスタンス名 | 色 |
---|---|---|
D4 | LED(1) | 赤 |
D5 | LED(2) | 緑 |
D6 | LED(3) | 黄 |
D7 | LED(4) | 青 |
ケース:加速度センサー値を取得するために古い
# main.py -- put your code here!
import pyb
xlights = (pyb.LED(2), pyb.LED(3)) #绿灯,黄灯
ylights = (pyb.LED(1), pyb.LED(4)) #红灯,蓝灯
accel = pyb.Accel()
SENSITIVITY = 1
while True:
x = accel.x()
if x > SENSITIVITY:
xlights[0].on()
xlights[1].off()
elif x < -SENSITIVITY:
xlights[1].on()
xlights[0].off()
else:
xlights[0].off()
xlights[1].off()
y = accel.y()
if y > SENSITIVITY:
ylights[0].on()
ylights[1].off()
elif y < -SENSITIVITY:
ylights[1].on()
ylights[0].off()
else:
ylights[0].off()
ylights[1].off()
pyb.delay(100)
xおよびy方向のLEDオブジェクトを含むタプルが作成されます。Pythonのタプルは不変オブジェクトです。つまり、一度作成されたタプルは変更できません。次に、前のルーチンと同じように開始しますが、xの値がそれぞれ正または負の場合、異なるLEDライトが点灯します。同じ原理がy方向にも適用されます。