Bryggning kammare - prototyp (5 / 5 steg)

Steg 5: Magiskt (kod)

Jag länkade Arduino behandling via seriella, med avsikt att ha bearbetning skissen visar data över tiden så vi kan se hur ölet framskrider.

Detta kan gränssnittet en bearbetning skiss via seriell kommunikation.

#include < OneWire.h >

#include < DallasTemperature.h >

#include < Wire.h >

#include < Adafruit_MPL3115A2.h >

/ / / Makt genom att ansluta Vin till 3-5V, GND till GND

Använder I2C - Anslut SCL till SCL stift, SDA till SDA stift

Se tråd tutorial för Stifttilldelningar för varje Arduino

http://Arduino.cc/en/reference/Wire

Adafruit_MPL3115A2 baro = Adafruit_MPL3115A2();

flyta Pascal;

float altm;

float chamberTemp;

flyta tryck = 0;

flyta idealPressure = 14.45; Detta fall PSI. beror på vilken mätning av tryck, dvs Pascal; psi; etc float maxPressure = 14.81; PSI int klick = 0;

Data kabeln är ansluten till port 2 på Arduino

#define ONE_WIRE_BUS 2

#define TEMPERATURE_PRECISION 9

Setup en oneWire instans att kommunicera med någon OneWire enheter (inte bara Maxim/Dallas temperatur ICs) OneWire oneWire(ONE_WIRE_BUS); Passera vår oneWire referens till Dallas temperatur.

DallasTemperature sensorer (& oneWire);

int numberOfDevices; Många temperatur enheter hittade

DeviceAddress tempDeviceAddress; Vi använder denna variabel för att lagra en hittade enhetsadress

float yeastTemp;

flyta idealTemp = 24.

flyta tempTol = 1.1;

booleska uppvärmning = false;

booleska lastHeatState;

*** STIFT 'n ledningar ***

SCL-värdet är på vit tråd

SDA är på svagt gul tråd

Dallas temperaturgivare är på Pin 2. Gul tråd

CONST int magnetventil = 4; Magnetventil på pinne 4. Brun tråd

CONST int buttonPin = 6; Tryckknapp Pin. Lila tråd

CONST int bluePin = 9; Blå tråd

CONST int greenPin = 10; Grön kabel

CONST int redPin = 11; Röd tråd

Andra:

+ 5v är på långa röda tråd

GND är på lång svart tråd

Vin (input 12vDC) är på länge svag gul tråd

// *********************************

int redValue;

int greenValue;

int blueValue = 0;

int endTime;

void setup() {Serial.begin(9600);

Baro.BEGIN(); Initiera barometertrycket sensor, som också har ombord temperaturgivare

Wire.BEGIN(); Initiera OneWire bibliotek, krävs för kommunikation med barometertrycket sensorn.

dallasSetup(); Detta inledde den Dallas Vattentät Digital termometer

pinMode (magnetventil, produktionen);

pinMode (buttonPin, ingång);

pinMode (redPin, produktionen);

pinMode (greenPin, produktionen);

pinMode (bluePin, produktionen);

Serial.Print("Initiated*");

}

void loop() {

int startTime = millis();

baroRun();

Barometrisk tryckhöjdmätaren

dallasRun();

Serial.Print("Send"); Start av signalera, "Skicka" kommer att uteslutas, det kommer att fungera som buffert

Serial.Print(Pascals);

Serial.Print("a");

Serial.Print(chamberTemp);

Serial.Print("b");

Serial.Print(yeastTemp);

Serial.Print("c");

String rgb_s = String(redValue) + "," + String(greenValue) + "," + String(blueValue);

Serial.Print(rgb_s);

Serial.Print("_"); Slutet av signal '_' redValue = 33. greenValue = 16. blueValue = 100; setRGB (redValue, greenValue, blueValue);

}

void control() {

om (pressa > = maxPressure) {/ / var idealPressure

digitalWrite (magnetventil, hög); släpper magnetventilen tillåter gas(CO2) att fly genom luftsluss setRGB (redValue, greenValue, blueValue);

}

om (tryck < = idealPressure) {

alternativ kod som använder releaseCount. Kan ersätta minPressure som det aldrig kan bli där, testning krävs. digitalWrite (magnetventil, låg);

Stänger magnetventil

setRGB (0, 0, 0); } }

void testControl() {

om (klick < 10) {

digitalWrite (magnetventil, hög);

Serial.println ("Magnetventil har öppnat");

setRGB (redValue, greenValue, blueValue);

}

annars om (klick > 10) {

digitalWrite (magnetventil, låg);

Serial.println ("Magnetventil har stängt");

setRGB (0, 0, 0);

}

klick ++; om (klickar på > = 20) klick = 0;

}

void baroRun() {

om (! baro.begin()) {

Serial.Print ("kunde inte hitta sensor.");

digitalWrite (magnetventil, hög);

Serial.println ("Magnetventil har öppnat");

hemkomst.

}

Pascal = baro.getPressure(); Returnerar Pascal

Tryck = Pascal / 6894.75729; pressurePSI = Pascal / 6894.75729; Konverterar Pascal till PSI

Pascal = round(pascals); Rundor nummer så det finns ingen decimal när det skickas till behandling via den seriella chamberTemp = baro.getTemperature(); Returnerar celcius

}

void setRGB (int r, int g, int b) {

analogWrite (redPin, r);

analogWrite (greenPin, g);

analogWrite (bluePin, b);

}

void dallasRun() {

samtal sensors.requestTemperatures() att utfärda en global temperatur

begära att alla enheter på bussen

Serial.Print ("ansökande temperaturer...");

sensors.requestTemperatures(); Skicka kommandot för att få temperaturer

Serial.println("Done");

Svarar nästan omedelbart. Låt oss skriva ut data

printTemperature(tempDeviceAddress);

Använda en enkel funktion för att skriva ut data

yeastTemp = sensors.getTempC(tempDeviceAddress);

Serial.Print(yeastTemp);

}

void dallasSetup() {

Starta upp biblioteket

sensors.BEGIN();

Ta antalet enheter på linan

numberOfDevices = sensors.getDeviceCount();

Leta upp enheter på bussen

Serial.Print ("att hitta enheter...");

Serial.Print ("hittades");

Serial.Print (numberOfDevices, DEC);

Serial.Print ("enheter.");

rapport parasit effektbehovet

Serial.Print ("parasit makt är:");

om (sensors.isParasitePowerMode()) / / Serial.println("ON");

annat / / Serial.print ("OFF");

Loopa igenom alla enheter, skriva ut adressen

för (int jag = 0; jag < numberOfDevices; i ++) {

Sök tråd för adress

om (sensors.getAddress(tempDeviceAddress, i)) {

Serial.Print ("Funna enheten");

Serial.Print (i, DEC);

Serial.Print ("med adress:");

printAddress(tempDeviceAddress);

Serial.println();

Serial.Print ("ställa in upplösningen"); Serial.Print (TEMPERATURE_PRECISION, DEC);

Ställ in upplösningen till TEMPERATURE_PRECISION bitar (varje Dallas/Maxim enheten klarar av flera olika upplösningar)

sensors.setResolution (tempDeviceAddress, TEMPERATURE_PRECISION);

Serial.Print ("Resolution faktiskt inställd:");

Serial.Print(sensors.getResolution(tempDeviceAddress), DEC); Serial.println(); } annat {/ / Serial.print ("Funna ghost enheten på"); Serial.Print (i, DEC); Serial.Print ("men kunde inte identifiera adress. Kolla power och kablage"); } }

}

funktion för att skriva ut en enhet adress void printAddress (DeviceAddress deviceAddress) {för (uint8_t jag = 0; jag < 8; i ++) {om (deviceAddress [i] < 16) Serial.print("0"); Serial.Print (deviceAddress [i], HEX); } }

Se Steg
Relaterade Ämnen

Barista mästerskapet bryggning stoppur • inledning

Vid behov av (2014) World Barista Championship regler och förordningarbehövs en adekvat och exakt tid mäta under tävlingen. Dessa mätningar görs oftast av vanlig Stoppur med alla fördelarna (användarvänlighet, gemensamma tillgänglighet) och nackdelar...

Sky-skrivare - prototyper en anpassningsbar storskaliga 3d-skrivare

Sky skrivaren är en anpassningsbar, kabel-baserade delta-gantry system som kan sträcka sig över stora områden med ett minimalt fotavtryck. Sky skrivaren är utformad för storskaliga applikationer i potentiellt avlägsna platser. Det kan förstås som utv...

Laser skär kammar

Du behöver:LaserskärareWoodAkrylSandpapper (elektrisk slipmaskin föredrog)Steg 1: filerHär ingår filerna för fyra olika kammar. Filer finns i .svg och. AI. Den. AI-filen innehåller alla versioner av vaxkakorna separeras i lager.Filerna "Lång kammen&q...

Design och prototyper av Skelequill Start till slut

Ibland finns det just ingenting ute som passar just dina behov. Kanske är dessa andra saker för tung, för dyrt, för liten, för stor, etc. De passar inte bara hur du vill. Tja, är det bästa du kan göra i en sådan situation att göra din egen grej! Men...

Chibikart: Snabb-prototyper en subminiatyr elektriska Go-Kart använder Digital fabrikation och Hobby komponenter

Chibikart! är en mycket liten ändå kraftfull och lättmanövrerad 2WD elektriska go-kart som du kan bygga med off-the-shelf industri och hobby komponenter och digitalt fabricerade ram delar. Med moderna litiumjonbatterier och borstlösa permanentmagnet...

3D tryckt NFC armband prototyp (TfCD projekt av Jeremy Evers och Bas Van Der Werf)

Följande instructable hjälper dig att göra dina egna NFC armband. Detta armband kan ges olika funktioner genom att skriva kod med din smartphone på NFC-chip. Ett NFC-chip är ett chip som kan kommunicera på nära håll med en NFC-läsare apparat, som fin...

Corona Mill Mods för All säd bryggning

The Corona Mill är ett billigt alternativ till de dyrare roller mills används för att krossa korn för bryggning. Roller mills börjar på $100 och gå snabbt upp i pris. En Corona kvarn kan fås för som liten en $20. Med tre ändringar---två mindre, en li...

DIY Hydroponics använda PVC fästmarginal (prototyp)

detta Instructable beskriver byggandet av ett inomhus hydroponiska system, som är ett designprojekt av ett team av fyra första året Ingenjörsvetenskaplig studenter från University of Toronto. Systemet är konceptuella och experimentella, och har inte...

Honey buzzard kite (prototyp)

detta är en eftermiddag projekt jag ville göra i många år, och när jag såg att det var en riktig "kite tävling" - än Kiteman - jag bestämde mig att ge det en chans. Hoppas ni gillar det!Det alla strarted med fågel migration.Varje år miljontals f...

Att göra en Prototyping styrelse för Circuitscribe Kit (och en Bonus termistor modul!)

(Obs-detta är en gäst post för Eureka! Fabriken av Chuck Stephens som en del av deras Instructables bygga nattprogram.)Som frilansande utbildare och "maker maker" är jag alltid ivriga att kolla in ny elektronik lärande system och pedagogiska lek...

Bygg din egna prototyper Kit...

Jag gör Prototyper kit innan jag går in på Detaljer för att skapa några av mina projekt. Detta sätt kan jag "grov-i" projekt delar innan de bestämmer sig en ritning som kan behöva modifieras en massa gånger att få projektet "ringa in"....

Anpassade PCB prototyper använder en laserskärare

jag kommer att gå igenom processen att skapa prototyper ett tryckt kretskort med en laserskärare och förnödenheter från din lokala Radioshack och järnhandel. Detta är en process som jag har fulländat efter flera prototyper jag skapat som en del av mi...

Fungerande Lassiter prototyp brännande Laser Pistol från Firefly!

I Firefly, Mal Reynolds och hans besättning försök en vågad heist att stjäla Lassiter, en ovärderlig antikvitet prototyp laser pistol. Visst, som fungerar inte längre, men det är ändå värt en förmögenhet. Den goda nyheten för Firefly fans är att du i...

Arkitekturen i vardande: Lära sig att växa / växa att lära fasad prototyp

Formgivare: Taole Chen, Joshua Evans, Mallory Van NessDetta projekt är produkten av en arkitektur designstudio undervisas av Adam Marcus (Variabel projekt) och Margaret Ikeda & Evan Jones (montering) på Kalifornien College of Arts Division för arkite...

Arkitekturen i vardande: Studio H Plus fasad prototyp

Formgivare: Benjamin Grabstein, Veronica Leung, Malin RoblesDetta projekt är produkten av en arkitektur designstudio undervisas av Adam Marcus (Variabel projekt) och Margaret Ikeda & Evan Jones (montering) på Kalifornien College of Arts Division för...

Arkitekturen i vardande: Studio H2O fasad prototyp

Formgivare: Adika Djojosugito och Martinus SetiawanDetta projekt är produkten av en arkitektur designstudio undervisas av Adam Marcus (Variabel projekt) och Margaret Ikeda & Evan Jones (montering) på Kalifornien College of Arts Division för arkitektu...

Arkitekturen i vardande: Tech kök fasad prototyp

Formgivare: Colby Rosenwald och Shan-YuDetta projekt är produkten av en arkitektur designstudio undervisas av Adam Marcus (Variabel projekt) och Margaret Ikeda & Evan Jones (montering) på Kalifornien College of Arts Division för arkitektur på våren 2...

Arkitekturen i vardande: Omväxlande lager fasad prototyp

Formgivare: Reynaldo Kambey och Olle TaghvaeiDetta projekt är produkten av en arkitektur designstudio undervisas av Adam Marcus (Variabel projekt) och Margaret Ikeda & Evan Jones (montering) på Kalifornien College of Arts Division för arkitektur på v...

Bakgrund: Prototyping strategier för mögel blåst glas

Mögel blåst glas har varit en grundläggande strategi för produktion glastillverkning särskilt i Tjeckien och andra skandinaviska länder. Även om tjeckerna har blivit särskilt bra på denna typ av glassworking och trä mögel beslutsfattande med en svarv...