#include <Arduino.h>
#define start 23
#define stop 22
#define level_pin 32
#define low_level 2
#define medium_level 4
#define high_level 5
int level_ml;
int level_bits [10]; //Darle espacio de memoria [0,1,2,3,4,5,6,7,8,9]
const int bits = 10 ;
int suma_level;
int p_level;
float v_level; //Varaible de milivolts
float ml_level; //variable de mililitros
void setup() {
pinMode(start, INPUT);
pinMode(stop, INPUT);
pinMode(low_level, OUTPUT);
pinMode(medium_level, OUTPUT);
pinMode(high_level, OUTPUT);
analogReadResolution(bits);
Serial.begin(115200);
Serial.println("Analog Sensor");
delay(250);
}
void loop() {
for(int x= 0; x<=9 ; x++){
level_bits[x]=analogRead(level_pin);
Serial.println(level_bits[x]);
delay(2);
}
for(int y=0;y<=9;y++){
//level_bits[0] = 234, level_bits[1]=253....hsdts llegar a la posición 9 (10)
suma_level += level_bits[y]; //suma_level = suma_level + levek_bits[y]
}
p_level= suma_level / 10; //promedio de la señal
v_level= (.003*(p_level-31))+.10; //ecuacion para voltaje
ml_level= (100*(v_level-.1)+10); //ecuacion para mililitro
Serial.print(" Level Status = "); //estatul del nivel
Serial.println(v_level); //valor actual fltrado
suma_level=0;
if(digitalRead(start) == 1 && digitalRead(stop) == 0 ){
if(ml_level >=0 && ml_level < 100){
Serial.println("Low level");
digitalWrite(low_level, HIGH);
digitalWrite(high_level, LOW);
digitalWrite(medium_level, LOW);
}
if(ml_level >=100 && ml_level < 200){
Serial.println("Medium level");
digitalWrite(medium_level, HIGH);
digitalWrite(low_level, LOW);
}
if(ml_level >=200){
Serial.println("High level");
digitalWrite(high_level, HIGH);
digitalWrite(medium_level, LOW);
digitalWrite(low_level, LOW);
}
}
if(digitalRead(start) == 1 && digitalRead(stop) == 1 ){
digitalWrite(high_level, LOW);
digitalWrite(medium_level, LOW);
digitalWrite(low_level, LOW);
}
delay(500);
}