Me gustaría saber si con Arduino es posible crear lo siguiente:
Que un monedero tragamonedas arcade al detectar la moneda mandé a un servomotor que abra unas puertas con servomotor y programar que a los 30 segundos vuelva a su posición original. El monedero tiene dos salidas de corriente +5V y +12V y 2 tomas GND.
Es para una maquina arcade, soy técnico de una bolera con bastantes maquinas
Moderador:
Por favor, lee las Normas del foro.
Por lo visto no has leído ni las normas ni que temas son considerados Proyectos y son temas adminitos en esta sección.
No descarto que para ti este lo sea, pero entonces todos lo son.
Se hace una distinción en cuales son considerados para esta sección y cúales no.
Movido a Software.
Hay muchos hilos en este foro en Español y ni hablar del foro en inglés (y demás foros) sobre monederos. Hemos cubierto creo que muchas aristas.
Mover un servo... esta por todos lados.
Para hacer que algo vuelva a los 30 segundos y siga atento, no uses delay() , usa millis(). Ve a Documentación y mira los tutoriales sobre como usarlo. También lee como crear una máquina de estados logicos. Te servirá.
Te corrijo y no por ánimo de decir que se mas que tu. 5V y 12V son tensiones no corrientes.
El manejo de tensiones lo logras con transitores. A mi me gustan los MOSFET. Fáciles de interfacear (no consumen casi nada de parte de los pines) y tienen excelentes valores lógicos.
El primero es un canal N. De la salida Drain tendrás 5V si VCC esta a 5V o 12V si VCC esta a esa tensión.
Esto es orientativo, hay mucha agua bajo el puente.
Ok, perdón no sabía. Solo quiero saber cómo hacer que el servo no haga nada hasta que no reciba una moneda.
Insertamos moneda, este monedero manda tensión (a qué componente?), y este componente le diga al servo muévete a X grados durante 30 seg, pasados estos segundos cierre hasta que se vuelva a insertar la siguiente moneda.
Necesitaría ayuda para saber qué tensión elegir 5V o 12V? Depende del servo verdad?
Como ordenó a Arduino que cuando reciba señal del monedero este envié señal al servo?
El servo no hara nada hasta que tu le pongas un comando MOVETE o MUEVETE como lo digas en tu país. Traducido a Arduino
servo.write(grados);
mientras no reciba eso no se mueve.
Y para llegar a eso se debe dar alguna condición que tu establecerás.
ejemplo
#define pinMonedaInsertada 2 // asigno este pin que recibirá 0 o 5V donde
// 0 no hay moneda o sea LOW o false
// 5v si hay moneda insertada o sea HIGH o true
bool hayMonedaInsertada , hayMonedaInsertadaAnt 0 false,
// setup() {
pinMode(pinMonedaInsertada , INPUT); // defino a 2 como pin de entrada digital.
}
// loop() {
hayMonedaInsertada = digitalRead(pinMonedaInsertada);
if (hayMonedaInsertada && hayMonedaInsertadaAnt ) {
servo.write(90);
}
hayMonedaInsertadaAnt = hayMonedaInsertada;
Con esto solo pones en marcha el servo cuando se ingresa una moneda, solo cuando la misma pasa de no hay moneda a si hay moneda. Tu detector debe funcionar bien, sin rebotes, o sea algo que siga hay no hay hay no hay, generará problemas y requiere de una rutina antirebotes.
Son cosas que pasan.. por esto te lo comento.