X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=libraries%2Fcommon%2Fcommon.h;h=dee00b6181872550eb89f65537f9d495db40add6;hb=84fc2d6e073c1b3ab8ef1fe62a80a52d2bce657e;hp=71cb19a84efa0670564ff0673d9d90662e42ebba;hpb=ad3aca9c8c8e24f1a1e0326ef5f027ab23b75712;p=sketchbook_andrea diff --git a/libraries/common/common.h b/libraries/common/common.h index 71cb19a..dee00b6 100644 --- a/libraries/common/common.h +++ b/libraries/common/common.h @@ -12,7 +12,7 @@ class RGBLed { // Classe rappresentativa di un LED RGB - + protected: // Vedi esempio Ereditarieta' byte redPin ; byte greenPin ; byte bluePin ; @@ -22,6 +22,7 @@ class RGBLed { public: RGBLed (byte pinR, byte pinG, byte pinB) ; + void SetColor (byte r, byte g, byte b) ; void Red (); void Green (); void Blue (); @@ -30,9 +31,53 @@ class RGBLed { void White (); void Yellow (); void Off (); - void SetColor (byte r, byte g, byte b) ; }; -void brilla(byte pin, int velocita = 500) ; + +class Lampeggiatore { + // Lampeggia un LED utilizzando millis() + // Variabili + int ledPin ; // il numero del LED pin + long interval ; // milliseconds di intervallo nel lampeggiare + long previousMillis ; // precedente cambio di stato + int ledState ; // stato attuale del LED, pubblico per invertirlo + + // Constructor: come viene instanziato un oggetto facente parte della classe +public: + Lampeggiatore(int pin); + void Invert(); // Inverte il lampeggio + void Blink(); // Lampeggia ogni 500ms + void Blink(long interval); // Lampeggia inpostando l'intervallo + void Blink(long on, long down); // Imposta il tempo acceso e il tempo spento +}; + + + +//////////////////////////// +class Pwm { + /* + PWM per un LED: aumentare progressivamente la luminosita'. + Utilizza la funzione millis() invece che un delay() + in modo da non blocare il processore. + */ + // Variabili + int ledPin ; // il numero del LED pin + int speed ; // velocita' del ciclo in ms + long previousMillis ; //precedente cambio di stato + byte increment ; // aumenta brighteness nel loop UD + + // Constructor: come viene instanziato un oggetto facente parte della classe +public: + Pwm(int pin); // numero di pin, velocita' di ciclo + void Up(long speed); + void Down(long speed); + void UD(long speed); + byte brightness ; // luminostia' iniziale +}; + +////////////////////// +// Funzioni + +void brilla(byte pin, int velocita = 200) ; #endif