Skip to content

06. Testing

Firing

After firing the oyster shell and clay mixture, I thought everything was all okay until a couple of days later I picked up the stucture and it crumbled in my hands! This is the mixture which had 1/3 oyster shell content, which is a shame. This means that I cannot use the original clay x oyster material for my application in the Philippines as it will disintegrate too easily during transportation - I will just use clay for RRReefs and my final presentation. I am not too bothered about this development as the project was more focused around the structure rather than the material anyway, and since RRReefs already 3D print using terracotta clay this will not be a problem.

ph

Using the below arduino code and a pH sensor I measured the pH of distilled water, seawater and the clay/clay and oyster shell material.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

float V7 = 1.215;  // Measured voltage in pH 7 solution
float V4 = 1.00;  // Measured voltage in pH 4 solution (adjust based on actual reading)

float slope, offset;
int buffer_arr[10];
int temp;

void setup() {
    Serial.begin(9600);
    lcd.init();
    lcd.begin(16, 2);
    lcd.backlight();
    lcd.setCursor(0, 0);
    lcd.print("  pH Meter Ready  ");
    delay(2000);
    lcd.clear();

    // Compute the calibration slope & offset
    slope = (7.0 - 4.0) / (V7 - V4);  // Compute slope using actual readings
    offset = 7.0 - (slope * V7);      // Compute offset
}

void loop() {
    unsigned long avgval = 0;

    // Read multiple samples for stability
    for (int i = 0; i < 10; i++) {
        buffer_arr[i] = analogRead(A0);
        delay(30);
    }

    // Sort the readings (simple bubble sort)
    for (int i = 0; i < 9; i++) {
        for (int j = i + 1; j < 10; j++) {
            if (buffer_arr[i] > buffer_arr[j]) {
                temp = buffer_arr[i];
                buffer_arr[i] = buffer_arr[j];
                buffer_arr[j] = temp;
            }
        }
    }

    // Average the middle values (to remove noise)
    for (int i = 2; i < 8; i++) {
        avgval += buffer_arr[i];
    }

    // Convert to voltage
    float volt = (float)avgval * 5.0 / 1024.0 / 6.0;

    // Calculate pH using dynamic calibration
    float ph_act = slope * volt + offset;

    // Print to Serial Monitor for debugging
    Serial.print("Voltage: ");
    Serial.print(volt, 3);
    Serial.print(" V | pH Value: ");
    Serial.println(ph_act, 2);

    // Display on LCD
    lcd.setCursor(0, 0);
    lcd.print("pH Val:");
    lcd.setCursor(8, 0);
    lcd.print(ph_act);
    lcd.print("  ");  // Clear trailing digits

    delay(1000);
}
RRReefs mentioned that the pH of the water in Pujada Bay, Philippines was 8.1.

The serial monitor readings in Arduino read that the pH of the distilled water started at 5.91, while seawater was initially pH 7.53. The pH of the seawater rose to 7.62 after terracotta clay was submerged into it. Unfortunately the clay and oyster shell composite altered the pH of the seawater much more than expected, reaching a maximum pH of 10.83. From this investigation it was concluded that the composite would not be suitable for the marine environment in Pujada Bay however, since the pure terracotta clay test did not alter the seawater pH too much it would be an ideal choice of material.

From the results of firing and pH testing it seems best not to proceed with the clay + oyster shell mixture and solely focus on printing with clay. The

Mentoring Notes from RRReefs

I had originally thought that I needed to do UCS (compression testing), however Marie advised that she didn't think it was necessary in this situation. Marie suggested I focus on pH testing by dissolving the material in water and using a pH test strip.