Vattennivån mätning tube (4 / 5 steg)

Steg 4: Programmera fotonen

I det här steget blir det beskrivs hur programmet fungerar.

Mätvärdena kommer först att genereras med FSR. En villkora är gjord så att när strömbrytaren trycks att särskild mätning värdet noll mätning. Detta värde kommer att dras från resten av de värden som skapas. Vattennivån kommer att beräknas med ett polynom funktion som beskriver vattennivån som funktion av mätvärdena ganska bra. När vattennivån överstiger en viss nivå antyds ett tillstånd för att låta den LED blinkar genom att ställa in dialogrutan pin hög och låg med en viss försening. Eftersom den polynom funktionen inte beskriver funktionen väl på alla värden, antyds också villkoret att mätning värdet bör vara lägre än ett visst värde.

Koden används för att bestämma vattennivån är nedanstående läggs kommentarer för tydlighetens skull.

Kod:

Definiera vilket stift ska användas som vilken typ av pin

intmeasurementPin = A0;

intlampPin = D0;

intknopPin = D5;

Ange startvärdena vid noll

intanalogValue = 0;

flyta measurementValue = 0,0;

flyta measurementValue2 = 0,0;

float offset = 0,0;

flyta waterlevel = 0,0;

Definiera parametrar för timer

Timer measurementTimer(10000,pubMeas);

Timer serialTimer(500,serialMeas);

void setup() {

Starta timers

measurementTimer.start();

serialTimer.start();

Definiera vilket stift kommer att vara vad

pinMode (measurementPin, ingång);

pinMode (lampPin, produktionen);

pinMode (knopPin, INPUT_PULLUP);

Starta den seriell kommunikationen

Serial.BEGIN(9600);

}

Starta loopen, här värden genereras kontinuerligt

void loop() {

Läs measurmentvalue från analogpin (A0)

measurementValue = analogRead(measurementPin);

measurementvalue2 är värdet av mätning när du har definierat zeromeasurement(offset)

measurementValue2 = measurementValue - offset;

"definiera vattennivån igen som noll (inte behövs???)"

waterlevel = 0,0;

((float) measurementPin)

När KnopPin trycks ofset är den nuvarande measurementvalue, detta är zeromeasurement

om (digitalRead(knopPin)==LOW) {

offset = measurementValue;

}

Om measurementvalue är högre än 1000 installeras röret inte så att dessa waterlevels inte är meningsfullt

IF(measurementValue<1000.0) {

Om zeromeasurement inte är uppfyllda waterlevel fortfarande kommer att vara 0cm.

om (offset > 0,01) {

Endast använda sig av formeln för att beräkna waterlevel när och röret är insalled och zeromeasurement

(mätning som hör till installationen av röret) är uppfyllt

waterlevel = 0.0003 * measurementValue2 * measurementValue2-0.0017 * measurementValue2 +2.745;

}

"definiera vattennivån igen som noll (inte behövs???)"

annat {

waterlevel = 0,0;

}

}

Delay(1);

När waterlevel > 75,0 LED blinkar, om du vill ändra villkoren för blinkande ljus kan du göra det i raden nedan.

IF(waterlevel>75.0) {

Och när measurementValue < 1000.0, annars lampan blinkar innan zeromeasurement på grund av för att använda

av ett polynom funktion som inte kan definiera waterlevel på ett bra sätt över vissa measurementValues

IF(measurementValue<1000.0) {

Låt den LED blinkar

digitalWrite (lampPin, hög); anger LED på

Delay(200); väntar på 200mS

digitalWrite (lampPin, låg); framhäver LED

Delay(200); väntar på 200mS

Stäng alla öglorna

}

}

}

Publicera resultatet på th

void pubMeas() {

Particle.publish("HennoMeting",String(waterlevel,3),Private);

}

void serialMeas() {

Skriva ut measurementValue för bekräftelse och waterlevel eftersom detta är vad du vill mäta

Serial.println(String(measurementValue,3));

Serial.println(String(waterlevel,3));

}

Blinkande

När du anslutit fotonen med din dator, behöver du flash här koden på den. Om du inte vet hur detta fungerar, enligt instruktionerna nästa:

https://learn.Sparkfun.com/tutorials/Photon-develo...

Se Steg
Relaterade Ämnen

Plant Manager

Detta DIY projekt används för att automatisera vatten leverans till växter att hålla dem hydrerad och utvilad, det är en måste har för människor pågår ofta semestrar och eller har andra hem där administrera vatten dagligen inte är möjligt.Steg 1: För...

✔ TUBE VATTENNIVÅN (från rester) ✔

detta är en super enkel och snabb att göra verktyg och det är 100% återvunnet.Denna vattennivån är verkligen användbart till exempel när du behöver måla ett rum i två olika färg vågrätt, eller du behöver hitta samma nivå av två saker långt från var o...

Arduino ultraljud vattennivån Sensor för espressomaskiner

Jag har en mycket bra men ganska gammal espressomaskin med en avtagbar vattentank, problemet är den inte ger en varning ljus för låg vattennivå, så jag inte kan veta sådan nivå innan du kör ur vattnet! ELLER åtminstone utan att öppna locket tank, dra...

Gitarrförstärkare Tube

vill bygga din egen rörförstärkare för gitarr? Det finns många alternativ: bygga ett kit, bygga från en befintlig Schematisk, eller förgrenar sig som jag gjorde och prova något annat.Kanske, som jag, du designa och bygga från scratch...Kolla in de si...

Bygg din egen bärbara rostfritt stål fälgar tube - och hela bara väger bara 17 kg!

Jag är en långsiktig homebrewer men jag har alltid gjort enda steg infusion mosar. Jag har alltid velat en fälgar eller HERMS system men jag inte gillar det utrymme ett fullständigt system tar upp och jag har alltid backade på grund av kostnaden. Men...

Tube Slingshot

I detta instructable, jag kommer att visa dig hur man gör en tube slangbella med objekt från din lokala järnaffär. Detta är en relativt enkel projekt som endast kräver grundläggande objekt, och är mycket lätt att använda. Allt du behöver är de poster...

En Steampunk mässing Tube Radio

Hej allaIdag har jag ett nytt projekt. En förändring från en tysk Radio Kit kallas - Franzis UKW radiosände Deluxe.Detta Kit är med ett rör som den gamla Tube radioapparater. Röret gör ljudet mjukare och mer melodiösa. Jag använde den kompletta elekt...

Mattan Tube Lincoln Log stil log fort eller hus

när skolan undervisar på slutade ett nytt campus och flyttade in i det, jag sparade som många av de stora papprör från golv som jag kunde. Jag är bildlärare och jag försöker alltid att spara bra skräp, även om jag inte vet vad jag ska använda den för...

Papper handduk tube plånbok.

det är i princip en plånbok gjord av en handduk pappersrör och tejp. (detta är min första instructibles inträde så vänligen vara trevligt.)Steg 1: få 1 papper handduk tube, 1 penna, tape (paking och maskering), 1 dollar (för mätning av porpuses) och...

Bättre sätt att spara fogtätning

Detta är en snabb Instructable att visa dig ett bättre sätt att spara öppna fogtätning. Vanligtvis torka rör av fogtätning ut efter några veckor om inte lagras korrekt. Det gamla sättet var att den änden av munstycket med en spik och det fungerar för...

Utskick Tube vaser

Har du massor av vaser som är vita eller glas? De är perfekta för en färgglad bukett blommor. Men ibland en skvätt mönster eller färg är vad behövs för att skapa en dekorativ visning på en bänk eller bord utan blommor.Här är ett sätt att skapa en vas...

Tube kurva Tracer

Detta är för alla dessa tube amp entusiaster och hackare ute. Jag ville bygga en stereo rörförstärkare som jag kan vara stolt över. I jaga av ledningar det upp fann jag att vissa 6AU6s bara vägrade emellertid att bias där de borde.Jag har en 1966 kop...

Tube Power Supply

en vad?! Är inte en "power supply" att diverse bit av ett projekt som du ignorerar tills du inte längre kan sedan patch det tillsammans så snabbt som möjligt så du kan få tillbaka till roligt delar? Och en strömförsörjning för rör? Detta motsvar...

Hur till sätta fast en klassiska amerikanska AM bordsskiva tube radio

tillbaka i dag någon visste alltid någon annan som kunde fixa mindre saker på radio och det är vad jag kommer att täcka här. I detta instructable jag kommer att gå igenom grunderna i att få en gammal tube bord topp radio upp och kör. Att hitta en ver...

Tube Amp bygga (och Mod)

strävar efter att gamla skolan ljud, du köper en "vintage" gitarrförstärkare. Men det låter inte helt höger. Tja, kommer någon amp mer än 20 år gammal att behöver arbete...Vad är affären med rörförstärkare? Varför all uppståndelse?Ja, de har ett...

Röret tätning enhet

RAMBERÄTTELSENRöret tätning stöd är ett projekt för design för alla. Design för alla är ett cocreation projekt, där studenterna gör produkter tillsammans med en person med funktionshinder. Denna produkter löser problem som de upplever på grund av der...

Cold Cathode ljus Tube

tid för ett utbyte eller tillägg till hem-belysning? Som vanliga glödlampor och kompaktlysrör skapar ganska ointressant färgtoner, har denna guide skapats för att skapa en unik och levande belysning upp ditt vardagsrum.Kall katod, eller kall katod ly...

Hacer una T de tubo (hur gör en tub T)

mig ha sucedido repetidas veces que necesito empalmar un caño con otro, ya havet para agua, aire, brännbart, gas, etc.En cualquier ferretería se venden T de diversos tamaños. Pero en este caso yo necesité 3, y cuando averigüé el precio decidí que era...

Mäta vattennivån med ultrasonic sensor

Mitt nästa stora projekt (automatiserad anläggning vattning system) var jag i behov av att ha vattennivå mätare. Jag var att välja från kontakt och beröringsfria metoder för att mäta vätskenivån i tank. Kontakt metoder är resistiv metod, kapacitiva o...