modulo de bluetooth hc-05 mete ruido a lectura de poteciómetro

Hola, el problema que estoy teniendo es que al conectar el modulo hc05 a la alimentación de arduino noto que interfiere en las lecturas del potenciómetro y si retiro el modulo, estas anomalías desaparecen.

este seria el circuito hecho en fritzing (la resistencia no es de 10k sino de 220 ohms)


el código que arme es algo super simple solo para dimerizar el led con el potenciómetro.

int pinLed = 9;
int pote = 0;
int valor = 0;
int pinPote = A0;
void setup() {
pinMode(pinLed, OUTPUT);
}
void loop() {
valor = analogRead(pinPote);
pote = map(valor,0,1023,0,255);
analogWrite(pinLed, pote);
}

enlace de vídeo de muestra

buscando en el foro encontré potentiometer, where to put noise filtering capacitor, on multiplexer sheild - General Electronics - Arduino Forum pero no logro entender como se aplica

tampoco se si podría haber una solución vía hardware poniendo un capacitor, etc.
aclaro que mis conocimientos en electrónica son mínimos

Gracias

Y cuando estas haciendo esto mantienes el cable USB conectado a la PC?
por el cable USB existe una interfaz serie conectada a tus pines 0 y 1 RX y TX, tal que lo mas apropiado es que durante las pruebas uses SoftwareSerial haciendo que dos pines distintos de 0 y 1 se comuniquen con tu HC05 o alimenta el arduino con fuente externa y quita el cable USB y verás que no habrá interferencia.

Pero mas allá de todo lo que te aconsejé, no veo como el HC05 interviera con los valores de tu potenciometro.

De que valor es el potenciómetro?

Gracias por contestar, si lo tengo alimentado por usb, voy a probar de alimentarlo con una fuente que no sea la del usb.
si bien en el esquema puse las conexiones tx y rx, aclaro que también las desconecte y solo deje la alimentación al modulo como se ve en el vídeo que puse de enlace.
Yo creo que el hc05 mete ruido en vcc o gnd
Puse un Serial.print(Valor) y estando en 0 el potenciómetro llega a picos de 38 y al retirar el modulo hc05 la lectura queda en 0

buscando en google encontré Proyecto Arduino I: Lectura limpia de potenciómetro para control de servomotor. | Blog = Release voy a probar si mejora en algo la cosa y comento

saludos

El video no se ve. El link no envia a ningún sitio. Subelo a Youtube

bueno ya subí el vídeo a youtube ruido eléctrico de módulo hc05 en Arduino nano al leer potenciómetro - YouTube

Después comento como fue con el arduino alimentado con fuente externa

saludos

Bueno el debate de los pines serie veo que nada tiene que ver.
Tampoco es ruido.

Me gustaría que hagas esta prueba y publiques los valores que muestra el sistema con BT conectado, cuando el Pote esta supuestamente en 0.

Siempre que tengas un problema, apoyate en el monitor serie.

Ahora para hacer esta prueba tendras que conectar el BT en otros dos pines, digamos 7 y 8

#include <SoftwareSerial.h>

SoftwareSerial mySerial(7, 8); // RX, TX

int pinLed   = 9;
int pote      = 0;
int valor     = 0;
int pinPote  = A0;

void setup() {
     pinMode(pinLed, OUTPUT);
     Serial.begin(9600);
}
void loop() {
    valor = analogRead(pinPote);
    pote = map(valor,0,1023,0,255); 
    Serial.println(valor);
    analogWrite(pinLed, pote);
}

hola surbyte, le cargué el código que me pasaste y conectando los pines tx y rx los valores del monitor serie con el potenciómetro a 0, rondaban entre 3 y 5

alimentando el arduino con el ywrobot 545043, sin la conexión usb el led no tuvo destellos

lo mismo sucedió (0 destellos del led) alimentando arduino con una fuente de pc de 250w 5v 25A

googleando encontré otro post donde tratan un problema parecido https://forum.arduino.cc/index.php?topic=402016.0 probe de ponerlo en el 0 y 1 tx y rx del BT y con usb conectado sigue el destello
¿Entonces puede que sea un tema de interferencia en el puerto serial?
Cuando configure el hc05 lo deje en 38400b a lo mejor bajándolo a 9600b no interfiera
si es ese el problema
saludos

porque no haces una chapuzada como dicen los espaÑoles, jajaja

pote = map(valor,5,1023,0,255);

Hi,
Una sugerencia es que los cables de la resistencia esten trensados. Al voltaje de 5voltios que alimenta la resistencia variable anadele un condesador de .1uf con uno de 10uf en paralelo de los 5 voltios a ground. Esto ayuda al que los 5 voltios este limpios de ruidos y interferiencia. Tmbien trata de que los cables de la resistenci esta lo mas cerca posible de la entrada. Si despues de todo esto no trabaja le anades una resistencia de 300 ohmios del cable que lleva la senal de la resistenciia al arduino, y le anades un condensador de 1uf al cable que conecta al arduino a ground. Esto lo que va hacer es eliminar cualquier interferencia que recoja al cable de entrada al arduino.
No le poca la capucha todavia

hola @surbyte probé la recomendación de modificar pote = map(valor,5,1023,0,255); y no dio resultado, es más medio que se volvio loca la lectura xddd.

Suponiendo que era una interferencia por estar a la misma velocidad de baudios el BT y el serial de arduino, con el comando AT+UART modifique la velocidad a AT+UART=115200,0,0 y 38400, pero la interferencia continúa.
Haciendo estas pruebas note que cuando pongo el modulo HC05 para poder agregar los comandos AT (quitarle y poner la alimentación al modulo y mantener un mini pulsador apretado) la interferencia cesa cuando entra en ese estado.

@tauro0221 si bien creo que a esta altura no se trata de un ruido eléctrico sino de interferencia en el puerto serial de arduino con el modulo hc05. voy a probar la recomendación que das de poner capacitores. para no cometer errores hice un esquema en fritzing para que me digas si te entendí bien tu propuesta.

También probé de usar un segundo modulo HC05 que tengo configurado como maestro, con otro arduino nano replicando el circuito pero con un potenciómetro de 5k y pasa exactamente lo mismo cuando esta conectado via usb. En estos días voy a probar de usar un arduino uno y un mega

gracias

Hi,
Haz otra prueba conecta un condesador de .1uf al voltaje de +5 del nano lo mas cercano posible a los pines. Si te es posible soldarlos en los pines de +5 y ground. Normarmente cuando se usa circuitos de logica se recomienda un cap de .1uf del +5 y ground. Este debe estar lo mas cerca posible a los pines.

Aqui copie un articulo que explica el porque del cap al voltaje y ground.

"The .1uF capacitor, is a bypass filter that bypasses very high frequency spikes to ground. These need to be placed as near as possible to the power leads of each IC. They act to suppress both the spikes generated by the closes IC and and spikes that may try to enter any IC.""

Hola @tauro0221 le puse un capacitor y si bien creo que mejoro, cuando lo probé con los led de alta potencia del proyecto que estoy tratando de hacer se sigue notando el destello.

Por ahora creo que logré "solucionar" el problema desde el lado del software, de las pruebas que he hecho no note ningún destello y la lectura del serial se ve super estable.

mañana con más tiempo voy a revisar bien lo que hice, y luego posteo el conexionado y el código que es una mezcla de Proyecto Arduino I: Lectura limpia de potenciómetro para control de servomotor. y Android bluetooth Arduino data receive

gracias

Hi,
Otra cosa que puedes hacer que yo uso a menudo es hacer un average de las lecturas cundo son ruidosa y no se pueden eliminar el ruido. Por ejemplo: Leo el input y voy sumando las lecturas hasta 10 veces. Luego las divido por 10. Esto es lo que se conoce como averaging. Otra cosa que puedes hacer es que aumente el condesador de 10uf a 470uf.