Tengo una duda:
En tu código se encuentra esto:
void AddButtonPin (int pin){LedPin = pin;}
void AddLedPin (int pin){ButtonPin = pin;}
¿Es correcto? Es que, sinceramente, no entiendo muy bien tu código.
Ups ese era el fallo, estaba del reves
lo e puesto bien y funciona gracias!! La próxima rebusco mucho mejor antes de postear, pero es que no lo veía, gracias!!
No entiendo nada el codigo.
-Podrias utilizar constantes int para asignar los pines asi no tenes que repetir en el código.
-No sabia que Arduino usaba clases.
-TODAS las otras funciones extras DEBEN estar debajo de loop en lo posible.
-Podrias explicar un poco mas que hace el code, si los leds se encienden como pulsadores o de otra manera.
La verdad es que no me explique para nada. Me explico ahora:
-El problema lo tenia en las contantes, que las asignaba con enteros pero no funcionaba, el problema era el que me a solucionado Tokes que ha visto la "incompatibilidad".
-Según tengo entendido el lenguaje de programación del arduino esta basado en C/C++ por lo tanto como en C++ se programa con clases (es lo que me han enseñado), pos lo he echo con clases y funciona ejje
-Ok no lo sabia, no tengo mucha experiencia programando, estoy aprendiendo jeje
-Mas abajo te pongo el código un poco más arreglado, ya que con el problema que tenia era un poco lioso. El código en si no esta terminado, le falta mucho pero voy haciendo pruebas. Los botones aun no los utilizo, y los led se encienden durante 2 segundos cuando se llama a la función LedOn (). La función Reproduction () está aun incompleta le faltan bastante mas cosas. La finalidad del codigo mas arduino es hacer un simon dice
, pero en plan casero jeje aunque tengo otro problemilla que aun no e empezado a "investigar", que es hacerlo aleatorio ejeje. Bueno aquí dejo el código:
class Button
{
private:
int ButtonPin;
int LedPin;
public:
Button (int ledpin, int buttonpin);
~Button (void){}
void AddButtonPin (int pin){ButtonPin = pin;}
void AddLedPin (int pin){LedPin = pin;}
void Reproduction (void);
void LedOn(void);
};
Button::Button (int ledpin, int buttonpin)
{
AddButtonPin (buttonpin);
AddLedPin (ledpin);
pinMode (ButtonPin,INPUT);
pinMode (LedPin,OUTPUT);
LedOn();
}
void Button::Reproduction(void)
{
LedOn();
}
void Button::LedOn(void)
{
digitalWrite (LedPin, HIGH);
delay(2000);
digitalWrite (LedPin,LOW);
}
void setup()
{
}
void loop ()
{
Button rojo (2,4);
Button verde(6,12) ;
Button amarillo (5,10);
rojo.LedOn();
verde.LedOn();
amarillo.LedOn();
delay (8000);
}