Rename and remove unused script
This commit is contained in:
parent
45dd37af6e
commit
0ca6bc4169
|
@ -1,184 +0,0 @@
|
||||||
//Librerias
|
|
||||||
#include <Time.h>
|
|
||||||
#include <TimeAlarms.h>
|
|
||||||
#include <DS1307RTC.h>
|
|
||||||
|
|
||||||
|
|
||||||
//nuevo
|
|
||||||
#include <SD.h>
|
|
||||||
#include <Wire.h>
|
|
||||||
#include "RTClib.h"
|
|
||||||
#include <SPI.h>
|
|
||||||
int lastDay;
|
|
||||||
|
|
||||||
RTC_DS1307 rtc; //define the Real Time Clock object
|
|
||||||
|
|
||||||
|
|
||||||
//eeprom
|
|
||||||
#include <EEPROM.h>
|
|
||||||
#include <MsTimer2.h>
|
|
||||||
|
|
||||||
// Pin to be used as power-down sense
|
|
||||||
int PWR_DWN_PIN = A1;
|
|
||||||
// The EEPROM address to be used
|
|
||||||
int EE_ADDR = 0;
|
|
||||||
int EE_ADDR2 = 1;
|
|
||||||
|
|
||||||
//Definimos variables
|
|
||||||
int electro_in1 = 12;
|
|
||||||
int electro_in2 = 11;
|
|
||||||
|
|
||||||
byte sensorInterrupt = 0; // 0 = digital pin 2
|
|
||||||
const byte sensorPin = 2;
|
|
||||||
const byte pulsadorPin = 3; // conectar aqui el pulsador entre pin y GND
|
|
||||||
float calibrationFactor = 7.11;
|
|
||||||
volatile unsigned int pulseCount;
|
|
||||||
float flowRate;
|
|
||||||
float totalLitres;
|
|
||||||
unsigned long oldTime;
|
|
||||||
|
|
||||||
float volumen;
|
|
||||||
float volumenMaximo = 1; //CAMBIAR ESTO DEPENDIENDO LOS LITROS MÁXIMOS
|
|
||||||
bool flag = false;
|
|
||||||
|
|
||||||
int state = HIGH; // the current state of the output pin
|
|
||||||
int reading; // the current reading from the input pin
|
|
||||||
int previous = LOW; // the previous reading from the input pin
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//del caudalimetro
|
|
||||||
void pulseCounter()
|
|
||||||
{
|
|
||||||
pulseCount++;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//de memoria eeprom
|
|
||||||
void PWR_DWN_ISR() {
|
|
||||||
|
|
||||||
if (analogRead((PWR_DWN_PIN) < 920)) {
|
|
||||||
pinMode((PWR_DWN_PIN), OUTPUT);
|
|
||||||
digitalWrite((PWR_DWN_PIN), HIGH);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
pinMode((PWR_DWN_PIN), INPUT);
|
|
||||||
|
|
||||||
if (analogRead((PWR_DWN_PIN) > 1000)) {
|
|
||||||
|
|
||||||
//digitalWrite(13, HIGH);
|
|
||||||
|
|
||||||
digitalWrite(electro_in1, HIGH);
|
|
||||||
digitalWrite(electro_in2, HIGH);
|
|
||||||
|
|
||||||
//EEPROM.put(EE_ADDR, volumen); // del volumen
|
|
||||||
//EEPROM.put(EE_ADDR2, lastDay); // del dia
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void setup() {
|
|
||||||
|
|
||||||
Serial.begin(9600);
|
|
||||||
|
|
||||||
pinMode(electro_in1, OUTPUT);
|
|
||||||
pinMode(electro_in2, OUTPUT);
|
|
||||||
digitalWrite(electro_in1, HIGH);
|
|
||||||
digitalWrite(electro_in2, HIGH);
|
|
||||||
|
|
||||||
pinMode(sensorPin, INPUT);
|
|
||||||
pinMode(pulsadorPin, INPUT); // pulsador entre pin 3 y GND.
|
|
||||||
|
|
||||||
pulseCount = 0;
|
|
||||||
flowRate = 0.0;
|
|
||||||
totalLitres = 0.0;
|
|
||||||
oldTime = 0;
|
|
||||||
|
|
||||||
|
|
||||||
attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
|
|
||||||
|
|
||||||
|
|
||||||
//del eeprom
|
|
||||||
EEPROM.get(EE_ADDR, volumen);
|
|
||||||
//attachInterrupt(PWR_DWN_PIN, PWR_DWN_ISR, FALLING);
|
|
||||||
MsTimer2::set( 10, PWR_DWN_ISR );
|
|
||||||
MsTimer2::start();
|
|
||||||
|
|
||||||
|
|
||||||
//del reloj
|
|
||||||
EEPROM.get(EE_ADDR, lastDay);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void loop() {
|
|
||||||
|
|
||||||
//para hacer que el boton actue como un switch:
|
|
||||||
reading = digitalRead(pulsadorPin);
|
|
||||||
|
|
||||||
if (reading == HIGH && previous == LOW) {
|
|
||||||
if (state == HIGH)
|
|
||||||
state = LOW;
|
|
||||||
else
|
|
||||||
state = HIGH;
|
|
||||||
}
|
|
||||||
|
|
||||||
previous = reading;
|
|
||||||
|
|
||||||
//caudalimetro
|
|
||||||
if (volumen < volumenMaximo)
|
|
||||||
if ((millis() - oldTime) > 1000) { // Only process counters once per second
|
|
||||||
detachInterrupt(sensorInterrupt);
|
|
||||||
flowRate = (((1000.0) / (millis() - oldTime)) * pulseCount) / calibrationFactor;
|
|
||||||
|
|
||||||
|
|
||||||
// Add the millilitres passed in this second to the cumulative total
|
|
||||||
totalLitres += flowRate / 60;
|
|
||||||
volumen = totalLitres;
|
|
||||||
|
|
||||||
// unsigned int frac;
|
|
||||||
Serial.print (volumen, 3);
|
|
||||||
Serial.println (" L");
|
|
||||||
|
|
||||||
// Reset the pulse counter so we can start incrementing again
|
|
||||||
pulseCount = 0;
|
|
||||||
|
|
||||||
// Enable the interrupt again now that we've finished sending output
|
|
||||||
attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
|
|
||||||
oldTime = millis();
|
|
||||||
|
|
||||||
|
|
||||||
flag = true; //esto me tengo que fijar
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (volumen >= volumenMaximo ) {
|
|
||||||
flag = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (flag == true && state == LOW) {
|
|
||||||
digitalWrite(electro_in1, LOW);
|
|
||||||
digitalWrite(electro_in2, LOW);
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
digitalWrite(electro_in1, HIGH);
|
|
||||||
digitalWrite(electro_in2, HIGH);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//reloj, reinicio de volumen cada dia
|
|
||||||
|
|
||||||
DateTime now;
|
|
||||||
if (now.day() != lastDay) // this happens exactly once a day.
|
|
||||||
volumen = 0; // reset the accumulated volume
|
|
||||||
|
|
||||||
lastDay = now.day();
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue