From: eaman Date: Wed, 21 Dec 2016 10:56:38 +0000 (+0100) Subject: Common esempi X-Git-Url: http://git.piffa.net/web?p=sketchbook_andrea;a=commitdiff_plain;h=11eb80579bf2e63a8244897614542c917f641a47 Common esempi --- diff --git a/libraries/common/common.cpp b/libraries/common/common.cpp index b29cd95..a4e1349 100644 --- a/libraries/common/common.cpp +++ b/libraries/common/common.cpp @@ -141,6 +141,8 @@ void Lampeggiatore::Blink(long up, long down) { // Pwm // Constructor Pwm::Pwm(int pin) + // Gestione del PWM utilizzando millis + // per non bloccare il processore con delay { ledPin = pin; pinMode(ledPin, OUTPUT); diff --git a/libraries/common/examples/alternato/alternato.ino b/libraries/common/examples/alternato/alternato.ino new file mode 100644 index 0000000..3794137 --- /dev/null +++ b/libraries/common/examples/alternato/alternato.ino @@ -0,0 +1,20 @@ +/* Funzione Invert + + Due LED con lampeggio alternato +*/ + +#include + +Lampeggiatore right = 3; +Lampeggiatore left = 5; + +void setup() { + left.Invert(); // Parte da stato invertito rispetto al default +} + +void loop() { + // Due LED con lampeggio alternato: + right.Blink(); + left.Blink(); + // Si possono usare i soliti metodi dell'oggetto blink +} diff --git a/libraries/common/examples/blink/blink.ino b/libraries/common/examples/blink/blink.ino new file mode 100644 index 0000000..b3f9b2b --- /dev/null +++ b/libraries/common/examples/blink/blink.ino @@ -0,0 +1,25 @@ +/* Esempio + + Utilizzo dell'oggetto Lampeggiatore: + Lampeggia un LED utilizzando millis() +*/ + +#include + +// Instanziamo un LED fuori dal loop +Lampeggiatore led = 13; + +void setup() { +// I PINs vengono impostati dal constructor al momento +// della dichiarazione dell'ogetto. + +led.Invert() ; // Opzionale: inverte l'ordine del lampeggio da + // HI -> LOW --> LOW -> HI + // per avere 2 LED che lampeggiano alternativamente +} + +void loop() { + led.Blink(); // Lampeggia con un default di 1sec (0.5 HI 0.5 LOW) + led.Blink(500); // Lampeggia ogni 500ms + led.Blink(500,200); // Imposta il tempo acceso e il tempo spento +} diff --git a/libraries/common/examples/eredita/eredita.ino b/libraries/common/examples/eredita/eredita.ino index 88a718b..5e7651f 100644 --- a/libraries/common/examples/eredita/eredita.ino +++ b/libraries/common/examples/eredita/eredita.ino @@ -1,7 +1,8 @@ /* Ereditarieta' La classe SuperLED definita in questo sketch - eredita le caratteristiche di RGBLed e introduce un nuovo metodo. + eredita le caratteristiche di RGBLed e introduce un nuovo metodo + per un nuovo colore custom. */ @@ -16,6 +17,7 @@ class SuperLED : public RGBLed { // Ereditamo dalla classe RGBLed public: void Violet () { // Nuovo metodo // Accende il LED di viola + analogWrite(redPin, 255 - 238); analogWrite(greenPin, 255 - 130); analogWrite(bluePin, 255 - 238); @@ -33,7 +35,7 @@ SuperLED led(11, 10, 9); //Istanziamo un oggetto led facente parte void loop() { led.Violet(); // Nuovo metodo delay(1000); - led.Off(); - delay(1000); // Vecchio metodo + led.Off(); // Vecchio metodo + delay(1000); } diff --git a/libraries/common/examples/esempi/esempi.ino b/libraries/common/examples/esempi/esempi.ino deleted file mode 100644 index 80d46c7..0000000 --- a/libraries/common/examples/esempi/esempi.ino +++ /dev/null @@ -1,28 +0,0 @@ -/* Esempi Vari - -Vari esempi di utilizzo della libreria. -*/ - -#include - -// Lampeggio con valore automatico -Lampeggiatore lamp = 4 ; - -// Due LED con lampeggio alternato: -Lampeggiatore right = 3; -Lampeggiatore left = 5; - -void setup() { - left.Invert(); // Parte da stato invertito rispetto al default -} - -void loop() { -// Lampeggio con valore automatico - lamp.Blink() - lamp.Blink(300); // Lampeggia ogni 300ms - lamp.Blink(300,100); // Lampeggia per 300ms HIGH, 100ms LOW - - // Due LED con lampeggio alternato: - right.Blink(); - left.Blink(); -} diff --git a/libraries/common/examples/loader/loader.ino b/libraries/common/examples/loader/loader.ino deleted file mode 100644 index de6c7d7..0000000 --- a/libraries/common/examples/loader/loader.ino +++ /dev/null @@ -1,25 +0,0 @@ -/* Esempio - - Come caricare e usare un oggetto e una funzione - facente parte della libreria. -*/ - -#include - -void setup() { - // I PINs vengono impostati dalla dichiarazione dell'ogetto. -} - -// Instanziamo un LED -RGBLed led(11, 10, 9); //Istanziamo un oggetto led facente parte - // della classe RGBLed - -void loop() { - led.Red(); - delay(1000); - led.SetColor(255, 0, 255) ; // Mettiamo il LED in Green - delay(1000); - led.Off(); - - brilla(13); // Funzione -} diff --git a/libraries/common/examples/pwm/pwm.ino b/libraries/common/examples/pwm/pwm.ino new file mode 100644 index 0000000..2880dda --- /dev/null +++ b/libraries/common/examples/pwm/pwm.ino @@ -0,0 +1,22 @@ +/* Esempio + + Utilizzo dell'oggetto PWM: + Gestione del PWM utilizzando millis + per non bloccare il processore con delay +*/ + +#include + +// Instanziamo un LED fuori dal loop +Pwm led = 9; + +void setup() { +// I PINs vengono impostati dal constructor al momento +// della dichiarazione dell'ogetto. +} + +void loop() { + led.Up(2000); // Aumenta la luminosita' in 2 sec + led.Down(1000); // Diminuisce la luminosita' in 1 sec + led.UD(4000); // Aumenta e poi diminuisce la luminostia' in 4 sec. +} diff --git a/libraries/common/examples/rgb/rgb.ino b/libraries/common/examples/rgb/rgb.ino new file mode 100644 index 0000000..98c980b --- /dev/null +++ b/libraries/common/examples/rgb/rgb.ino @@ -0,0 +1,36 @@ +/* Esempio + + Come caricare e usare un oggetto e una funzione + facente parte della libreria. +*/ + +#include + +void setup() { + // I PINs vengono impostati dalla dichiarazione dell'ogetto. +} + +// Instanziamo un LED +RGBLed led(11, 10, 9); //Istanziamo un oggetto led facente parte + // della classe RGBLed + +void loop() { + led.Red(); + delay(1000); + led.SetColor(255, 0, 255) ; // Mettiamo il LED in Green + delay(1000); + led.Off(); +} + +/* Colori disponibili: + Red + Green + Blue + Magenta + Cyano + White + Yellow + +Nota: per aggiungerne uno senza modificare la libreria originale +si potrebbe usara l'ereditarieta': vedi esempio "eredita.ino" . +*/