He configurado un puerto serie a través de un módulo Bluetooth (HC05). Estoy usando una aplicación JavaFX que escribí para leer el puerto en serie, trazar los valores de aceleración (a través de ADXL345) y escribir en el puerto en serie un bit de alarma (1 para ENCENDIDO y 0 para ENCENDIDO PARA APAGADO) cuando una función determinada de accelX alcanza sobre un valor.
La parte más extraña es que, cuando Arduino detecta un bit ON y enciende el timbre, ¡mis valores de aceleración se vuelven bastante ruidosos! He comprobado mis códigos tanto en el lado de Arduino como en el de Java y no pude encontrar ningún problema.
Luego puse un LED en lugar de un zumbador y, para mi sorpresa, se encendió sin interferir con la aceleración. lecturas !!
Realmente no sé cuál es el problema con el timbre. ¿Alguien puede ayudar?
Aquí está mi sospecha:
Estoy usando un panel de salida para ADXL345. No estoy seguro de si puede tolerar 5 voltios. Conecté 3.3 voltios de Uno a su Vcc y estoy usando I2C para las comunicaciones. (con dos resistencias pull-up de 4.7k conectadas entre sus pines SDA y SCL y uno de 3.3v).
¿Podría ser que el zumbador cuando se enciende de alguna manera consume tanta corriente que interfiere con esas resistencias de levantamiento?
Aquí está la foto de mi configuración (la línea roja inferior es 3.3v y la línea roja superior es 5 vols, ambas provenientes de Uno. Todas las bases están conectadas entre sí):
Yaquíestánlaslecturasdeaccels.enIDLE:
Yobtengoestaslecturasdelpuertoserie:
Perocuandoinclinolaplacadepruebas(ellímiteparalaalertaesde20grados),suenacorrectamente,perodebidoalasaceleracionesruidosas,elzumbadorcomienza,sedetieneycomienzaenunpatrónaleatorio: