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.