Ciao a tutti ragazzi ho iniziato un progetto
lo scopo è quello di confrontare le letture dei contatori elettronici
misure analogiche con strumentazione (wattmetro sempre tramite arduino)
e quelle digitali tramite i led del contatore
ho acquistato un sensore per per arduino per leggere i led (quello in foto)
ora mi occorreva cortesemente aiuto nel compilare lo sketch per farlo funzionare perché purtroppo non so nemmeno da dove cominciare
Grazie
ciaona:
... ora mi occorreva cortesemente aiuto nel compilare lo sketch per farlo funzionare perché purtroppo non so nemmeno da dove cominciare
In che senso scusa ? :o Non sai come funzionano quei sensori ? O cosa ?
Guglielmo
si anche questo mi mancano proprio le basi perché devo contare sia il numero degli impulsi sia il tempo tra un impulso e l'altro poi dovrei considerarne un numero ridotto tipo 10 impulsi.
il tutto mi blocca perché vi ripeto non so nemmeno da dove cominciare
di esempi, se vai su google e digiti arduino contatore enel ne trovi tanti
Ma non ho trovato nessuno in grado di farmeli capire
nessuno può suggerirmi una stringa da inserire al mio progetto per far funzionare questo photoled?
prova questo, lo avevo in archivio
//Number of pulses, used to measure energy.
volatile long pulseCount = 0;
long lastpulseCount = 0 ;
//Used to measure power.
volatile unsigned long pulseTime, lastTime ;
//power and energy
float power, elapsedkWh;
//Number of pulses per wh - found or set on the meter.
int ppwh = 1; //1000 pulses/kwh = 1 pulse per wh
void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode ( 3, INPUT_PULLUP);
// KWH interrupt attached to IRQ 1 = pin3
attachInterrupt(digitalPinToInterrupt(3), Pulse, FALLING);
}
void loop()
{
if (pulseCount != lastpulseCount) {
lastpulseCount = pulseCount ;
digitalWrite(13, HIGH);
Serial.print(pulseCount);
Serial.print(" ");
printing();
}
else digitalWrite(13, LOW);
delay(200);
}
// The interrupt routine
void Pulse()
{
lastTime = pulseTime;
pulseTime = micros();
pulseCount++ ;
}
void printing()
{
//Calculate power
power = (3600000000.0 / (pulseTime - lastTime)) / ppwh;
//Find kwh elapsed
elapsedkWh = (1.0 * pulseCount / (ppwh * 1000)); //multiply by 1000 to pulses per wh to kwh convert wh to kwh
//Print the values.
Serial.print(power, 4);
Serial.print(" Kw.Tot = ");
Serial.println(elapsedkWh, 3);
}
grazie per l'aiuto purtroppo però
se provo a caricare lo sketch mi da un errore
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Uno"
sketch_jun01c.ino: In function 'void setup()':
sketch_jun01c:19: error: 'NOT_AN_INTERRUPT' was not declared in this scope
ma c'e' scritta questa riga nello sketch ?
attachInterrupt(digitalPinToInterrupt(3), Pulse, FALLING);
puoi anche cambiarla con
attachInterrupt(1, Pulse, FALLING);