proyecto pedalera para guitarra con arduino

Hola arduino forum, soy francisco y soy nuevo por aqui, muchas gracias a todos por hacer posible esto, vamos con la duda:

mi duda es la siguiente, me estoy haciendo una pedalera para guitarra y consta de 12 pulsadores iluminados, pero no consigo diseñar un circuito(mis nociones de electronica son escasas) que deje iluminados los pulsadores aunque no esten pulsados, es decir, selecciono el pulsador del efecto 1, y cuando suelte se sigue quedando encendido, y cuando vuelva a pulsar se apague, algo asi como esto:

Pulsador off-led off(partimos de que esta apagado)
pulsador on-luz on( se pulsa el boton, el led se enciende)
pulsador off-luz on(se suelta el boton, el led sigue luciendo)
pulsador on-luz off(se pulsa para volver a apagar, el led se apaga)

lo intento simular pero no lo consigo

a pesar de que la pedalera lleve 12 botones, con que lo consigamos con uno me es suficiente.para cualquier cosa de la pedalera me podeis preguntar y os paso planos etc...gracias a todos!

Hola Francisco. No suena complicado. Se entiende que cada pulsador tiene su propio led. Pon el esquema que estas usando y explica si tienes un arduino uno o mega. Con el duemilanove o UNO necesitarás un poquito de multiplexación. No es complicado. Por otro lado, no pongas los 12 a la vez, empieza solo por un pulsador y un led.
Nayma

he conseguido (siguiendo el tutorial descrito en esta pagina por Diablet69) simular con proteus lo que os pedía...ahora bien, mi duda es hacerlo con varios leds..nunca estarían los doce luciendo, como máximo seria 7, pero no me deja ampliar el contenido. Yo creo que usare Arduino mega, por el tema de que tiene mas salidas. Muchísimas gracias por haceros participes de mis dudas, os adjunto el proceso a seguir(de momento solo con un pulsador)

const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;
boolean LED_ON;
boolean FLAG_PULSE;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
LED_ON = false;
FLAG_PULSE = true;
}

void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH && LED_ON == false && FLAG_PULSE == true)
{
digitalWrite(ledPin, HIGH);
LED_ON = true;
FLAG_PULSE = false;
}
else if (buttonState == HIGH && LED_ON == true && FLAG_PULSE == true)
{
digitalWrite(ledPin, LOW);
LED_ON = false;
FLAG_PULSE = false;
}
else if (buttonState == LOW && FLAG_PULSE == false)
{
FLAG_PULSE = true;
}
}

hola de nuevo, estoy simulando con un solo pulsador y todo correcto...pero al querer meter mas, en vez de el led quedarse fijo, parpadean, y los pulsadores no gobiernan bien los led's, puedo apagar o encender los dos led con un mismo pulsador..algo muy raro..no se que puede fallar.gracias de antemano.saludos

const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;

const int buttonPin2 = 4;
const int ledPin2 = 12;
int buttonState2 = 0;
boolean LED_ON;
boolean FLAG_PULSE;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(ledPin2, OUTPUT);
pinMode(buttonPin2, INPUT);
LED_ON = false;
FLAG_PULSE = true;
}

void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH && LED_ON == false && FLAG_PULSE == true)
{
digitalWrite(ledPin, HIGH);
LED_ON = true;
FLAG_PULSE = false;
}
else if (buttonState == HIGH && LED_ON == true && FLAG_PULSE == true)
{
digitalWrite(ledPin, LOW);
LED_ON = false;
FLAG_PULSE = false;
}
else if (buttonState == LOW && FLAG_PULSE == false)
{
FLAG_PULSE = true;
}

buttonState2 = digitalRead(buttonPin2);
if (buttonState2 == HIGH && LED_ON == false && FLAG_PULSE == true)
{
digitalWrite(ledPin2, HIGH);
LED_ON = true;
FLAG_PULSE = false;
}
else if (buttonState2 == HIGH && LED_ON == true && FLAG_PULSE == true)
{
digitalWrite(ledPin2, LOW);
LED_ON = false;
FLAG_PULSE = false;
}
else if (buttonState2 == LOW && FLAG_PULSE == false)
{
FLAG_PULSE = true;
}
}

nadie dice nada? nadie se anima? gracias de antemano :roll_eyes:

Hola Francisco,
prueba a crear
boolean LED1_ON;
boolean FLAG1_PULSE;

boolean LED2_ON;
boolean FLAG2_PULSE;

es que me imagino que tienes 2 ( en un futuro 12 leds) y cada uno estará en un estado diferente.

muchisimas gracias nayma, todo correcto, la simulacion perfecta a la primera, gracias a tu ayuda y a la del foro podre presentar mi proyecto a tiempo! para cualquier cosa estare por aqui! muchas gracias de nuevo y un saludo

esperamos que no sea tu último proyecto, y que nos lo enseñes una vez construido.

Hola!
Una pregunta. Ando buscando información sobre pedaleras de guitarra con Arduino, y la verdad es que no encuentro mucho, y en lo que encuentro me pierdo un poco entre preamplificadores y amplificadores.

Mi duda es la manera de conseguir que arduino "lea" los datos de la guitarra. Para lo cual he leído que debería usar un pre-amplificador, que convierta la señal de la guitarra (-1V a 1V) a la que pueda leer la señal analógica de Arduino (0V a 5V)

Si no he entendido mal, hay que hacer un esquema de preamplificación para eso, pero ahí es donde me pierdo.
He encontrado este: Monk Soundworks: Guitar Preamp for ARDUINO 0-5V
que parece ideal, pero lo veo demasiado complicado (para mi nivel, claro)

Por eso quería saber si hay algo más sencillo, algún shield ya hecho, o algo.

Valdría cualquier shield para microfono?
Podrías decir como has hecho tú para conseguir leer el voltaje?

Muchas gracias!