Monitoring water safety through pH
Team Water
Important is know the quality of the water that we are drinking.
Some people in México drinks tap water. The common answer when we ask why? is: "because the water looks fine". This answer was given several times by users that was interviewed. Team water performed a survey where was obtained the follow results:
Some people in México drinks tap water. The common answer when we ask why? is: "because the water looks fine". This answer was given several times by users that was interviewed. Team water performed a survey where was obtained the follow results:
But, tap water, is it really safe to drink? When you can detect some weird in the water you dont dink it. You can detect an irregular color or different smell as usual. But ... what happen when your senses cant detect some irregular issues in the water? Must of the people knows that the quality of the water is related with their health, however few of them knows what parameters are related with the water that they are drinking.
The solution that they founded was buy the water in order to ensure the quality of that.
Some research clarify the follow:
Firstly, if you don't detect with your senses pollution in drink water, it does not means that the water is free of pollution. necessary is consider others aspect like pH.
Secondly, the technology to measure pH exist, but people does not apply it because they believe that "it is a thing hard to do".
Aditionally, people dont know the meaning of this parameter of water.
For all this reasons we designed a device that cover the above aspects.
The solution that they founded was buy the water in order to ensure the quality of that.
Some research clarify the follow:
Firstly, if you don't detect with your senses pollution in drink water, it does not means that the water is free of pollution. necessary is consider others aspect like pH.
Secondly, the technology to measure pH exist, but people does not apply it because they believe that "it is a thing hard to do".
Aditionally, people dont know the meaning of this parameter of water.
For all this reasons we designed a device that cover the above aspects.
2D AND 3D DESIGN FOR CHASSIS
Material
Arduino Nano with power cord (You can use any other version of Arduino)
PH sensor 1 or 2 Protobord
Cable bridge (Female-female, Male-male)
Two resistors of 150 [Ohms]
One green LED One red LED
A buzzer A 20x4
LCD screen with I2C
Visit our website where you will found all information and step by step for how build your own device to measure pH!
Play CheRaton ran by p5:js
p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! p5.js is free and open-source because we believe software, and the tools to learn it, should be accessible to everyone.
Using the metaphor of a sketch, p5.js has a full set of drawing functionality. However, you’re not limited to your drawing canvas. You can think of your whole browser page as your sketch, including HTML5 objects for text, input, video, webcam, and sound [p5:js].
A game was develop. Now you can play. Click here!
Using the metaphor of a sketch, p5.js has a full set of drawing functionality. However, you’re not limited to your drawing canvas. You can think of your whole browser page as your sketch, including HTML5 objects for text, input, video, webcam, and sound [p5:js].
A game was develop. Now you can play. Click here!
Code
let x = 0;
var img;
let y = 0;
let noise;
let fft;
let filter, filterFreq, filterWidth;
var x_location = 200;
var y_location = 200;
var x_speed = 3;
var y_speed = 3;
var x_dir = 1;
var y_dir = -1;
var beep;
var score = 0;
function preload(){
img = loadImage("raton.jpg")
beep = loadSound("Beep.mp3")
}
//Runs when the program starts
//Sets up the scene
function setup() {
createCanvas(400, 400);
fill(255, 40, 255);
filter = new p5.BandPass();
noise = new p5.Noise();
//noise.disconnect(); // Disconnect soundfile from master output...
//filter.process(noise); // ...and connect to filter so we'll only hear BandPass.
//noise.start();
fft = new p5.FFT();
}
//Runs after setup
//Continues repeating code untill program is ended
//Draws stuff to our scene
function draw() {
//RGB Color Picker
//background(195, 215, 247);
image(img,0,0);
rect()
print(score);
//text(score);
let s = score;
fill(50);
text(score, 10, 10, 70, 80); // Text wraps within text box
//textSize(32);
//fill(0);
//text(score, 0,0);
//(X, Y, Width, Height) OR (x,y, x,y)
ellipse(x_location, y_location,50,50);
//Change the location of the box horisontaly by the value of speed
x_location = x_location + (x_speed*x_dir);
//Change the location of the box horisontaly by the value of speed
y_location = y_location + (y_speed*y_dir);
//Flips the direction the box moves if it hits the right side
if(x_location > 376){
x_dir = -1;
y_speed = 2;
x_speed = 1;
fill(2,55,0);
}
//Flips the direction the box moves if it hits the bottom side
if( abs(y_location - mouseY)<23 && abs(x_location - mouseX)<100 ){
y_dir = -1;
y_speed = 1;
x_speed = 2;
fill(0,255,0);
beep.play();
score = score + 1
}
//Flips the direction the box moves if it hits the right side
if(x_location < 0){
x_dir = 1;
y_speed = 1;
x_speed = 3;
fill(0,0,255);
}
//Flips the direction the box moves if it hits the bottom side
if(y_location < 0){
y_dir = 1;
y_speed = 3;
x_speed = 1;
fill(0,0,0);
}
x = lerp(x, mouseX, 0.05);
y = lerp(y, mouseY, 0.05);
fill(0);
stroke(0);
rect(x, y, 80, 20);
// Map mouseX to a bandpass freq from the FFT spectrum range: 10Hz - 22050Hz
filterFreq = map(mouseX, 0, width, 10, 22050);
// Map mouseY to resonance/width
filterWidth = map(mouseY, 0, height, 0, 90);
// set filter parameters
filter.set(filterFreq, filterWidth);
// Draw every value in the FFT spectrum analysis where
// x = lowest (10Hz) to highest (22050Hz) frequencies,
// h = energy / amplitude at that frequency
}
var img;
let y = 0;
let noise;
let fft;
let filter, filterFreq, filterWidth;
var x_location = 200;
var y_location = 200;
var x_speed = 3;
var y_speed = 3;
var x_dir = 1;
var y_dir = -1;
var beep;
var score = 0;
function preload(){
img = loadImage("raton.jpg")
beep = loadSound("Beep.mp3")
}
//Runs when the program starts
//Sets up the scene
function setup() {
createCanvas(400, 400);
fill(255, 40, 255);
filter = new p5.BandPass();
noise = new p5.Noise();
//noise.disconnect(); // Disconnect soundfile from master output...
//filter.process(noise); // ...and connect to filter so we'll only hear BandPass.
//noise.start();
fft = new p5.FFT();
}
//Runs after setup
//Continues repeating code untill program is ended
//Draws stuff to our scene
function draw() {
//RGB Color Picker
//background(195, 215, 247);
image(img,0,0);
rect()
print(score);
//text(score);
let s = score;
fill(50);
text(score, 10, 10, 70, 80); // Text wraps within text box
//textSize(32);
//fill(0);
//text(score, 0,0);
//(X, Y, Width, Height) OR (x,y, x,y)
ellipse(x_location, y_location,50,50);
//Change the location of the box horisontaly by the value of speed
x_location = x_location + (x_speed*x_dir);
//Change the location of the box horisontaly by the value of speed
y_location = y_location + (y_speed*y_dir);
//Flips the direction the box moves if it hits the right side
if(x_location > 376){
x_dir = -1;
y_speed = 2;
x_speed = 1;
fill(2,55,0);
}
//Flips the direction the box moves if it hits the bottom side
if( abs(y_location - mouseY)<23 && abs(x_location - mouseX)<100 ){
y_dir = -1;
y_speed = 1;
x_speed = 2;
fill(0,255,0);
beep.play();
score = score + 1
}
//Flips the direction the box moves if it hits the right side
if(x_location < 0){
x_dir = 1;
y_speed = 1;
x_speed = 3;
fill(0,0,255);
}
//Flips the direction the box moves if it hits the bottom side
if(y_location < 0){
y_dir = 1;
y_speed = 3;
x_speed = 1;
fill(0,0,0);
}
x = lerp(x, mouseX, 0.05);
y = lerp(y, mouseY, 0.05);
fill(0);
stroke(0);
rect(x, y, 80, 20);
// Map mouseX to a bandpass freq from the FFT spectrum range: 10Hz - 22050Hz
filterFreq = map(mouseX, 0, width, 10, 22050);
// Map mouseY to resonance/width
filterWidth = map(mouseY, 0, height, 0, 90);
// set filter parameters
filter.set(filterFreq, filterWidth);
// Draw every value in the FFT spectrum analysis where
// x = lowest (10Hz) to highest (22050Hz) frequencies,
// h = energy / amplitude at that frequency
}
With p5 you can do a lot of games and more, like:
Also you can play with your dog!
Machine Learning Model Focus on corrosion issues
Information From NACE 2013 mentioned that 2.5 billion dollars were spent to give up or replace part of the structure because of the corrosion problem there. NACE mentioned that 15-35% of this money could have been saved if correct techniques were applied. The industry that characterizes for big metal structures presents the difficultness to monitor them and identify where the corrosion is presented in certain areas. It represents a risk for the company staff because some areas are difficult to get access, therefore this monitoring process is done rarely or this just does not happen. Industries that have infrastructure of iron, specially pipes and are interested in knowing the state of their metal structures and receive feedback by us. |
Convolutional neural network was used to create the model:
Good results were obtained with this model. The model is capable to detect if in one picture there is corrosion or there are not.
Easy incubator with gogoboard
With the help of Amino labs was possible learn about genetic engineering.
In this class was possible grow up K12 E. coli cells. These are so specials because they had (the bacteria) color. The first days were hard because the bacteria needs an special environment to grow up: humidity (RH ~60 % ) and temperature (T = 37 °C). A version one of the incubator was building but the temperature in this was around 45 °C, so, the bacteria died ... In order to improve the incubator process, the GoGo board was used to monitor and control the temperature. |
Low cost material was used
The incubator has capacity to two samples, and each one is monitor with temperature sensor. Also the incubator is autonomous in turn on and turn of the lamp.
Relay working for autonomous incubator
Final design
Incubator working
In order to keep the humidity in the petri dishes it can be introduce in a plastic bag as you can see in the video:
Results!
They keep the life and grew up!!