X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=libraries%2Fcommon%2Fcommon.h;h=0af9d453d46a0c49f75fc3ca3c06b15d6e756e58;hb=9046a34c851a66149248ad1695eb51c7ac1ccd36;hp=c1cfc39636211e0da00312226b527b84b3db1544;hpb=fa958474bcffcf0cfc45a620e2fb2c611c44d18f;p=sketchbook_andrea diff --git a/libraries/common/common.h b/libraries/common/common.h index c1cfc39..0af9d45 100644 --- a/libraries/common/common.h +++ b/libraries/common/common.h @@ -6,9 +6,33 @@ */ #include "Arduino.h" +#include + #ifndef common_h #define common_h +// Variabili +const uint8_t BCORRECT[256] PROGMEM = { // Tabella per correzione luminosita' PWM + 0,0,0,1,1,1,2,1,1,2,1,2,2,2,3,2, + 2,2,3,2,2,3,2,3,3,3,4,3,3,3,4,4, + 4,5,4,5,4,5,5,6,5,5,6,5,6,6,7,6, + 7,7,8,7,8,8,9,8,9,10,9,10,10,11,10,11, + 11,12,11,12,13,12,13,13,14,14,15,15,15,16,16,17, + 17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24, + 25,25,26,26,27,28,28,29,29,30,31,31,32,32,33,34, + 34,35,36,37,37,38,39,39,40,41,42,43,43,44,45,46, + 47,47,48,49,50,51,52,53,54,54,55,56,57,58,59,60, + 61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77, + 79,80,81,82,83,85,86,87,88,90,91,92,94,95,96,98, + 99,100,102,103,105,106,108,109,110,112,113,115,116,118,120,121, + 123,124,126,128,129,131,132,134,136,138,139,141,143,145,146,148, + 150,152,154,155,157,159,161,163,165,167,169,171,173,175,177,179, + 181,183,185,187,189,191,193,196,198,200,202,204,207,209,211,214, + 216,218,220,223,225,228,230,232,235,237,240,242,245,247,251,255 +}; + +// Inserirne una con 32 valori + class RGBLed { // Classe rappresentativa di un LED RGB @@ -19,9 +43,11 @@ class RGBLed { byte redValue ; byte greenValue ; byte blueValue ; + byte common ; public: RGBLed (byte pinR, byte pinG, byte pinB) ; + RGBLed (byte pinR, byte pinG, byte pinB, byte com) ; void SetColor (byte r, byte g, byte b) ; void Red (); void Green (); @@ -39,14 +65,14 @@ class Lampeggiatore { // Lampeggia un LED utilizzando millis() // Variabili int ledPin ; // il numero del LED pin - int ledState ; // stato attuale del LED long interval ; // milliseconds di intervallo nel lampeggiare - long previousMillis ; // precedente cambio di stato - + unsigned 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 @@ -64,8 +90,7 @@ class Pwm { // Variabili int ledPin ; // il numero del LED pin int speed ; // velocita' del ciclo in ms - byte brightness ; // luminostia' iniziale - long previousMillis ; //precedente cambio di stato + unsigned long previousMillis ; //precedente cambio di stato byte increment ; // aumenta brighteness nel loop UD // Constructor: come viene instanziato un oggetto facente parte della classe @@ -74,10 +99,47 @@ public: void Up(long speed); void Down(long speed); void UD(long speed); + byte brightness ; // luminostia' iniziale }; + + +//////////////////////////// +class Sequenza { + // Lampeggia LED in sequenza utilizzando millis() + unsigned long previousMillis ; + byte i = 0; + byte *ledPins; + byte size; + int inc = 1; + long interval; + + public: + Sequenza (byte passed[], byte dim) ; // Array contentente i PINS, dimensioni array + void Update(long value) ; // Accende in sequenza + void Reverse(long value) ; // Invertita + void UD(long value) ; // Up & Down +}; + + + + + + + + + + + + + + + + ////////////////////// // Funzioni void brilla(byte pin, int velocita = 200) ; #endif + +byte lum(byte val);