Devices & Components
Arduino Uno Rev3
9V Battery Clip
Jumper wires (generic)
LDR, 5 Mohm
DC Motor, 12 V
Custom PCB
LED (generic)
9V battery (generic)
Rain Sensor
Resistor 10k ohm
Hardware & Tools
Soldering iron (generic)
Solder Wire, Lead Free
Software & Tools
Arduino IDE
Project description
Code
Arduino Code.txt
arduino
Complete codes for proper implementation of the Automatic Clothesline Retrieval System
1const int pinLED = 13; 2const int pinLDR = A1; 3const int pinDO = 2; 4const int pinAO = A0; 5int val_analog; 6int val_digital; 7int enA = 9; 8int in1 = 8; 9int in2 = 7; 10int enB = 3; 11int in3 = 5; 12int in4 = 4; 13 14void setup() { 15Serial.begin(9600); 16pinMode(pinLED, OUTPUT); 17pinMode(pinLDR, INPUT); 18pinMode(pinDO, INPUT); 19pinMode(pinAO, INPUT); 20pinMode(enA, OUTPUT); 21pinMode(enB, OUTPUT); 22pinMode(in1, OUTPUT); 23pinMode(in2, OUTPUT); 24pinMode(in3, OUTPUT); 25pinMode(in4, OUTPUT); 26digitalWrite(in1, LOW); 27digitalWrite(in2, LOW); 28digitalWrite(in3, LOW); 29digitalWrite(in4, LOW); 30} 31 32void inside() { 33digitalWrite (pinLED, HIGH); 34analogWrite(enA,125); 35digitalWrite(in1,LOW); 36digitalWrite(in2,HIGH); 37analogWrite(enB,125); 38digitalWrite(in3,LOW); 39digitalWrite(in4,HIGH); 40Serial.println("go in"); 41} 42 43void outside() { 44digitalWrite (pinLED, LOW); 45analogWrite(enA,125); 46digitalWrite(in1,HIGH); 47digitalWrite(in2,LOW); 48analogWrite(enB,125); 49digitalWrite(in3,HIGH); 50digitalWrite(in4,LOW); 51Serial.println("go out"); 52} 53 54void off() { 55analogWrite(enA,0); 56digitalWrite(in1,LOW); 57digitalWrite(in2,LOW); 58analogWrite(enB,0); 59digitalWrite(in3,LOW); 60digitalWrite(in4,LOW); 61Serial.println("off"); 62delay(5000); 63} 64 65void loop() { 66 67int ldrStatus = analogRead(pinLDR); 68Serial.print("ldr : "); 69Serial.println(ldrStatus); 70val_digital=digitalRead(pinDO); 71val_analog=analogRead(pinAO); 72Serial.println(val_analog); 73delay(1000); 74 75if (digitalRead(pinLED)==HIGH) { 76if (ldrStatus > 20){ 77if (val_digital == HIGH) { 78outside(); delay(400); 79off(); delay(2000); 80} 81} 82} 83else if (ldrStatus <= 20) { 84inside(); delay(400); 85off(); delay(2000); 86} 87else if (ldrStatus > 20) { 88if (val_digital == LOW) { 89inside(); delay(400); 90off(); delay(2000); 91} 92} 93}
Downloadable files
Fritzing Breadboard
Proper and complete wiring and components
Fritzing Breadboard

Fritzing Breadboard
Proper and complete wiring and components
Fritzing Breadboard

Comments
Only logged in users can leave comments