Conmutación de dos pines

Hola, saludos a todos.

Soy muy novato y no hay manera de conseguir lo que quiero, os explicó. Quiero con un conmutador mandar corriente al pin 8 o al 9 y que cuando llegue corriente al pin 8 parpadee una sola vez un led en el pin 12 y con el pin 9 lo mismo con un led en el pin 13. Tiene que ser sin Delay para que no se pare el proceso.

Gracias anticipadas

Te daré una idea muy básica para que puedas empezar:

void loop() {
  if (digitalRead(8)) { // Corriente al pin 8?
    // El parpadeo al 12
  }

  if (digitalRead(9)) { // Corriente al pin 9?
    // El parpadeo al 13
  }
}

Las faltantes se completan con aprender el uso de millis y variables booleanas.

Ve a documentación y mira las clases de 0 a 7 y de 8 en adelante y podrás resolverlo.

Gracias a los dos por las respuestas. Voy a ver lo que hago. Ya os dire.

Otro dato mas. Leer un pin es como cuando presionas un pulsador. Cuando lees el estado del pulsador lees el estado del pin y con esa decisión haces lo que quieres. Hay ejemplos en el IDE para leer un pulsador y ahi tendras parte de la respuesta.

Como se prende un LED pues mira Blink.ino en tus ejemplos y lo sabrás. Ahi tienes la segunda parte. Es lo mismo que te dijo Lucario visto de otro modo.

Eso lo tengo claro, hasta hay he llegado. El problema que tengo en otro. Lo que quiero conseguir es que al darle al pulsador y mantenerlo pulsado solo me de un impulso. Lo maximo que he conseguido es que al mantenerlo pulsado me de mas destellos y no solo uno como quiero.

Entonces busca la transición 0 a 1 y usa un delay para controlar el ancho del impulso que buscas.

Os explico lo que quiero hacer para que quede mas claro. Se me estropeo un cierre centralizado que ya no se fabrica. Tenia un negativo y dos positivos, con uno abría y con el otro cerraba, pero siempre le llegaba corriente a uno o a otro, no le llegaba una pulsación. El nuevo para abrir le tiene que llegar un pulso de un segundo y para cerrar también. Entonces tengo que convertir una señal continua a un pulso de un segundo. No puedo usar Delay porque me interumpiria la apertura o el cierre. Espero que me haya explicado bien. Gracias

Y porque no lo explicaste al comienzo!!

Que tensiones estan involucradas?

Perdona si te he entendido mal, pero que ¿ pasaria si en lugar del conmutador pones dos pulsadores uno para abrir y otro para cerrar que envien corriente solo durante el tiempo de pulsacion ?

Es que he creido entender que el sistema era manual. Aprieto = abro, aprieto el otro = cierro.

Siento no haber sido claro de principio. La tension es de 12 voltios del vehiculo pero la reducire con un circuito a 3,9 v

:o :o :o

El conmutador lo hace la cerradura del conductor, al abrir da corriente al resto de las cerraduras al cable positivo de apertura y al cerrar deja de mandar corriente a ese cable y la manda al cable positivo de cierre

Nadie me puede ayudar?

Ya te respondí post#4.
Todo lo que necesitas esta en los ejemplos del IDE o ve a documentación y toma las clases de Youtube 0 a 7 y 8 en adelante.
Con alguna base podras programar algo.
Lo que quieres es que te lo hagan, para ello, dos alternativas o esperas o esperas.

Perdona pero me he repasado todos los videos y no he encontrado la solucion para que solo me de un pulso al estar un pulsador pulsado, lo unico que consigo es que se repita constantemente. Con delay no puedo hacerlo pues como quiero conmutarlo me lo bloquea. ESTOY ATASCADO. Si no me quieres ayudar no me ayudes pero no me digas que quiero que me lo den hecho porque estoy ATASCADO. Gracias de todas formas

A ver no quiero entrar en polémicas pero dime, no has mostrado un solo código y que dicen las normas al respecto? Postea tu código. Lucario te dio una idea, yo una similar. Te sugiero que vayas a documentación no porque alla esta tu respuesta, sino porque con conocimiento sabras que hacer, pero no miras y aprendes, miras buscando tu respuesta. Y eso esta errado.

Me comprendes que solo pretendo que aprendas? Empieza con el código de un pulsador. Aprende con el blink.ino que maneja led usando delay. Combina y tienes tu solución.

Entiendo lo que dices y yo tampoco quiero entrar en polemicas. Es la primera vez que entro en un foro a pedir ayuda. Toco muchos temas y siempre entro en los foros para aprender, leyendo se aprende mucho. Me siento defraudado al ser la primera vez que pido ayuda y se mal interpreta. Lo siento pero seguire como hasta ahora informandome sin pedir ayuda. Gracias de todas formas.

Tu pareces no entender lo mas simple. Asi que como cuestionas mi ayuda pondré con código (algo que tu no has hecho, porque aún no has leído las normas entonces no entiendes lo que te pedimos). Crees que se trata de que no te queremos ayudar y ya hemos hecho bastante pero haré mas. No tengo tiempo para perder pero miráría las clases que te dije en Documentación para decirte, clase nro X Este es blink.ino de Ejemplos ->Basic -> Blink.ino del IDE que tu tienes y yo tengo y todos tenemos

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Un led parpadea... a un ritmo de 1 seg LED ON y 1 seg LED OFF

Este es el ejemplo Button.ino de Ejemplos -> 2. Digital-> Button.ino

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }
}

Tu pediste esto

Quiero con un conmutador mandar corriente al pin 8 o al 9 y que cuando llegue corriente al pin 8 parpadee una sola vez un led en el pin 12 y con el pin 9 lo mismo con un led en el pin 13.

Cambia esto

const int buttonPin = 2;     // the number of the pushbutton pin 
const int ledPin =  13;      // the number of the LED pin

por tus números 8 y 12 por un lado y 9 y 13 por otro y lo tienes resuelto

Compara esto con lo que te dijo Lucario y te dije yo en el post#7 y ahora que opinas?

EDITO: he visto las clases que he sugerido y salvo la 1 primera o clase 0 las demas son muy elevadas. Asi que busqué una y encontré esta https://www.youtube.com/watch?v=u7JrOoQ3OxI

Por lo que veo no os entendemos. Todo lo que me pones ya lo he probado. Yo te hablo de un conmutador y tu me respondes con un pulsador. Un pulsador da corriente mientras pulsas y un conmutador te da corriente en un sentido o en otro pero todo el rato. Lo que yo pretendo es que cuando cambias la posicion del conmutador (llega corriente todo el rato) me de una pulsacion de dos segundos y cuando cambie a la otra posicion me de otra pulsacion de dos segundos. Con un pulsador es como si lo tubieras pulsado todo el rato y con eso lo unico que he llegado a conseguir es que se repita el unico pulso que quiero todo el rato. Con Delay que me habeis comentado en algun post no lo puedo hacer pues al ser un conmutador al cambiar de posicion me bloquea el codigo hasta que termina el tiempo y no me vale. Creo que no nos entendiamos pues hablabamos de cosas distintas y creias que no hacia los deberes por lo mismo. Sobre lo de poner el codigo no se cual ponerte pues he probado un monton de opciones y ninguna me ha sido valida. Siento mucho que creas que quiero que lo den hecho pero no es asi, solo quiero saber salir del atasco, que es que no se repita el parpadeo al estar pulsado todo el rato el pulsador. Gracias y disculpa