Sensor de aceleración de ejemplo ZTMR de pescado salado

Sensor de aceleración de ejemplo ZTMR de pescado salado

MMA7660FC
  • MMA7660FC se puede personalizar en seis direcciones

  • Integrado muchas funciones de movimiento inteligente, como dirección, vibración y detección de golpe Integrado muchas funciones de movimiento inteligente, como dirección, vibración y detección de golpe

  • Función de despertador automático Función de despertador automático

  • Incluye función inteligente de administración de energía Incluye función inteligente de administración de energía

Un chip acelerómetro de tres ejes (MMA7660FC) (U5) está integrado en ZTMS, que puede usarse directamente a través de la programación.

MMA7660FC es un acelerómetro de micromotor capacitivo compacto de salida ultra baja (I2C), de potencia ultrabaja, tiene un filtro de paso bajo, compensación de error de compensación y ganancia de 0 g, resolución de 6 bits y velocidad de salida configurable por el usuario. El dispositivo puede proporcionar interrupciones tales como cambios en los datos del sensor, dirección del producto y reconocimiento de gestos a través del pin de interrupción (INT). El MMA7660FC está empaquetado en un paquete DFN muy pequeño de 3 mm x 3 mm x 0,9 mm.

Tablero de control principal: tablero de desarrollo ZTMR1.1python

El principio de usar el acelerómetro de tres ejes MMA7660FC es muy simple, es decir, se
presenta mediante datos en las direcciones x, y y z según la fuerza. Los resultados de la medición varían de -32 a 31, aproximadamente -1.5 ga 1.5 g (g
es la aceleración de la gravedad, 9.8 m / s ^ 2). Solo necesitamos conocer los valores en las tres direcciones anteriores para calcular
la aceleración en cada dirección. El principio se muestra en la figura a continuación:
Inserte la descripción de la imagen aquí

Uso básico del sensor de aceleración.
acc=pyb.Accel()
acc.x()          #读取X轴参数

El ejemplo anterior devuelve valores de ángulo con signo entre -30 y 30. Tenga en cuenta que el resultado de la medición no es exacto, lo que significa que los datos de medición seguirán apareciendo incluso si permanecen completamente quietos. Por lo tanto, los datos obtenidos por el método x () no pueden usarse como un valor exacto, sino que deben considerarse como un rango de precisión.
El código para inclinar la placa de desarrollo e iluminar el LED a través del sensor de aceleración es el siguiente:

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)

En el código anterior, creamos dos objetos, Accel y LED, y luego obtenemos directamente el valor del sensor de aceleración en la dirección X. Si el valor del valor x es mayor que el valor fijo SENSIBILIDAD, la luz LED se encenderá, de lo contrario se apagará. La función pyb.delay () se llama en el bucle. Si el valor de x está cerca de SENSIBILIDAD, el LED parpadeará con mucha frecuencia.

Haciendo un nivel de espíritu

La rutina anterior solo usa el valor del ángulo en la dirección x, pero podemos usar el valor de la función y () y más luces LED para construir la placa de desarrollo en un nivel.

Hay 4 luces LED en la placa de desarrollo, y los nombres marcados en la placa son D2, D3, D4, D5.

Llamada nombre de instancia de pyb Color
D4 LED (1) Rojo
D5 LED (2) Verde
D6 LED (3) Amarillo
D7 LED (4) Azul

Caso: aceitado para obtener el valor del sensor de aceleración

# 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)

Se crea una tupla que contiene objetos LED en las direcciones x e y. Las tuplas en Python son objetos inmutables, lo que significa que no se pueden cambiar una vez creadas. Luego comenzamos lo mismo que la rutina anterior, pero cuando el valor de x es positivo o negativo, respectivamente, se encienden diferentes luces LED. El mismo principio se aplica en la dirección y.

166 artículos originales publicados · 22 alabanzas · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/weixin_45020839/article/details/105464985
Recomendado
Clasificación