Korrekt öl skala (2 / 2 steg)

Steg 2: Kodning allt



Kodning Arduino var ganska enkelt. Här är koden. Ladda upp bara till Arduino, göra alla anslutningar och du är redo att gå. Här är min avslutade skala. Igen, förpackning stinker, men jag ville få det igång. Jag ska jobba på en bättre paket. Om du kommer med något, låt mig veta. Efter att ha slagit upp systemet, lagras värdet av variabeln "fullKeg" och varje vikt dras sedan kontinuerligt ger du värde av tare, glas vikt, öl vikt och vikten av öl kvar tillsammans med percenatge av fatet på bildskärmen följetong. Jag arbetar på VB.Net-kod. För att återställa systemet efter en ny kagge har installerat antingen power system ned eller tryck på reset-knappen. Här är Arduino koden:

int dataInPin = 5;
int goPin = 12.
int tarePin = 8;
flyktiga int flagga = 0;
int quickDelay = 100;
int smallDelay = 500.
int bigDelay = 1000;
int checkVal;
int tareVal;
int glassVal;
int beerVal;
lång fullKeg;
float kegWeight;
float percentLeft;

void setup()
{
fullKeg = 2070; fulla ölfat = 2070 (vikt) uns ca.
kegWeight = fullKeg;
percentLeft = 100;
pinMode (tarePin, ingång);
pinMode (goPin, produktionen);
digitalWrite (goPin, låg);
Serial.BEGIN(9600);
analogReference(EXTERNAL);
attachInterrupt (0, start, förändring);
}

void loop()
{
om (digitalRead(tarePin) == hög)
om (flagga == 7)
{
digitalWrite (goPin, låg);
tareVal = 0;
tareVal = Tare();
Flagga = 1;
digitalWrite (goPin, hög);
Delay(bigDelay);
}
medan (flagga == 1)
{
digitalWrite (goPin, låg);
Delay(quickDelay);
digitalWrite (goPin, hög);
Delay(quickDelay);
digitalWrite (goPin, låg);
Delay(quickDelay);
digitalWrite (goPin, hög);
Delay(quickDelay);
checkVal = 0;
checkVal = Tare();
om (checkVal > (tareVal 5))
{
Delay(smallDelay);
glassVal = 0;
digitalWrite (goPin, låg);
glassVal = Glass(tareVal);
Flagga = 2;
digitalWrite (goPin, hög);
Delay(smallDelay);
digitalWrite (goPin, låg);
Delay(smallDelay);
digitalWrite (goPin, hög);
Delay(smallDelay);
}
}
medan (flagga == 2)
{
digitalWrite (goPin, låg);
Delay(quickDelay);
digitalWrite (goPin, hög);
Delay(quickDelay);
digitalWrite (goPin, låg);
Delay(quickDelay);
digitalWrite (goPin, hög);
Delay(quickDelay);
digitalWrite (goPin, låg);
Delay(quickDelay);
digitalWrite (goPin, hög);
Delay(quickDelay);
checkVal = 0;
checkVal = Tare();
om (checkVal > (glassVal tareVal 5))
{
Delay(smallDelay);
beerVal = 0;
digitalWrite (goPin, låg);
beerVal = öl (glassVal, tareVal);
Flagga = 0;
kegWeight = kegWeight - (beerVal / 10.65);
percentLeft = ((kegWeight / fullKeg) * 100);
Serial.Print(beerVal / 10.65);
Serial.Print("\r");
Serial.Print(kegWeight);
Serial.Print("\r");
Serial.Print(percentLeft);
Serial.Print("\r");
digitalWrite (goPin, hög);
Delay(smallDelay);
digitalWrite (goPin, låg);
Delay(smallDelay);
digitalWrite (goPin, hög);
Delay(smallDelay);
digitalWrite (goPin, låg);
Delay(smallDelay);
digitalWrite (goPin, hög);
Delay(smallDelay);
digitalWrite (goPin, låg);
}
}
}

void StartUp()
{
Flagga = 7.
}

int Tare()
{
långa totalt = 0;
för (int jag = 0; jag < 100; i)
{
Totalt = totalt analogRead(dataInPin);
Delay(10);
}
Total = (totala / 100);
avkastning totalt;
}

int glas (int NewTare)
{
lång GlassWeight = 0;
för (int jag = 0; jag < 100; i)
{
GlassWeight = GlassWeight analogRead(dataInPin);
Delay(10);
}
GlassWeight = ((GlassWeight / 100)-NewTare);
återvända GlassWeight;
}

int öl (int NewGlass, int NewTare2)
{
lång BeerWeight = 0;
för (int jag = 0; jag < 100; i)
{
BeerWeight = BeerWeight analogRead(dataInPin);
Delay(10);
}
BeerWeight = ((BeerWeight / 100)-(NewGlass NewTare2));
återvända BeerWeight;
}

Kopiera och klistra in Adrduino IDE. Koden förutsätter att du använder en 1/2 fat, 2070 ounces. Om det är en 1/4 tunna, ändra värdet för "fullKeg" till 1035.

* Edit * (11/10/13) koden använder nu en av avbrotten (se tråd anslutningar) återställa och börja läsa över vid ett fel. Jag märkte att ibland skalan skulle hoppa över ett steg och läst någonting. Detta hjälper till med detta. Dessutom bytte jag LED koden för att blinka snabbt antalet gånger lika till steg du var på. En blink berätta inte om jag bara hade tarerats skalan eller läsa glas vikt. Åh, och jag har nu en Windows-App!

Se Steg
Relaterade Ämnen

Stjärnbilden Cup

kultur och historia undervisas ofta med bristande sanningen/ignoreras i elementära klassrummet. Som framtida lärare, jag ständigt upptäcker nya sätt där jag kan underhålla mina elever samtidigt ge dem informationen som förtjänar. Denna specifika idé...

Att göra en Formboard tärning torn

spela bordsskiva spel är en av glädjeämnen i livet. Styrelsen tar ibland upp alla tabellen och det finns ingenstans att kasta tärningarna, och ibland din kompis har bemästrat den handleden åtgärden för att få den roll han vill att kanske du inte vill...

Systemets frisk sallad

Hej där! Jag skulle vilja dela med dig datorn frisk sallad. Jag laga mat till min familj men jag är den enda som vill ändra min vana att äta till ett grönare. Detta är vad jag tänkte att spara mig tid samtidigt förbereda måltider familj.Steg 1: Förbe...

Bild Rubiks kub

detta instructable hjälper dig att förvandla din vanliga Rubiks kub till en mer personlig kub med dina egna bilder på den. Jag hittade något som liknar detta här, men det kändes som det inte var tillräckligt för att det, och eftersom jag inte hittar...

Toothless, ryta plysch marionett

detta är det andra projektet våren 2012 saker att tänka computern vetenskap kurs vid University of Colorado, Boulder. Målet med detta projekt var att skapa en plysch som också använde computing på något sätt. Laget består av Jed Diller och Ken Hoff,...

Bygga en 1:1 skala Portal pistol med ljus

Inledning:Detta Instructable kommer detalj processen jag gick igenom samtidigt bygga min egen Aperture Science handdator av Portal [AKA den "Portal pistol"] från Valve-spel Portal & Portal 2. Om Portal pistolen är i fokus för detta bygga, pr...

Bygga en skala för att väga bikupor

Bärbara Hive skalaMålet är att bygga en korrekt, elektroniska bee registreringsdatafilen skala för under $50 som tillåter någon att vikt 4 kupor per minut – upp till 250 kg – utan att störa materiellt kolonin.______________________________ProblemI mi...

En LEGO® inbyggd Micro skala ange Longmont Museum, Colorado av Imagine Rigney

en ursprungligen utformade set för åldrarna 12 och uppåt.290 styckenOriginal Design © 2013 föreställa Rigney för Longmont Museum, Longmont ColoradoLEGO®, minifigure och tegel konfigurationen tillhör LEGO gruppen av företag som inte sponsrar, äger, oc...

Svart pulver murbruk (full skala)

denna 12pdr Coehorn murbruk byggdes ca 5 år sedan. Det var min första fullskaliga murbruk. Jag hade turen att ha tillgång till en stor svarv, fräsmaskiner och svetsutrustning på gång.Totala kostnaden för material var om $300-$350. Jag skulle säga att...

3D tryckt MatTracks för RC bil i skala 1/10

Tidigare i höst, var jag i butiken för hobby att plocka upp vissa delar för min Sawback Gmade GM52000 och såg en uppsättning vad såg ut som små MatTracks att installera på den. Inte vilja spendera $250 hobby butiken ville för begagnade set, tänkte ja...

Klingonska stridkryssare sport skala raket Workshop

detta projekt kom till liv inför ett möte av den Belgiska Voyage Club (den belgiska Star Trek fan club, BVC kort). På vart och ett av dessa möten vi göra lite kul aktivitet. Som en maker, uppenbarligen ville jag få mina kolleger Trekkies i vilket gör...

Archimedess väga skala

Detta projekt är för gammal men nyligen jag får chans att göra det igen. Det var min kompis krav för vetenskap utställning. Han bara vill delta så vill en enkel låg kostnad projekt. Jag redan gjort detta projekt 1998 när jag var i skolan (enda skilln...

Bygga en 3D tryckt modell av en holländsk väderkvarn (i skala 1: 100 eller 1:160)

Detta instructable promenader genom byggnaden av en 3D tryckta kit som modeller en typ av väderkvarn finns i hela norra Europa men vanligtvis betraktas i förhållande till Nederländerna. Idén föddes i ett samtal om typ av landskap som skulle vara anvä...

Korrekt trådlös vindflöjel

Denna trådlösa vindflöjel har några unika funktioner-vind riktning med en enkel, ekonomisk och korrekt absolutvärdesgivare. Vissa konsumenter väderstationer jämförelse har en begränsad vind riktning upplösning på 22,5 grader, uppdateras var 14 SEK. D...

Återuppliva ett gammalt Mikroskop: korrekt rengöring, ny ljuskälla (med plywood) och Kameraadapter

Älskar du vetenskap?Om svaret är ja, behöver du ett Mikroskop. Varför, frågar du? Eftersom du kan ha en glimt av världen annars osynliga. Och även du kan bifoga en Raspberry Pi och en Ipad (eller någon annan form av skärmen).I början av mikroskopi, v...

Hemlig Stash Bullet skal

Detta projekt bara gjordes med bara 3 delar. Slutresultatet i min ödmjuka åsikt, visade sig jäkligt bra! Jag har funderat på hur man vänder en kula i en hemlig behållare och hade några idéer som jag försökte men fick inte utseendet jag var ute efter....

Laser Cut mögel mellanliggande Project - skala tabell

detta projekt bygger på de kunskaper som lärt sig i den Laser skär mögel enkelt projekt.Obs: Denna tabell är 1/4 skala. 1/4 "= 1"Färdigheter som vunnits och skäl för mellanliggande projektet:1 - nästa nivå av gemensamma komplexitet2 - nästa nivå...

Hur du ansluter ett elektronisk balans eller skala till en PC och Läs vikt värden direkt till Excel

de flesta elektroniska vågar och laboratorium saldon har en RS232-kabel (seriell) eller en USB port men inga instruktioner finns normalt för att visa dig hur man korrekt ansluta den till din PC eller hur att indatavärden vikt direkt i program som Exc...

Hur man bygger och Arm en skala modell slagskepp från Scratch

Välkommen till den fascinerande världen av R/C BIG GUN örlogsfartyg bekämpa. Så vad exakt är R/C örlogsfartyg bekämpa? Det är en hobby där skala modell krigsfartyg, beväpnade med lågt tryck CO2 kanoner eld små kullager på en motstående fartyget. När...