Hola,
Soy nuevo en Arduino, por temas laborales estoy aprendiendo a programar en KOP sobre Siemens, pero quiero hacer mis cosas en casa, y Siemens es muy caro, me he decidido por Arduino y estoy aprendiendo poco a poco, aunque su lenguaje no es nada intuitivo.
Tengo pensado un proyecto, y pensaba comprar un UNO.
Querría saber si en un proyecto es posible programar (por capacidad) 18 temporizadores, algunos enlazados.
No es muy intuitivo, pero según vayas viendo verás que no es tan complicado, y además hay muchos ejemplos para guiarse uno, y sino aqui seguro que te ayudan.
Ahora al tema del Uno y los temporizadores... Desconozco de que forma los quieres, si programados fijos, es decir sin reloj sino que le dices tanto tiempo y eso ya es para siempre o para cuando le cargues un nuevo scketch, o con un reloj, un teclado, un lcd y que puedas variar los temporizadores mediante este sistema etc.
En caso de que sean fijos, el Uno dispone de 18 salidas (sin contar los Tx y Rx) pinout arduino uno, si necesitaras más podrías usar el Mega, que con ese en temas de pines no vas a tener escasez.
Pero realmente no se concretamente que intentas hacer, no se muy bien a que te refieres con entrelazados, si es que uno afecte a otro o mejor dicho que una vez que acabe uno comience otro o cosas asi, por lo tanto no soy capaz de asegurarte que si te sirva sin saber más concretamente que es lo que intentas crear y si le tienes que añadir algo más, como teclado, reloj o lcd por ejemplo
Qué es intuitivo?
Cuando te sientas en una clase y el profesor habla de un tema nuevo, te resulta intuitiva su disertación? En algunos casos si, y en otros no?
De qué depende? De si prestaste atención las clases anteriores y si los temas estaban o no relacionados.
C es tan intuitivo como cualquier otro lenguaje. Asi que ese estigma no me parece acertado. De hecho se llama C porque asi fue calificado por un profesor y sin embargo Hoy es el lenguaje mas usado en el planeta Tierra. Entonces? Pobre profesro.
Respeto de tu objetivo debes dar mas información pero solo diré esto. 18 temporizadores requieres en algunos casos 18 salidas. Arduino UNO tiene 14 + 6 o sea 20 salidas pero eso no te da margen para nada. Si reservas dos para la comunicación serie te quedan 18.
Hola, y gracias de antemano por lo que hacéis (algún día será "por lo que hacemos").
Después de releer vuestros apuntes, de entrada ya he comprado un Mega y perifericos, porque como se dice en el foro hay que dejarse de elocubrar y ponerse a trastear...
También he reducido mis espectativas de proyecto a dos entradas analógicas, y cuatro reles de salidas.
Para mas adelante quiero poner una pantalla para ver los datos actuales, y multiplicar todo por dos. Pero para mas adelante.
Voy a intentar explicar un segmento de lo que quiero hacer, perdón por el lenguaje.
Si "analogRead" es menor que 400, y no está contando "T2" (temporizador 2): entonces arranca "T1" (temporizador 1= 5seg);
Si "T1" está en marcha: activa una salida digital "digitalWrite (pin x, HIGH), y arranca "T2" (temporizador 2 = 60seg);
De esta forma con termperatura baja arranco el calentador (que es demasiado grande) durante poco tiempo ~5s (a afinar), y lo inhibo durante 60s (a afinar), para lograr subir la temperatura a pequeños saltos.
Okay. Ya que comienzas, no uses delay(), no podras interactuar con sensores y eventos.
Ve a Documentación => Indice de temas tutoriales => millis()
Aprende a usar millis() en tus proyectos y verás que todo funciona mejor y más fluido.
Con millis() puedes crear tus timers.
Lo que propones como seudocódigo viene de usar PLC, no puedes usar ese criterio de programación en Arduino porque no cuentas con funciones que te generen esos retardos pero si puedes crearlas.
Mi consejo es que en cuanto leas los tutoriales tambien leas como funciona una máquina de estados. Será muy util para tu programación.
Hay unas placas chinas que simulan los plc mitsubishi ,incluso se programan con la misma aplicacion en kop y tienen procesador 32 bit ,entradas optoacopladas,salidas a rele,etc.Por 17 euros compre uno con 14
entradas y 8 salidas a rele (tambien los hay a transistor).Si quieres aprovechar/practicar los conocimientos con plc creo que es mejor opcion que arduino ,aunque mitsubishi difiere un poco de siemens ,son muy similares. https://www.ebay.com/itm/FX1N-20MR-FX1N-14MT-FX1N-20MT-FX1N-24MT-PLC-Board-Relay-Delay-Module-DC-10-28V-/332910734715 el enlace es una orientacion para que veas los modelos
Gracias "surbyte", en ello estoy , pero me está costando entender la programación sobre Arduino, pero sé que se logrará.
Gracias "Kike_GL", programar en KOP sobre Siemens es un tema laboral, ahí no tengo opciones.
Comprarme Arduino es porque ya que me tengo que meter en este mundo, poder hacer algunas cosas en casa, que siempre pensé, pero nunca me puse.
Gracias "jose", voy a mirar, pero me parece un lujo que exista "la familia" Arduino y el software libre. Me toca esforzarme, e ir paso a paso.
Lo comento porque de tu primer post entendi que lo que querias era programar un plc en kop a un precio economico,no obstante si te interesa arduino echa un ojo a esta libreria que te permite usar un lenguaje "similar" al awl (que tambien permite programar el siemens junto con kop y fup):