鹹魚ZTMR實例—OLED三軸加速
MMA7660FC
-
MMA7660FC可在六個方向定製垂直水平座向
-
集成了衆多智能的運動功能,如方向、震動和敲擊檢測集成了衆多智能的運動功能,如方向,震動和敲擊檢測
-
自動喚醒休眠功能自動喚醒休眠功能
-
包括智能電源管理功能包括智能電源管理功能
ZTMR 上集成了一款三軸加速度計芯片(MMA7660FC)(U5),可以直接通過編程使用。
MMA7660FC是一個數字輸出(I2C),超低功率,緊湊型電容式微電機加速計,它具有低通濾波器,0g偏移和增益誤差補償,6位分辨率,用戶可配置輸出速率等功能。該器件通過中斷引腳(INT)可以提供傳感器數據變化、產品方向和姿態識別等中斷。MMA7660FC採用非常小的3毫米x3毫米x0.9毫米DFN封裝。
主控板:ZTMR開發板
0.96oled屏幕
MMA7660FC 三軸加速度計的使用原理很簡單,就是在 x、y、z 各個方向根據
受力情況通過數據方式呈現。測量結果範圍是-32 至 31,大約爲-1.5g 至 1.5g(g
爲重力加速度,9.8m/s^2)。我們只需要知道以上 3 個方向的值,便可以計算出
各個方向的加速度。原理入下圖:
加速度傳感器基本使用
acc=pyb.Accel()
acc.x() #讀取X軸參數
while True:
print(acc.x(),acc.y(),acc.z()) #打印三軸數據
案例:oled獲取加速傳感器數值
ssd1306下載
# main.py -- put your code here!
import pyb
from machine import Pin,I2C
from ssd1306 import SSD1306_I2C
#初始化相關模塊
i2c = I2C(sda=Pin("Y10"), scl=Pin("Y9"))
oled = SSD1306_I2C(128, 64, i2c, addr=0x3c)
accel = pyb.Accel()
while True:
oled.fill(0) #清屏
oled.text('mizhixianyu', 0, 0)
oled.text('MMA7660FC:',0,15)
oled.framebuf.hline(0,25,128,1)
#獲取 x,y,z 的值並顯示
oled.text('X:'+str(accel.x()),0,40)
oled.text('Y:'+str(accel.y()),44,40)
oled.text('Z:'+str(accel.z()),88,40)
oled.show()
pyb.delay(1000) #延時 1s
效果