HOLA poseo varios Arduino ,mega ,uno ,nanos ,y aprendi con ustedes casi todo ,esta vez tengo un problema de alimentación fabrique una consola con un MEGA ,con el hago funcionar 5 reley de manera alternativa, 2 sensores de sonido, 5 display 7segmentos ,1 max 7219 con un displey 8 x 8 , tres pulsadores alimente el Arduino con un ,cargado de teléfono de 6 v ,tome antes de alimentar al cargador los 220 v y para accionar un contactor y algunas maquinas de baja potencia , el problema es que con la computadora conectada al arduino y el cargador conectado a la red y no alimentando el MEGA ,todo funciona como lo fabrique ,pero si retiro la alimentacion de la computadora y enciendo el cargador la rutina funciona unos instantes y se descontrola hasta no disparar los reley ,,porque lo hace si los relay funcionan a los 5 v de salida del arduino , tengo que alimentarlo con algunos vol mas y no mas de 12v ,que se puede hacer?????
6V no son suficientes para energizar adecuadamente el Arduinona través de Vin. El regulador de la placa requiere al menos 6.3V. Yo le pondría 7V
Por regla general no es conveniente (ni suficiente) energizar los relevadores con los 5V que provee el Arduino.
Mucho ayudaría que publicaras el diagrama de conexiones
Gracias por tu respuesta tengo unos amplificadores de voltaje creo que son LM 2596 o algo así que elevan el voltaje con un potenciometro probaré aver si responde . El circuito no lo diagrame lo fui construyendo, si te podría embiar un video si me explicas por donde lo resivirias,y también quisiera que me orientes ya que uso uno de los sensores.de ruido y nesecitaria los dos ..gracias
Es mejor no elevar de voltaje con regulador, sino tomar una fuente de alimentación de 5v y alimentar todos sus relés directamente con el y el arduino tambien, conectando la alimentación al pin de 5v en lugar de VIN
Ok te entiendo lo voy a probar de esa manera y te informo resultado gracias
Gracias por tu consejo ,tendría otro incombeniente ,no se si me podrías orientar ,los 5 relay encienden de manera aleatoria mediante un rondón, lo programe si que se repitan ,ahora cada releyendo tiene un número de 1 al 5 y le conecte display 7 segmentos puenteados con el número correspondiente a cada reley ,quiero utilizar otras 5 salidas del mega ,como tengo que hacer para que coincidan con el relay sorteado y el número que corresponde si no se cual es el sorteado ,,no se si me explique gracias igualmente
Será botón?
Pues a las 5 nuevos pines reptites el comando
digitalWrite(pin, estado);
Gracias por tu respuesta y perdón.por mi error de ortografía. Quise poner random , genero una función aleatoria , de 1 a 5 sin repetición de los mismos , tendría que leer los estados de esos pines para saber cual (sorteo) ??? Como seria hacerlo por código?? Gracias
Dos cosas...
Una: ¿Cómo el programador no va a saber cúal es el número generado si lo está usando en el código?
Puede no conocerlo en tiempo de ejecución pero ha escrito un código que maneja ese número aleatorio, sino ¿como activa el relé que corresponde?
Y la segunda: ¿Y si mejor subes el código y lo vemos? Como para no tener que andar jugando a las adivinanzas.
BUENO, por partes dijo( JACK EL DESTRIPADOR), me queda demasiado grande lo de (programador) la wed ,google y el foro ,mucho buscar y mucho de prueba y error fui entendiendo algunas cosas, lejos de programar pude realizar algunas cosas a mi edad el cerebro no es tan certero,
y la segunda totalmente de acuerdo por mas trate de describir lo que no logro destrabar ,no hay manera sin el código ,enviare solo una parte porque seria extenso
[code]
FLECHA();// matriz 8 x 8
while(cont1==2){
son=digitalRead(MIC);// sensor de sonido ky_037
if(son==HIGH){
while(digitalRead(MIC)==HIGH);
Serial.print("sale helice ");
//Genera un numero aleatorio entre 2 y 6
randomNumber = random(2,7);
Serial.println(cont++);
segundo=randomNumber;
if (primero==segundo){
while(primero==segundo){
segundo=random(2,7);// primero,segundo ,tercero ,cuarto y quinto ,son entero que defino para que no se repitan en el random
}
Serial.print("El numero aleatorio 2 es = ");
Serial.println(segundo);
}else{
Serial.print("El numero aleatorio 2 es = ");
Serial.println(segundo);
}
}
DOS_2(); //matriz 8 x 8 muestra el numero dos
digitalWrite(segundo, LOW);
delay(1000);
digitalWrite(reley_Maquina1,HIGH);
digitalWrite(segundo, HIGH);
Serial.print("El contador es = ");
Serial.println(cont1);
cont1=100;
}
FLECHA();
//supresor();
while(cont1==3){
son=digitalRead(MIC);
if(son==HIGH){
while(digitalRead(MIC)==HIGH);
Serial.print("sale helice ");
//Genera un numero aleatorio entre 2 y 6
randomNumber = random(2,7);
Serial.println(cont++);
tercero=randomNumber;
if ((tercero==primero)||(tercero==segundo)){
while((tercero==primero)||(tercero==segundo)){
tercero=random(2,7);
}
Serial.print("El numero aleatorio 3 es = ");
Serial.println(tercero);
}else{
Serial.print("El numero aleatorio 3 es = ");
Serial.println(tercero);
}
}
TRES_3();
digitalWrite(tercero, LOW);
delay(1000);
digitalWrite(reley_Maquina1, HIGH);
digitalWrite(tercero, HIGH);
Serial.print("El contador es = ");
Serial.println(cont1);
cont1=100;
}
mi problema es poseo 5 reley que activan maquinas de platillos, que sortea de manera aleatoria 5 veses sin repetirse primero ,segunda ,etc,etc es un entero para que no se repitan ,un una ronda de cinco la primero por ejemplo puede ser la maquina 3 ,y en la próxima ronda sea la 5 , por eso no lo se cual se activara y quiero temer un testigo o cualquier cosa que me señale que maquina se activo prefiero hacerlo en codigo....espero que haya podido ser claro y objetivo ...gracias
Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>
Me sorprende, acabo de ver y no es tu primer post.
Ya deberías saber como postear un código!!
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.