Titrage Machine AUTOMATISEE (4 / 5 étapes)

Étape 4: Code

J’ai utilisé le code de démonstration de Atlas scientifique pour le circuit de pH, car il fonctionne très bien. Il est important de noter que vous devez valider expérimentalement votre pompe. Pour ce faire, brancher une extrémité de votre pompe dans un récipient d’eau et l’autre extrémité à une éprouvette graduée. Dire la pompe de fonctionner pour les 4000 marches et enregistrement du volume dans excel. Faire cela au moins 3 fois, mais les sentiers plus, la plus précise votre pompe. Une fois que vous êtes heureux avec vos courses, moyenne tous vos volumes tabulées et divisez-le par 4000. C’est le volume d’un seul geste de votre moteur.

 //By:Kahveh Saramout - Chemical Engineer, Cand// 12/10/2015 //pH code contributed by atlas scientific // MakeCourse - University of South Florida 
 #include //we have to include the SoftwareSerial library, or else we can't use it. #define rx 4 //define what pin rx is going to be. #define tx 5 //define what pin tx is going to be. 
 SoftwareSerial myserial(rx, tx); //define how the soft serial port is going to work. 
 int dirPin2 = 6; int steppin2 = 7; int dirpin = 1; int steppin = 9; int prep = 8; int x = 1; int y=0; float vol_step = 0.205; 
 String inputstring = ""; //a string to hold incoming data from the PC String sensorstring = ""; //a string to hold the data from the Atlas Scientific product boolean input_stringcomplete = false; //have we received all the data from the PC boolean sensor_stringcomplete = false //have we received all the data from the Atlas Scientific product float ph; //used to hold a floating point number that is the pH. 
 void setup() { Serial.begin(9600); //set baud rate for the hardware serial port_0 to 9600 myserial.begin(9600); //set baud rate for software serial port_3 to 9600 inputstring.reserve(10); //set aside some bytes for receiving data from the PC sensorstring.reserve(30); //set aside some bytes for receiving data from Atlas Scientific product 
 pinMode(dirpin, OUTPUT); pinMode(steppin, OUTPUT); pinMode(prep, INPUT); pinMode(dirPin2, OUTPUT); pinMode(steppin2, OUTPUT); } void serialEvent() { //if the hardware serial port_0 receives a char char inchar = (char)Serial.read(); //get the char we just received inputstring += inchar; //add it to the inputString if (inchar == '\r') { input_stringcomplete = true; //if the incoming character is a , set the flag } } 
 void loop() { if (x <= 1){ Serial.println(y); long j; 
 for (j = 0; j<8360; j++) // Iterate for 8360 microsteps. { digitalWrite(dirPin2, HIGH); digitalWrite(steppin2, LOW); // This LOW to HIGH change is what creates the digitalWrite(steppin2, HIGH); // "Rising Edge" so the easydriver knows to when to step. delayMicroseconds(150); // This delay time is close to top speed for this }y++;} if (input_stringcomplete) { //if a string from the PC has been received in its entirety myserial.print(inputstring); //send that string to the Atlas Scientific product inputstring = ""; //clear the string input_stringcomplete = false; //reset the flag used to tell if we have received a completed string from the PC } 
 if (myserial.available() > 0) { //if we see that the Atlas Scientific product has sent a character. char inchar = (char)myserial.read(); //get the char we just received sensorstring += inchar; 
 if (inchar == '\r') { sensor_stringcomplete = true; //if the incoming character is a , set the flag } } 
 if (sensor_stringcomplete) { //if a string from the Atlas Scientific product has been received in its entirety Serial.println("pH: "); //Serial.println(sensorstring); //send that string to the PC's serial monitor ph = sensorstring.toFloat(); Serial.println(ph);//convert the string to a floating point number so it can be evaluated by the Arduino 
 long i; 
 for (i = 0; i<1928; i++) // Iterate for 1928 microsteps. { digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the digitalWrite(steppin, HIGH); // "Rising Edge" so the easydriver knows to when to step. delayMicroseconds(200); // This delay time is close to top speed for this } delay(1000);// particular motor. Any faster the motor stalls. x++; Serial.println("Number of cycles: "); Serial.println(x); //prints 3 of cycles Serial.println("Volume: "); Serial.println(vol_step*x); //calculates our total volume 
 if (ph <= 6.999) { //if the pH is less than or equal to 6.999 //Serial.println("low"); //print "low" this is demonstrating that the Arduino is evaluating the pH as a number and not as a string } Serial.println(" --------------------- "); sensorstring = ""; //clear the string: sensor_stringcomplete = false; //reset the flag used to tell if we have received a completed string from the Atlas Scientific product } if (x >= 60) { // 60 cycles and we are finished! this is how we wrap up. long k; for (k = 0; k<50370; k++) // Iterate for 50370 microsteps. { digitalWrite(dirPin2, LOW); digitalWrite(steppin2, LOW); // This LOW to HIGH change is what creates the digitalWrite(steppin2, HIGH); // "Rising Edge" so the easydriver knows to when to step. delayMicroseconds(150); // This delay time is close to top speed for this } while (x >= 60) { // Do nothing };} 

Articles Liés

Arduino base chimique par titrage (aka. La Machine de titrage)

Arduino base chimique par titrage (aka. La Machine de titrage)

Pour une Introduction à la classe de génie au Central Arizona College, mon équipe et j'ai décidé de construire une machine qui utiliserait une base Arduino capteurs pour détecter le moment ce titrage chimique s'est produite.Il s'agit d'un processus d
Machine CNC de framboise Pi

Machine CNC de framboise Pi

Mon ami et j'ai pensé à construire une Machine CNC pendant un certain temps. Mais nous ne voulions pas qu'il soit juste une Machine CNC ordinaire. Nous voulions faire une machine tout à fait unique qui pourrait avoir des caractéristiques très particu
Machine de jeu d’Arcade Retropie

Machine de jeu d’Arcade Retropie

donc j'ai décidé de faire une machine d'arcade rétro pour mon premier projet raspberry pi. Espère que vous apprécierez mon guide et jugent utile:-)Étape 1: Quels logiciels à usage ? 2 principaux candidats, Retropie et PiPlay.Avantages et inconvénient
Mini CNC machine Arduino basé et Adafruit pilote moteur L293D v1 & 2 * Mini Stepper CD/lecteur DVD #1

Mini CNC machine Arduino basé et Adafruit pilote moteur L293D v1 & 2 * Mini Stepper CD/lecteur DVD #1

Dans ce projet, je vais vous montrer comment construire facilement vos propres Arduino Mini CNC Plotter de faible coût !Pour les axes X et Y, nous allons utiliser pas à pas moteurs et rails de deux dvd/cd rom ! Zone d'impression sera max 4x4cm.Étape
Machine de loterie

Machine de loterie

Une machine simple et efficace de loterie.Être un hôte de loterie pour s'amuser avec des amisOUJouer ces numéros à la loterie réelle.7 numéros entre 1-39 sont générés au hasard pour chaque 250ms.Les numéros générés peuvent être modifiés à n'importe q
Automatisation de la Machine à laver en utilisant arduino

Automatisation de la Machine à laver en utilisant arduino

Nous éprouvons une machine à laver semi automatique. Vidange et interrupteur minuterie sont gâtés. J'ai essayé de les remplacer, mais il coûte plus d'argent. Nous avons cessé de l'utiliser. Puis j'ai pensé à Enlevez les commutateurs manuels et automa
Machines volantes Minecraft

Machines volantes Minecraft

Jusqu'à la mise à jour 1.8 de PC Minecraft machines volantes étaient uniquement dans les mods et avec des blocs de commande. Maintenant vous pouvez les faire en vanille grâce à des blocs de boue !Ces conceptions sont les miennes et sont le jeun et pl
Tricot machine de coupe rouge Solo

Tricot machine de coupe rouge Solo

faire votre propre tasse solo rouge machine à tricoter !Étape 1: Liste du matériel Rouge coupe en solo5-7 cuillères en plastiqueRuban d'emballageCiseauxFiléEtape 2: Découper le fond de la tasse rouge solo avec un couteau ou des ciseaux Étape 3: Place
Catalogue Machine jetée 9

Catalogue Machine jetée 9

Le Atelier Pier 9 a un tout nouveau site!(Cela inclut les détails sur notre catalogue de l'ensemble de la machine)S'il vous plaît visitez-nous ici pour les projets en cours, les événements et mises à jour sur les événements à l'atelier.On trouvera pl
Une Machine qui écoute

Une Machine qui écoute

Si vous pensez cela, machines et ordinateurs nous ressemblent à bien des égards - ils ont des cerveaux (processeurs), yeux (caméras), oreilles (microphones), etc. Sens Machine est une série d'objets ayant pour but d'inverser la perspective sur la faç
RMS - Caulko-Injecto-pistolet à calfeutrer bricolage Machine d’Injection (Lasercut Flat Pack / Jet d’eau OMAX 2 axes)

RMS - Caulko-Injecto-pistolet à calfeutrer bricolage Machine d’Injection (Lasercut Flat Pack / Jet d’eau OMAX 2 axes)

Ce tutoriel est fait pour explorer et apprendre comment construire une version de plat-emballez laser cut et jet d'eau de la manivelle à injection pistolet à calfeutrer. Cette instructable est basée sur un prototype conçu pour les systèmes modulaires
Lettres à une Machine d’amour

Lettres à une Machine d’amour

J'ai souvent penser les projets que je fais comme les lettres d'amour. Pour moi, le processus de prendre le temps et l'attention vraiment essayer de mieux comprendre quelqu'un ou quelque chose et pour emballer sous la forme d'un objet, un processus..
Sens machine : Oreille micro

Sens machine : Oreille micro

Si vous pensez cela, machines et ordinateurs nous ressemblent à bien des égards - ils ont des cerveaux (processeurs), yeux (caméras), oreilles (microphones), etc. Sens Machine est une série d'objets ayant pour but d'inverser la perspective sur la faç
Sens machine : Yeux autocollants

Sens machine : Yeux autocollants

Si vous pensez cela, machines et ordinateurs nous ressemblent à bien des égards - ils ont des cerveaux (processeurs), yeux (caméras), oreilles (microphones), etc. Sens Machine est une série d'objets ayant pour but d'inverser la perspective sur la faç