Timothy & Ryan’s Water Level Sensor

Description

For our sensor and display project, we made a circuit that uses the moisture sensor as a means to determine the water level of a sample of dirt.  While out of the water, the display would say that the water level is low due to the lack of water as well as have a green LED blink.  When in the water the LCD would out print a number based on how much water was present and state the water level was high once past a certain threshold.

Code

// Portion of code borrowed from https://github.com/jlooper/thinglearn/blob/master/moisture-sensor.txt
// Portion of code borrowed from https://interactivematerials.wordpress.com/resources/

#include <SoftwareSerial.h>

SoftwareSerial lcd = SoftwareSerial(2,3);

//moisture sensor ints
int sensorPin = A0;
int led = 13;
int thresholdUp = 400;
int thresholdDown = 250;

void setup() {
//LCD startup
lcd.begin(9600);

//clearing screen
lcd.write(0xFE);
lcd.write(0xD0);

//color
lcd.write((uint8_t)0); //red
lcd.write((uint8_t)0); //green
lcd.write((uint8_t)255); //blue
delay(10); //time to adjust the backlight

//Moisture Sensor
Serial.begin(9600);
pinMode(led, OUTPUT);

}

void loop() {

int sensorValue;

sensorValue = analogRead(sensorPin);

Serial.println(sensorValue);
//clear screen
lcd.write(0xFE);
lcd.write(0x58);

if (sensorValue <= thresholdDown){
//clearing screen
lcd.write(0xFE);
lcd.write(0x58);

lcd.println(“Low Water”);
lcd.print(sensorValue);
lcd.print(” Moisture”);

digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000);

} else if (sensorValue >= thresholdUp){
//clearing screen
lcd.write(0xFE);
lcd.write(0x58);

lcd.println(“High Water”);
lcd.print(sensorValue);
lcd.print(” Moisture”);
}
delay(1000); //wait for a second, easier to read

}

Video

Loren and Erin’s Soil Sensor

Our sensor uses an LCD screen to dictate if the soil in question needs to be watered. Once the sensor is inserted in the soil, the LCD screen will display the water level and change colors and messages depending on what is required.

If the water level is very low, the screen will turn red.

eb8ec858-be7d-45a1-b449-bbf855e7824d

If the water level is okay, but needing water very soon, the screen turns yellowish green.

8f3a1581-8c74-4743-ba79-4e6fa4eccdb5

If it is watered and ready to go, it will turn fully green. You can see this version in our documentation video (thanks to the lovely rainstorm we had over the weekend).

Here is our code:

screen-shot-2017-02-19-at-5-37-32-pmscreen-shot-2017-02-19-at-5-37-50-pmscreen-shot-2017-02-19-at-5-38-04-pmscreen-shot-2017-02-19-at-5-38-16-pmscreen-shot-2017-02-19-at-5-38-24-pm

Cody Smyth Jackson Sipes Soil Sensor/LCD Sensor

For our project, we utilized a soil moisture sensor to measure the water content of different soils and then display the information on the LCD screen. The information will appear based on the analog reading and will tell you if the soil is wet, meaning that you don’t need to water your soil, or that the soil is dry, meaning that you need to add water to the soil. In the video, we use the sensor to test two different soils. The first soil has been sitting in the sun and is very dry, so we expect a low sensing number and the LCD to display “DRY”. The second soil contains much more water volume, so we expect to see a “WET” LCD output with a much larger moisture number. We could compare this to a plant that is placed in soil and needs to be watered each day. Based on the soil moisture sensor reading, you could easily figure out whether the plant needed to be watered or not.

Below is the video of our system testing the two different soils.

Here is the code that we used in order to set up our system:

Screen Shot 2017-02-18 at 3.17.39 PM.png

Soil Sensor w/ LCD screen feedback

For this assignment my partner and I used a soil sensor to send analog data to arduino then sending messages to a Backpack/LCD screen if a threshold was reached. I used a low value for the threshold for the video but probably would want a higher value or possibly use a map statement with the LCD backlight since we are collecting analog data. The wiring is very basic with the backpack, pin-AO/yellow is my input coming from the sensor.

Ziyi Liu & Arturo Leyva

 

#include <SoftwareSerial.h>

int i = 0;
SoftwareSerial lcd = SoftwareSerial(0,2);

int sensorPin = 0;
int sensorReading;

void setup() {
lcd.begin(9600);

lcd.write(0xFE);
lcd.write(0xD0);
lcd.write((uint8_t)0);
lcd.write((uint8_t)0);
lcd.write((uint8_t)255);
delay(10);

}

void loop() {
sensorReading = analogRead(sensorPin);
if (sensorReading < 150) {

lcd.write(0xFE);
lcd.write(0x58);

lcd.write(0xFE);
lcd.write(0xD0);
lcd.write((uint8_t)255);
lcd.write((uint8_t)0);
lcd.write((uint8_t)0);
delay(10);

lcd.println(“Water Plants”);
lcd.print(sensorReading);
lcd.print(” “);
lcd.print(“Low Moisture”);

} else {
lcd.write(0xFE);
lcd.write(0x58);

lcd.write(0xFE);
lcd.write(0xD0);
lcd.write((uint8_t)0);
lcd.write((uint8_t)0255);
lcd.write((uint8_t)0);
delay(10);

lcd.println(“Moisture Level”);
lcd.print(sensorReading);
lcd.print(” “);
}

delay(1000);
}

Transistor and Heat

For my project I used a lilypad and capacitive sensing to trigger a heating pad to turn on. Once the heating pad got hot enough heat sensitive fabric changed color. The heat sensitive fabric changed from pink to yellow as a reaction to the heat.

Inez Binkiewicz

Here is the code:

arduino2.jpg

Here is the system:

arduino1.jpg

 

 

Transistor

I decided to use muscle wire to heat up a piece of thermochromic fabric. Unfortunately i had to press down on the fabric to get anything to show because the muscle wire wasn’t getting as warm as I would have liked. I also could not get the while loop to serial print to the console and I’m not sure why.

screenshot-15