estoy realizando un proyecto con 2 Arduinos UNO, el primero envía una señal de radio a través del sensor NRF24L01 al segundo indicándole activar 3 motores vibradores(son los pequeños de disco, como una pila plana) durante 1 minuto.
Tengo la necesidad de regular la intensidad de los motores ya que es un proyecto para neurología en el que necesitan activar zonas del cerebro variando la frecuencia e intensidad de esos motores. Cuándo lo prueben con aparatos de medición en el cerebro necesitaré poder variar la intensidad, es decir, la cantidad de electricidad que les llega a los motores, para que vibren mas fuerte o menos.
Ahora mismo los tengo conectado a la salida de cada pin digital correspondiente y al GND, si añado una resistencia disminuye la intensidad del motor pero ¿cómo puedo disminuir o aumentar la fuerza con la que vibran?
Antes de añadir un potenciómetro he probado a variar la salida del motor por código:
//En vez de utilizar:
digitalWrite(motor,HIGH);
//poner:
digitalWrite(motor,50);
//o:
digitalWrite(motor,255);
pero no veo que varié la intensidad. Con un led si lo hace pero con el motor vibrador no parece funcionar.
He estado buscando en Internet y en el foro pero no he conseguido encontrar solución a mi problema.
Gracias por responder, el problema no lo tengo con el transceptor NRF24L01, solo lo he indicado en la descripción para poner en situación del proyecto que estoy elaborando.
Me pasa lo mismo si lo realizo directamente sobre un solo Arduino UNO.
El problema es cómo regular la "fuerza" de los motores vibradores. El típico ejemplo del potenciometro con un led me funciona pero con estos motores vibradores no.
Lo se, gracias, pero ¿cómo puedo regular esa intensidad mediante el código o potenciometros de manera correcta? Insisto en que para un led si me funciona regular la intensidad de electricidad que le llega pero la misma configuración para este tipo de motor vibrador no funciona.
Porque no nos dices que modelo de motor estas usando?
Sus características técnicas, tensión de trabajo, corriente de trabajo, tipo de motor. Entonces te podremos decir, usa esto o lo otro.
Por supuesto, no todos los motores tienen placa, sobre todo los pequeños motores como estos, no lo tienen en su carcasa pero si te da referencia, no siempre pero te la da, el vendedor tiene que darlo, por ejemplo este motorcito de 5V para Arduino.
Suministra un golpe dando vibración 1G a 12,000rpm de 3V, dibujando menos de 80mA
Si es el caso, la manera mas simple que se me ocurre es usar PWM a 3.3V con un transistor adecuado.
Asi que desde el pin del arduino (espero que uses uno que trabaje a 3.3V como un PRO micro o los nuevos NANOs) mas un transistor usando PWM o sea variando el ancho del pulso podrás lograr variar la tensión media del motor vibratorio y con ello tal vez sus RPM.
Para probarlo busca analogWrite(pin, valor) donde pin será uno que tenga soporte PWM y valor será algo entre 0 y 255 con lo cual tienes 256 niveles de cambio para tu motor vibratorio.
El transistor podría ser algún Mosfet adecuado para 3.3V o un NPN como el 2N2222 o el 2n3906.
Pero esto sería bueno indicarlo cuando precises que arduino estas usando.
Cada pin puede suministrar 40mA si hablamos de un Arduino.
No debes superar 200mA en total. Si hablas de 5 motores vibradores estarías justo pero dentro de lo posible.
Ahora bien.Lo que yo encontré decía 80mA y eso es el doble de los 40mA permitidos.
Entonces si es el caso y te aconsejo que lo midas con el amperímetro, si debes usar transitor o quemarás el pin o los pines.
Usa una fuente alimentación externa que te permita corriente necesaria, no la justa, esto es solo para el motor.
En la base del transistor, activa el transistor para activar el motor o no.
Activa el transistor desde la base para activar el motor. Qu emaní atengo de repetir palabras en la misma frase, jajajjaja.