From ab8f917cd3322056f48c86995e2c10a92a536778 Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Thu, 9 Feb 2017 20:14:05 +0100 Subject: [PATCH] Common --- libraries/common/common.cpp | 50 +++++++++++++++++---------- libraries/common/common.h | 2 +- libraries/common/examples/rgb/rgb.ino | 13 ++++--- 3 files changed, 38 insertions(+), 27 deletions(-) diff --git a/libraries/common/common.cpp b/libraries/common/common.cpp index 4a2c914..7f05627 100644 --- a/libraries/common/common.cpp +++ b/libraries/common/common.cpp @@ -10,6 +10,7 @@ #include "Arduino.h" #include "common.h" +#define DEBUG_not ////////////////////// // RGB LED @@ -48,12 +49,14 @@ void RGBLed::SetColor (byte r, byte g, byte b) { analogWrite(bluePin, common - b); // Debug -// Serial.print(common - r); -// Serial.print("-"); -// Serial.print(common - g); -// Serial.print("-"); -// Serial.print(common - b); -// while(1); +#ifdef DEBUG + Serial.print(common - r); + Serial.print("-"); + Serial.print(common - g); + Serial.print("-"); + Serial.print(common - b); + while(1); +#endif }; @@ -372,7 +375,7 @@ byte lum(byte val) { }; -int calibraTrim(int pin, byte ledPin) { +int calibraTrim(int pin, const byte ledPin) { /* START Calibrazione TRIM canale: Lettura di 10 smaple calcolo del valore medio esclusi gli 0 @@ -382,31 +385,40 @@ int calibraTrim(int pin, byte ledPin) { questa funzione nel setup serve per trovare il punto medio all'avvio dello sketch. */ + pinMode(ledPin,OUTPUT); byte a = 0; - int ail = 0; - int ailIn = 0; + int servoValue = 0; + int middle = 0; +#ifdef DEBUG Serial.println(">> Calibrazione: "); +#endif while (a < 10) { if (millis() > 10000) { +#ifdef DEBUG Serial.println(">> Calibrazione annullata a causa di assenza di seganle. \nAssicurarsi di accendere radio e ricevente \ne ripetere la procedura."); - ail = 15000; // Return value is divided by 10 +#endif + middle = 15000; // Return value is divided by 10 break; }; - ailIn = pulseIn(pin, HIGH, 25000); - if (ailIn != 0 && ailIn > 1000 && ailIn <2000) { - ail = ail + ailIn ; + servoValue = pulseIn(pin, HIGH, 25000); + if (servoValue != 0 && servoValue > 950 && servoValue <2000) { + middle = middle + servoValue ; a++ ; - Serial.print(a); +#ifdef DEBUG + Serial.print(servoValue); Serial.print(": "); - Serial.println(ail); + Serial.println(middle / a); +#endif digitalWrite(ledPin, !digitalRead(ledPin)); - delay(100); + delay(50); } } +#ifdef DEBUG Serial.print(">> Fine Calibrazione, media: "); - Serial.println(ail / 10); + Serial.println(middle / 10 + 10); Serial.flush() ; - return(ail / 10) ; +#endif + return(middle / 10 + 10) ; // END calibrazione -} +}; diff --git a/libraries/common/common.h b/libraries/common/common.h index 66c3eee..9768961 100644 --- a/libraries/common/common.h +++ b/libraries/common/common.h @@ -158,7 +158,7 @@ void brilla(byte pin, int velocita = 200) ; byte lum(byte val); -int calibraTrim(int pin, byte ledPin = 13); +int calibraTrim(int pin, const byte ledPin = 13); #endif diff --git a/libraries/common/examples/rgb/rgb.ino b/libraries/common/examples/rgb/rgb.ino index 4a84c01..7e1026d 100644 --- a/libraries/common/examples/rgb/rgb.ino +++ b/libraries/common/examples/rgb/rgb.ino @@ -8,18 +8,16 @@ void setup() { // I PINs vengono impostati dalla dichiarazione dell'ogetto. - Serial.begin(9600); } // Instanziamo un LED -RGBLed led(11, 10,9); //Istanziamo un oggetto led (common catodo) +RGBLed led(11, 10,9); //Istanziamo un oggetto led (default common catodo) // facente parte della classe RGBLed -// RGBLed led(11, 10,9,255); // Stessa cosa: 255 = common catodo -//RGBLed led(10,9,11,255); // Inizializzazione Common anodo, valori invertiti +// RGBLed led(11, 10,9,255); // Stessa cosa: 255 = common catodo = (255 - value) +//RGBLed led(10,9,11,0); // Inizializzazione Common anodo void loop() { - led.Blue(); - + led.Red(); } /* Colori disponibili: @@ -31,8 +29,9 @@ void loop() { White Yellow Off + Rand = random SetColor(byte r, byte g, byte b) -Nota: per aggiungerne uno senza modificare la libreria originale +Nota: per aggiungerne un colore senza modificare la libreria originale si potrebbe usara l'ereditarieta': vedi esempio "eredita.ino" . */ -- 2.39.2