Milestones

Milestone 1: Preliminary Tissue Research

Deliverable: Table of tolerable ranges for temperature, humidity, and CO2 ranges

Milestone Description

The purpose of this milestone is to give a layout of the conditions that are needed to keep brain tissue alive, obtained from the existing literature. This helps describe the known and unknown issues that must be considered when keeping the brain cell tissues alive, and the target values of the variables we hope to control. These values are summarized in Table 1.

Conclusions

The results of our research tell us that we will need to maintain the air and water bath between 32 and 37 °C, and that the pressure of the air we supply should not exceed 5 psi. We will also need to determine whether we can control humidity using any method beyond basic temperature control. As we are not supplying the artificial cerebrospinal fluid medium, we cannot control the pH of the medium.

Milestone 2: Microcontroller/Sensor

Deliverable: Report microcontroller and sensor parts, cost, and order the proper parts

Purchase orders were submitted for the sensor via a google document to Dr. Nokes.

Milestone 3: Write code for sensor

Deliverable: Write code to allow testing for humidity control and temperature sensing

#include <Wire.h>

#include <SPI.h>

#include <Adafruit_BME280.h>

#include <Adafruit_Sensor.h>

#include <TimerOne.h>


#define BME_SCK 13

#define BME_MISO 12

#define BME_MOSI 11

#define BME_CS 10


Adafruit_BME280 bme;

//Adafruit_BME280 bme(BME_CS); // hardware SPI

//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);

Milestone 4: Water well design

Deliverable: Submit file for 3D printing water wells

This can be seen under the Design Package tab.

Milestone 5: Psychrometric testing

Deliverable: Submit graphs of humidity vs temperature, temperature away vs near heat source, salt concentrations

Milestone 6: Heating control feedback loop

Deliverable: Pseudocode with design file prototyping the heating element

Brain Chamber Team

BAE 402 Milestone

Pseudocode for Heating Elements w/ Design Prototype for Heating Pin Placement

Include “required” libraries

Pin 9 = Heating Pin #1

Pin 10 = Heating Pin #2

Pin 11 = Heating Pin #3

Pin 12 = Heating Pin #4

Adafruit_BME280bme

Status = bme.begin()

Void readData()

Print temperature.bme

Print humidity.bme

End

Void loop ()

If temperature.bme > desired temperature

Write(Heating Pin #1, Heating Pin #2, Heating Pin #3, Heating Pin #4, HIGH)

Else

Write(Heating Pin #1, Heating Pin #2, Heating Pin #3, Heating Pin #4, LOW)

end

Milestone 7: All Code

Deliverable: Compiled Logic/ Pseudocode


#include <Wire.h>

#include <SPI.h>

#include <Adafruit_BME280.h>

#include <Adafruit_Sensor.h>

#include <TimerOne.h>


int HEATING_ELEMENT = 7; // HeatingPin

int PUMP = 8; // Pump Pin

int LIGHTS = 9; // Lighting Pin

#define BME_SCK 13

#define BME_MISO 12

#define BME_MOSI 11

#define BME_CS 10


Adafruit_BME280 bme;

//Adafruit_BME280 bme(BME_CS); // hardware SPI

//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);


float currentTemp, currentHumidity;

unsigned long delayTime;

bool status;


void setup() {

pinMode(PUMP, OUTPUT);

pinMode(LIGHTS, OUTPUT);

digitalWrite(PUMP, HIGH);

digitalWrite(LIGHTS, HIGH);

status = bme.begin();


if (!status) {

Serial.println("Could not find a valid BME sen");

}


pinMode(HEATING_ELEMENT, OUTPUT);

pinMode(PUMP, OUTPUT);

pinMode(LIGHTS, OUTPUT);

digitalWrite(8, HIGH);

digitalWrite(9, HIGH);



Serial.begin(9600);


}


void readData() {

Serial.print("Temperature = ");

Serial.print(bme.readTemperature());

Serial.println(" *C");


Serial.print("Humidity = ");

Serial.print(bme.readHumidity());

Serial.println(" %");


currentTemp = bme.readTemperature();

currentHumidity = bme.readHumidity();

if (currentTemp < 32) {

digitalWrite(HEATING_ELEMENT, LOW);

}

else (currentTemp > 37);{

digitalWrite(HEATING_ELEMENT, HIGH);

}

delay(500);


}


void loop() {


Serial.print("Temperature = ");

Serial.print(bme.readTemperature());

Serial.println(" *C");


Serial.print("Humidity = ");

Serial.print(bme.readHumidity());

Serial.println(" %");


currentTemp = bme.readTemperature();

currentHumidity = bme.readHumidity();

if (currentTemp < 32) {

digitalWrite(HEATING_ELEMENT, LOW);

}

else (currentTemp > 37);{

digitalWrite(HEATING_ELEMENT, HIGH);

}

delay(500);

}


Milestone 8: AutoCAD

Deliverable: DWG/ STL file of tissue well, chamber, and hardware

This can be seen under the Design Package tab.

Milestone 9: Bill of materials

Deliverable: Excel file detailing materials and their prices. Highlighting the optimal choice

Milestone 10: Poster

Deliverable: Final poster submitted for printing

Milestone 11: Final Design Package

Deliverable: Compile all files into final design package

This can be seen under the Design Package tab.