0% found this document useful (0 votes)
85 views

Automation Code-1

The automation system uses ultrasonic sensors and photovoltaic cells to measure parameters and activate water collection. The ultrasonic sensors detect height above water and photovoltaic cells monitor water level in the tank. This allows pilots to safely and easily collect and transport water. The circuit has ultrasonic sensors and a phototransistor as inputs and a DC motor and LED as outputs. The Arduino code uses ultrasonic sensors to measure distance and photovoltaic cells to monitor water level in the tank. It controls the motor to lower the hose based on height readings and stops filling based on water level readings.

Uploaded by

api-594759083
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
85 views

Automation Code-1

The automation system uses ultrasonic sensors and photovoltaic cells to measure parameters and activate water collection. The ultrasonic sensors detect height above water and photovoltaic cells monitor water level in the tank. This allows pilots to safely and easily collect and transport water. The circuit has ultrasonic sensors and a phototransistor as inputs and a DC motor and LED as outputs. The Arduino code uses ultrasonic sensors to measure distance and photovoltaic cells to monitor water level in the tank. It controls the motor to lower the hose based on height readings and stops filling based on water level readings.

Uploaded by

api-594759083
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Memo

To: Sparky Aid Designs


From: Jonathan Thomas
Date:3/25/2022

Re: Automation Code

The automation sequence is manually activated and will not engage till the right parameters are
met. The parameters are whether or not the aircraft is at the correct height to maintain stability
and collect water efficiently. These parameters will be measured by various sensors onboard
including ultrasonic sensors to detect distance from the water's surface. LED lights in
conjunction with Photovoltaic cells are used to provide light for the cells to monitor the water
level. This level of automation allows the pilots to swiftly, safely, and easily collect and transport
water.

Circuit Diagram
This circuit consists of 2 inputs and 2 outputs. The inputs are the ultrasonic sensors and the
phototransistor. The outputs are the DC motor and LED light.

Arduino Code
/*
Ping))) Sensor

This sketch reads a PING))) ultrasonic rangefinder and returns the distance
to the closest object in range. To do this, it sends a pulse to the sensor to
initiate a reading, then listens for a pulse to return. The length of the
returning pulse is proportional to the distance of the object from the sensor.

The circuit:
- +V connection of the PING))) attached to +5V
- GND connection of the PING))) attached to ground
- SIG connection of the PING))) attached to digital pin 7

created 3 Nov 2008


by David A. Mellis
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

https://www.arduino.cc/en/Tutorial/BuiltInExamples/Ping
*/

// this constant won't change. It's the pin number of the sensor's output:
const int pingPin = -3;
int motorPin = 4;
int Sensor = analogRead(A0);
void setup() {

Serial.begin(9600);
while (! Serial);
Serial.println("Speed 0 to 255");
// initialize serial communication:
Serial.begin(9600);
}

void loop()
{
pinMode(motorPin, OUTPUT);
Serial.begin(9600);
if (Serial.available())
{

while (! Serial);
Serial.println("Speed 0 to 255");

Serial.println("Analog value : ");


Serial.println(Sensor);
}
delay(250);

// establish variables for duration of the ping, and the distance result
// in inches and centimeters:
long duration, inches, cm;

// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.


// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);

// The same pin is used to read the signal from the PING))): a HIGH pulse
// whose duration is the time (in microseconds) from the sending of the ping
// to the reception of its echo off of an object.
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);

// convert the time into a distance


inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);

Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();

delay(100);
}

long microsecondsToInches(long microseconds) {


// According to Parallax's datasheet for the PING))), there are 73.746
// microseconds per inch (i.e. sound travels at 1130 feet per second).
// This gives the distance travelled by the ping, outbound and return,
// so we divide by 2 to get the distance of the obstacle.
// See: https://www.parallax.com/package/ping-ultrasonic-distance-sensor-downloads/
return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {


// The speed of sound is 340 m/s or 29 microseconds per centimeter.
// The ping travels out and back, so to find the distance of the object we
// take half of the distance travelled.
return microseconds / 29 / 2;

//water level sensor

//https://create.arduino.cc/projecthub/MisterBotBreak/how-to-use-a-photoresistor-46c5eb
int value = analogRead(A0);
Serial.println("Analog value : ");
Serial.println(value);
delay(250);

//moving hose arm

if (Serial.available()) {
int speed = Serial.parseInt();
if (speed >= 0 && speed <= 255) {
analogWrite(motorPin, speed);
}
}

}
Results of Automation

With an ultrasonic sensor detecting height, the water collection system using a motor will lower
the hose into the water to start the collection process. Using a LED light in the water holding
tank and phototransistors I can measure the level of the tank by seeing if the transistors are
obstructed by the water or not.

You might also like