3.Results

Assembling the equipment

Fig 3.1
Firstly, we opened the Sparkfun pH kit which have arrived after 2 weeks of shipping. After making sure all the parts are there, we proceed on to taking photos of them for documentation. After documentation, we went on to the Sparkfun website to search for instructions on how to connect the pH probe properly.

We took the pH probe and placed the probe on the breadboard. Afterwards, we placed the pH stamp in a location near to the pH probe. We then connected them with jumper wires as per the instructions available on the website. The pH stamps has 6 inputs, two for ground pins, one for the RX pin and one for the TX pin, finally one VCC connection which would be connected to the Arduino 5V input and one final PRB pin for the pH probe. After we have ensured that all the connections are secure, we then connected the Arduino to the Macbook Pro and on the Arduino Uno software. We then imported the official code that could be found on the Sparkfun website and proceed on to run it.

3.1 Experiment 1 results
We have received most of the important equipment we needed. However, we need to solder the pins of the LCD screen so it would not come out and have a unsecure connection. This took us quite a while as we had to solder carefully not to affect other areas which may cause a short circuit if the soldering iron connected to each other. Aside from that, it would also affected other areas,in  which the LCD screen might not work. After soldering, we placed the LCD screen and the Arduino on the brickboard and started the wiring process for the LCD screen.
This image is a guide to help us connect the Arduino and the LCD screen.

Fig 3.2
After completing the wiring, LCD screen showed no information, only black lines were shown, as shown above. No information was displayed as the code was not installed.We also added a voltmeter so we could control the contrast of the screen.But unfortunately,even after inputting the code,there were no words on the lcd screen.
This is the way we connected the wires to the breadboard:
1) LCD RS pin to digital pin 12
2) LCD Enable pin to digital pin 11
3) LCD D4 pin to digital pin 5
4) LCD D5 pin to digital pin 4
5) LCD D6 pin to digital pin 3
6) LCD D7 pin to digital pin 2
7) LCD R/W pin to ground
8) 10K resistor:
9) ends to +5V and ground
10)wiper to LCD VO pin (pin 3)
We used this to help us in our wiring.

/ include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
 // set up the LCD's number of columns and rows:
 lcd.begin(16, 2);
 // Print a message to the LCD.
 lcd.print("hello, world!");
}

void loop() {
 // set the cursor to column 0, line 1
 // (note: line 1 is the second row, since counting begins with 0):
 lcd.setCursor(0, 1);
 // print the number of seconds since reset:
 lcd.print(millis()/1000);
}
This code is to display letters on the LCD screen to verify whether it is working



3.2   Experiment 2 results
After trying for a few times,we hypothesise that it was the code which is having issues. Therefore, we searched various other codes but still it failed to function despite what we did. However, we noticed that a fellow classmate from another group used a similar code yet still manages to get his LCD screen worked. A point to noted though is that he is working on a different project with is distinct differences. Therefore, we thought the arduino was faulty. However, after trying out multiple solutions we have found out that it was still in working condition.  As a result, we decided to take out all the wires and wired them back with more precision and colour coded them with different colours so we identify each individual wire much better thus making debugged the circuit a much more simple process rather than having to puzzle out what each wire does within the mess of circuits. Much to our delight, the LCD screen worked and the words flashed across the screen as a proof of our success. Yet, we still had to add the code so the LCD could  display the pH value. We researched and found codes but they did not work in the way we wanted them to. Presently we have discovered  one code  that might work.

3.3    Experiment 3 results
In the wake of the coming deadline, we managed to successfully complete the pH sensor.

It is noted that the pH sensor as a whole functions well and but may suffer from an occasional lapse. This is because of the unstable current fluctuation of an insecure connection resulting from the use of a breadboard and jumper wire in the connection. This unfortunately is a problem we would be unable to rectify with current timeline but definitely something I would look forward to solving in the future. An solution that has already been identified to solve the problem is the use of a PCB board. By soldering the parts to the PCB board, we would be able to avoid any unnecessary movements and disconnections resulting from the flimsy nature of the breadboard and the jumper wires as it is essentially a plug-in connection. A soldered connection would be extremely solid and would not be susceptible to random unpredictable errors.

The pH sensor is consistent of three parts, the pH probe itself, the LCD screen and the Arduino.

The pH probe is the most vital part of this project. It communicates to the Arduino through a pH stamp, which acts like the middleman between the instrument and the brain. Think of it as a translator between two people speaking in different languages.
The pH probe in itself does nothing and needs to rely upon the power and function of the brain to work.
The Arduino is the brain that powers and processes all the information that is being transmitted to it. The Arduino itself has no function and needs to be integrated into a system to display its effectiveness as a datalogger and a miniature computer capable of performing basic functions.

The LCD screen then displays the information gathered to the world for all to see. It acts as a convenient way of displaying information.

Afterwards comes the part about calibration of the pH sensor.

Our pH probe data:
Number of Tests
4
7
10
1
pH 4.18
pH 7.15
pH 10.08
2
pH 4.14
pH 7.18
pH 10.1
3
pH 4.13
pH 7.21
pH 10.08
4
pH 4.13
pH 7.18
pH 10.09
5
pH 4.13
pH 7.18
pH 10.06
Average
pH 4.13
pH 7.18
pH 10.08

SST Lab Sensor:
Number of Tests
4
7
10
1
pH 4.17
pH 6.98
pH 10.03
2
pH 4.14
pH 7
pH 9.99
3
pH 4.14
pH 7.02
pH 9.95
4
pH 4.15
pH
pH
5
pH 4.15
pH
pH
Average
pH 4.15
pH 7
pH 9.99



As seen on the graph and table above, our pH sensor has achieve results comparable to the school’s pH sensor, which is measured using a commonplace pH sensor kit. Our results are quite similar to the results the school’s pH sensor churn out at a form factor smaller than the school’s pH sensor.

There is a noticeable percentage of difference in our table. One such reason for this glaring  difference is mainly due to the fact that we did not rinse the pH probe with deionized water before cleaning it with a sterile paper towel. We also did not calibrate in accordance to the correct pH order of 7, 4 followed by 10. Another factor is the connection between the Arduino and the pH probe. As mentioned above, unstable connections can lead to sudden fluctuation between pH values which may lead to inaccurate results as a consequence.




3.4    Special observations
It is important to follow the steps of keeping the pH probe safe as it is quite vulnerable to many dangers such as not exposed in the liquid and cleaning it after each test. We must also take note of not heating up the Arduino too much as it would cause repercussions later on as the Arduino may be affected. We must also calibrate the pH sensor before any usage as forgetting this step may lead to severe consequences, as we discovered, much to our chagrin.
Fig 3.3
Difference between pre-calibration and post-calibration





No comments:

Post a Comment