Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Power Supply needed to run the pumps [12V] !!
- #include <IRremote.h>
- int RECV_PIN = 11;
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- int value = 0;
- //Water Pump Active @ [3.4V = 173] to [5V = 255]
- //Water Pump Inactive @ [3.3V = 167]
- const int analogInPin = A1;
- const int Pump_1_InPin1 = 3;//PWM Pin
- const int Pump_1_InPin2 = 4;//Digital Pin
- const int Pump_2_InPin1 = 5;//PWM Pin
- const int Pump_2_InPin2 = 8;//Digital Pin
- const int Pump_3_InPin1 = 6;//PWM Pin
- const int Pump_3_InPin2 = 7;//Digital Pin
- const int Pump_4_InPin1 = 9;//PWM Pin
- const int Pump_4_InPin2 = 10;//Digital Pin
- int sensorValue = 0;
- int outputValue1 = 0;
- int outputValue2 = 0;
- int outputValue3 = 0;
- int outputValue4 = 0;
- void setup() {
- Serial.begin(9600);
- irrecv.enableIRIn();
- pinMode(Pump_1_InPin1, OUTPUT);
- pinMode(Pump_1_InPin2, OUTPUT);
- pinMode(Pump_2_InPin1, OUTPUT);
- pinMode(Pump_2_InPin2, OUTPUT);
- pinMode(Pump_3_InPin1, OUTPUT);
- pinMode(Pump_3_InPin2, OUTPUT);
- pinMode(Pump_4_InPin1, OUTPUT);
- pinMode(Pump_4_InPin2, OUTPUT);
- }
- void loop() {
- readIRcode();
- if (value == -23971) { // Turn ON Pumps On Auto Mode [1]
- readIRcode();
- pumpAuto();
- }
- else if (value == 25245) { // Turn ON Pumps With Sound [2]
- readIRcode();
- pumpWithSound();
- }
- else if (value == 14535) { // Stop All Pumps [OK]
- readIRcode();
- pumpStopAll();
- }
- else if (value == 26775) { // Turn ON all Pumps
- readIRcode();
- analogWrite( Pump_1_InPin1, 255);//outputValue2
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, 255);//outputValue2
- digitalWrite(Pump_2_InPin2, LOW);
- analogWrite( Pump_3_InPin1, 255);//outputValue3
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, 255);//outputValue4
- digitalWrite(Pump_4_InPin2, LOW);
- delay(500);
- }
- pumpStopAll();
- }//end of LOOP
- void pumpWithSound() {
- sensorValue = analogRead(analogInPin);
- outputValue1 = map(sensorValue, 535, 575, 0, 255); // 163 = 3.2V [Pump Will Stop Working]
- /*
- if (outputValue1 < 20 && outputValue1 > -20) {
- outputValue1 = 0;
- outputValue2 = 0;
- outputValue3 = 0;
- outputValue4 = 0;
- }
- else if (outputValue1 < -20) {
- outputValue2 = (-1 * outputValue1) + 30;//-10
- outputValue3 = (-1 * outputValue1) + 100;//+50
- outputValue4 = (-1 * outputValue1) + 100;//+50
- }
- else {
- outputValue2 = (1 * outputValue1) + 30;
- outputValue3 = (1 * outputValue1) + 100;
- outputValue4 = (1 * outputValue1) + 100;
- }
- */
- Serial.print(abs(outputValue1));
- Serial.print("\t");
- //Serial.print(outputValue2);
- ////Serial.print("\t");
- //Serial.print(outputValue3);
- //Serial.print("\t");
- Serial.println(sensorValue);
- delay(100);
- if ( abs(outputValue1) < 200) {//130
- pumpStopAll();
- }
- else {
- pumpA4();
- /*
- analogWrite( Pump_1_InPin1, 255);//outputValue2
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, 255);//outputValue2
- digitalWrite(Pump_2_InPin2, LOW);
- */
- delay(abs(outputValue1));
- /*
- analogWrite( Pump_3_InPin1, 255);//outputValue3
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, 255);//outputValue4
- digitalWrite(Pump_4_InPin2, LOW);
- delay(abs(outputValue1));
- */
- }
- }
- void pumpAuto() {
- pumpA1();
- delay(500);
- pumpA2();
- delay(500);
- pumpA3();
- delay(500);
- pumpA4();
- delay(500);
- }
- void pumpA1() {
- analogWrite( Pump_1_InPin1, 255);
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, 255);
- digitalWrite(Pump_2_InPin2, LOW);
- analogWrite( Pump_3_InPin1, 173);
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, 173);
- digitalWrite(Pump_4_InPin2, LOW);
- }
- void pumpA2() {
- analogWrite( Pump_1_InPin1, 173);
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, 173);
- digitalWrite(Pump_2_InPin2, LOW);
- analogWrite( Pump_3_InPin1, 255);
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, 255);
- digitalWrite(Pump_4_InPin2, LOW);
- }
- void pumpA3() {
- analogWrite( Pump_1_InPin1, 173);
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, 173);
- digitalWrite(Pump_2_InPin2, LOW);
- analogWrite( Pump_3_InPin1, 173);
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, 173);
- digitalWrite(Pump_4_InPin2, LOW);
- }
- void pumpA4() {
- analogWrite( Pump_1_InPin1, 255);
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, 255);
- digitalWrite(Pump_2_InPin2, LOW);
- analogWrite( Pump_3_InPin1, 255);
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, 255);
- digitalWrite(Pump_4_InPin2, LOW);
- }
- void pumpStopAll() {
- analogWrite( Pump_1_InPin1, LOW);
- digitalWrite(Pump_1_InPin2, LOW);
- analogWrite( Pump_2_InPin1, LOW);
- digitalWrite(Pump_2_InPin2, LOW);
- analogWrite( Pump_3_InPin1, LOW);
- digitalWrite(Pump_3_InPin2, LOW);
- analogWrite( Pump_4_InPin1, LOW);
- digitalWrite(Pump_4_InPin2, LOW);
- }
- void readIRcode() {
- if (irrecv.decode(&results)) {
- value = results.value;
- Serial.println(value);
- delay(250);
- irrecv.resume();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement