Infusion de chambre - Prototype (5 / 5 étapes)

Étape 5: La magie (code)

J’ai lié l’Arduino à traitement via le numéro de série, avec l’intention d’avoir le schéma de traitement montrent les données au fil du temps, donc nous pouvons voir comment progresse la bière.

Cela peut s’interfacer avec une esquisse de la transformation par l’intermédiaire de communication série.

#include < OneWire.h >

#include < DallasTemperature.h >

#include < Wire.h >

#include < Adafruit_MPL3115A2.h >

/ / / Power en connectant le Vin à 3-5V, GND à la broche GND

Utilise I2C - connect SCL sur la broche de SCL, SDA à broche SDA

Voir le tutoriel de fil de brochage pour chaque Arduino

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

Baro Adafruit_MPL3115A2 = Adafruit_MPL3115A2() ;

flotteur pascals ;

flotteur CLA ;

float chamberTemp ;

flotteur de pression = 0 ;

float idealPressure = 14.45 ; Ce cas lb/po2. dépend de qui mesure de pression, c.-à-d. pascals ; lb/po2 ; maxPressure flotteur etc. = 14.81 ; clique sur lb/po2 int = 0 ;

Câble de données est connectée à la voie 2 sur l’Arduino

#define ONE_WIRE_BUS 2

#define TEMPERATURE_PRECISION 9

Configurer une instance oneWire de communiquer avec n’importe quel OneWire périphériques (pas seulement la température Maxim/Dallas ICs) OneWire oneWire(ONE_WIRE_BUS) ; Passez notre référence oneWire à température de Dallas.

Capteurs DallasTemperature (& oneWire) ;

int numberOfDevices ; Nombre de température dispositifs trouvés

DeviceAddress tempDeviceAddress ; Nous allons utiliser cette variable pour stocker une adresse de périphérique trouvé

float yeastTemp ;

float idealTemp = 24 ;

float tempTol = 1,1 ;

chauffage booléen = false ;

Boolean lastHeatState ;

*** ' Épingle n fils ***

SCL est sur fil blanc

SDA est le fil jaune pâle

Capteur de température de Dallas est sur la broche 2. Fil jaune

const int solénoïde = 4 ; Solénoïde sur la broche 4. Fil brun

const int buttonPin = 6 ; Broche bouton poussoir. Fil violet

const int bluePin = 9 ; Fil bleu

const int greenPin = 10 ; Fil vert

const int redPin = 11 ; Fil rouge

Autres :

+ 5v est sur long fil rouge

GND est sur long fil noir

Vin (entrée 12vDC) est sur le fil jaune de temps faible

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

int redValue ;

int greenValue ;

int blueValue = 0 ;

endTime int ;

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

BARO.Begin() ; Initier le capteur de pression barométrique, qui a également à bord de la sonde de température

Wire.Begin() ; Ouvrir la bibliothèque OneWire, nécessaire à la communication avec le capteur de pression barométrique.

dallasSetup() ; Cela a lancé le thermomètre numérique étanche de Dallas

pinMode (solénoïde, sortie) ;

pinMode (buttonPin, entrée) ;

pinMode (redPin, sortie) ;

pinMode (greenPin, sortie) ;

pinMode (bluePin, sortie) ;

Serial.Print("initiated*") ;

}

void loop() {}

int startTime = millis() ;

baroRun() ;

Pression/altimètre barométrique

dallasRun() ;

Serial.Print("Send") ; Lancer de signal, « envoyer » est exclus, il agira comme un tampon

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("_") ; Fin de signal « _ » redValue = 33 ; greenValue = 16 ; blueValue = 100 ; setRGB (redValue, greenValue, blueValue) ;

}

control() Sub {}

Si (pression > = maxPressure) {/ / a idealPressure

digitalWrite (solénoïde, HIGH) ; libère l’électrovanne permettant aux gas(CO2) de s’échapper par la SAS setRGB (redValue, greenValue, blueValue) ;

}

Si (pression < = idealPressure) {}

code de substitution à l’utilisation de releaseCount. Peut remplacer minPressure comme il peut ne jamais y arriver, des analyses nécessaires. digitalWrite (solénoïde, faible) ;

Ferme la vanne électromagnétique

setRGB (0, 0, 0) ; } }

void testControl() {}

Si {(clics < 10)

digitalWrite (solénoïde, HIGH) ;

Serial.println ("solénoïde a ouvert") ;

setRGB (redValue, greenValue, blueValue) ;

}

ElseIf (clics > 10) {}

digitalWrite (solénoïde, faible) ;

Serial.println ("solénoïde a fermé") ;

setRGB (0, 0, 0) ;

}

clics ++ ; Si (clique sur > = 20) clique = 0 ;

}

void baroRun() {}

Si (! baro.begin()) {}

Serial.Print ("Couldnt trouver capteur.") ;

digitalWrite (solénoïde, HIGH) ;

Serial.println ("solénoïde a ouvert") ;

retour ;

}

pascals = baro.getPressure() ; retourne les pascals

pression = pascals / 6894.75729 ; pressurePSI = pascals / 6894.75729 ; Convertit les Pascals à PSI

pascals = round(pascals) ; Tours numéro donc il n’y a aucune décimale lorsqu’il est envoyé au traitement par l’intermédiaire de la série chamberTemp = baro.getTemperature() ; retourne celcius

}

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

analogWrite (redPin, r) ;

analogWrite (greenPin, g) ;

analogWrite (bluePin, b) ;

}

void dallasRun() {}

appel sensors.requestTemperatures() de délivrer une température planétaire

demander à tous les périphériques sur le bus

Serial.Print ("requérant températures...") ;

sensors.requestTemperatures() ; Envoyer la commande pour obtenir des températures

Serial.println("Done") ;

Il répond presque immédiatement. Nous allons imprimer les données

printTemperature(tempDeviceAddress) ;

Une fonction simple permet d’imprimer les données

yeastTemp = sensors.getTempC(tempDeviceAddress) ;

Serial.Print(yeastTemp) ;

}

void dallasSetup() {}

Démarrage de la bibliothèque

sensors.Begin() ;

Prenez un compte des périphériques sur le fil

numberOfDevices = sensors.getDeviceCount() ;

Recherchez les périphériques sur le bus

Serial.Print ("recherche d’appareils...") ;

Serial.Print ("Found") ;

Serial.Print (numberOfDevices, DEC) ;

Serial.Print ("dispositifs.") ;

exigences de puissance parasite rapport

Serial.Print ("puissance Parasite est:") ;

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

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

Effectuer une boucle sur chaque appareil, d’imprimer des adresses

pour (int i = 0; i < numberOfDevices; i ++) {}

Rechercher le fil pour adresse

Si (sensors.getAddress(tempDeviceAddress, i)) {}

Serial.Print (« dispositif de Found ») ;

Serial.Print (i, DEC) ;

Serial.Print ("adresse:") ;

printAddress(tempDeviceAddress) ;

Serial.println() ;

Serial.Print ("réglage de résolution de") ; Serial.Print (TEMPERATURE_PRECISION, DEC) ;

définir la résolution de TEMPERATURE_PRECISION bit (dispositif chaque Dallas/Maxim est capable de plusieurs résolutions différentes)

sensors.setResolution (tempDeviceAddress, TEMPERATURE_PRECISION) ;

Serial.Print ("résolution réellement définie comme étant:") ;

Serial.Print(sensors.getResolution(tempDeviceAddress), DEC) ; Serial.println() ; } else {/ / Serial.print ("Found fantôme dispositif à") ; Serial.Print (i, DEC) ; Serial.Print ("mais ne pas pu détecter l’adresse. Vérifier la puissance et le câblage") ; } }

}

fonction pour imprimer une adresse de périphérique Sub printAddress (DeviceAddress deviceAddress) {pour (uint8_t j’ai = 0; i < 8; i ++) {si (deviceAddress [i] < 16) Serial.print("0") ; Serial.Print (deviceAddress [i], HEX) ; } }

Articles Liés

STROOP jeu

STROOP jeu

il s'agit d'un grand jeu pour tester vos compétences.Étape 1: INTROCe projet a été adapté à partir d'une expérience de John Ridley Stroop, qui publia ses travaux en 1935. Fondamentalement, c'est un « truc ». C'est un truc que vous devrez répondre à u
Développement d’application Mobile aux lumières de contrôle des deux chambres

Développement d’application Mobile aux lumières de contrôle des deux chambres

Développement d'applications mobiles est un élément crucial d'un arsenal d'ingénieurs IoT ou bricolage. Nous pouvons utiliser une appli Android ou iOS pour configurer ou contrôler nos prototypes ou les périphériques finis. Auparavant, j'ai écrit quel
PROOF OF CONCEPT : Eau réfrigérée climatisation prototype - mis hors service.

PROOF OF CONCEPT : Eau réfrigérée climatisation prototype - mis hors service.

J'ai l'intention d'utiliser ce compresseur 100 watt pour refroidir de l'eau dans un réservoir isolé alors que je suis au travail. L'énergie pour ce sera par l'intermédiaire de mon système d'énergie solaire maison puisque je récolte un surplus d'énerg
Rotary Vending Prototype

Rotary Vending Prototype

Ce didacticiel explique comment créer et programmer une rotative fonctionnant en ligne distributeur automatique qui pourrait être utilisé dans une variété d'applications, y compris les distributeurs automatiques de produits. C'est la prochaine étape
Données sur la lumière : un Prototype de Modem Laser

Données sur la lumière : un Prototype de Modem Laser

Ce projet a été motivé par le désir d'analyser et de discuter les lacunes de notre dépendance envers les réseaux de communication d'entreprise.Comme nous continuons délègue de plus en plus de notre vie quotidienne aux plates-formes numériques de moin
Chambre de l’ingénieur ultime

Chambre de l’ingénieur ultime

alors, c'est ma chambre de rêve. Comme un jeune ingénieur, j'aime bricoler et apprendre l'ingénierie des documents connexes, comme la physique et électronique. Alors, j'ai créé une chambre à coucher/salle de travail qui conviendrait à un ingénieur co
De retour de l’Afrique et c’est ma chambre ?

De retour de l’Afrique et c’est ma chambre ?

My husband and I live with a wonderful girl named Stephanie. Stephanie a été stagiaire pour notre programme qui construit des jardins potagers pour les écoles de croître produire pour garde-manger d'aliments et cherche à humaniser les nécessiteux par
Tron, moulage Prototype

Tron, moulage Prototype

J'ai récemment acheté une maison, je n'aimais pas bâti traditionnel. Bien sûr, c'est joli, mais je voulais quelque chose qui était originale que personne ne l'a fait. Je ne voulais pas que quelqu'un d'autre avait dans leur maison, alors je suis venu
Rendre votre chambre une odeur fraîche & estival

Rendre votre chambre une odeur fraîche & estival

Avoir une chambre qui sent bizarre ? Ou voulez une chambre qui sent fraîche comme le printemps à l'extérieur ? Cette instructable pourrait faire des merveilles...Chambres et meubles peuvent emprisonner les odeurs qui peuvent sentir la salle étouffant
Cocktails de fruits infusés de vide

Cocktails de fruits infusés de vide

ces cocktails de fruits ne sont pas ceux qui viennent dans les boîtes de métal que vous avez mangé pour le déjeuner comme un gamin. Ces bébés sont des créations gastronomiques impliquant des fruits très aérés, combinaisons de boissons alcoolisées et
Café infusé de froid facile

Café infusé de froid facile

Verser le café chaud sur glace est un moyen sûr de faire le méchant café glacé édulcoré.Café infusé de réfrigération est guère mieux.La meilleure méthode pour réaliser un bon café dégustation de glace est une infusion froide. Tout ce dont vous avez b
Démon rôti Imperial Stout - café infusé bière

Démon rôti Imperial Stout - café infusé bière

j'ai jouer pour l'équipe de paintball scénario Pub rampant http://www.pubcrawling.org . Nous avons plus de 20 membres de l'équipe et avec un nom comme Pub rampant, on boit beaucoup de boissons maltées après nos jeux et beaucoup de café devant eux.Biè
Plaisir de Prototype de ShortBoard.

Plaisir de Prototype de ShortBoard.

ShortBoard Construit à partir d'un SkateBoard.Ceci est mon premier instructable, je ne parlerai sur celui-ci qu'en français, mes explications sont assez peut technique et sont facilement traduisible.J'aime la longuboard, mais les mienne sont un peu t
Une technique rapide pour fabriquer des chambres thermique jetables à être utilisé pour l’essai à basse température USB alimenté Thermofoils et éléments chauffants

Une technique rapide pour fabriquer des chambres thermique jetables à être utilisé pour l’essai à basse température USB alimenté Thermofoils et éléments chauffants

R. Siderits, A. Malik, M RocheDans ce projet, nous allons décrire les étapes que nous avons utilisé pour faire une chambre thermique expérimental.Nous avons utilisé cette enceinte thermique pour tester les résistances qui seront connecte à un port US