Hi,
I have some problem with code or with connections, always when I start my car using button, water pump is on and it isn't going off, please help. I know I didn't finished code yet, but this is first thing that I want to fix. There is code and diagram:
#include <Servo.h>
Servo servo;
int pos = 0;
int sensorRight = A0;
int sensorForward = A2;
int sensorLeft = A4;
int sensorValueRight = 0;
int sensorValueForward = 0;
int sensorValueLeft = 0;
int leftMotorForward = 4;
int leftMotorBackward = 5;
int rightMotorForward = 6;
int rightMotorBackward = 7;
int pump = 8;
bool fire = false;
void setup()
{
pinMode(sensorRight, INPUT);
pinMode(sensorForward, INPUT);
pinMode(sensorLeft, INPUT);
pinMode(leftMotorForward, OUTPUT);
pinMode(leftMotorBackward, OUTPUT);
pinMode(rightMotorForward, OUTPUT);
pinMode(rightMotorBackward, OUTPUT);
pinMode(pump, OUTPUT);
digitalWrite(pump, LOW);
servo.attach(10);
servo.write(90);
Serial.begin(9600);
}
void fireExtinguisher()
{
digitalWrite(leftMotorForward,LOW);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,LOW);
digitalWrite(rightMotorBackward,LOW);
digitalWrite(pump, HIGH);
for (pos = 50; pos <= 150; pos += 1) {
servo.write(pos);
delay(10);
}
for (pos = 150; pos >= 50; pos -= 1) {
servo.write(pos);
delay(10);
}
digitalWrite(pump,LOW);
servo.write(90);
}
void loop()
{
sensorValueRight = analogRead(sensorRight);
Serial.print("Right sensor: ");
Serial.println(sensorValueRight);
sensorValueForward = analogRead(sensorForward);
Serial.print("Forward sensor: ");
Serial.println(sensorValueForward);
sensorValueLeft = analogRead(sensorLeft);
Serial.print("Left sensor: ");
Serial.println(sensorValueLeft);
if(sensorValueRight > 740)
{
digitalWrite(leftMotorForward,HIGH);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,LOW);
digitalWrite(rightMotorBackward,LOW);
delay(500);
fireExtinguisher();
}else if(sensorValueForward > 740)
{
digitalWrite(leftMotorForward,HIGH);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,HIGH);
digitalWrite(rightMotorBackward,LOW);
delay(500);
fireExtinguisher();
}else if(sensorValueLeft > 740)
{
digitalWrite(leftMotorForward,LOW);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,HIGH);
digitalWrite(rightMotorBackward,LOW);
delay(500);
fireExtinguisher();
}else
{
digitalWrite(leftMotorForward,LOW);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,LOW);
digitalWrite(rightMotorBackward,LOW);
delay(500);
}
}
vojkan123:
I have some problem with code or with connections, always when I start my car using button, water pump is on and it isn't going off, please help.
Someone can only help if they know how you have wired up all the components in your project. You gave the code, thanks, but where is the schematic or block diagram? How does your program turn on the pump?
My drawing is just scheme. Without any code for pump, It's still working, so I think there is problem with connection
I added some wagos (orange circles) too in my real project, easier to connect, so it looks like this
Your diagram shows pin 9 controls the pump relay, but your code says pin 8 controls the relay.
1 Like
kolaha
June 17, 2024, 8:04pm
6
#include <Servo.h>
Servo servo;
const byte sensorRight = A0;
const byte sensorForward = A2;
const byte sensorLeft = A4;
const byte leftMotorForward = 4;
const byte leftMotorBackward = 5;
const byte rightMotorForward = 6;
const byte rightMotorBackward = 7;
const byte pump = 8;
int pos = 0;
int sensorValueRight = 0;
int sensorValueForward = 0;
int sensorValueLeft = 0;
bool fire = false;
#define Pump_On digitalWrite(pump,LOW)
#define PumpOff digitalWrite(pump,HIGH)
void setup()
{
PumpOff;
pinMode(leftMotorForward, OUTPUT);
pinMode(leftMotorBackward, OUTPUT);
pinMode(rightMotorForward, OUTPUT);
pinMode(rightMotorBackward, OUTPUT);
pinMode(pump, OUTPUT);
servo.attach(10);
servo.write(90);
Serial.begin(9600);
}
void fireExtinguisher()
{
digitalWrite(leftMotorForward,LOW);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,LOW);
digitalWrite(rightMotorBackward,LOW);
Pump_On;
for (pos = 50; pos <= 150; pos += 1) {
servo.write(pos);
delay(10);
}
for (pos = 150; pos >= 50; pos -= 1) {
servo.write(pos);
delay(10);
}
PumpOff;
servo.write(90);
}
void loop()
{
sensorValueRight = analogRead(sensorRight);
Serial.print("Right sensor: ");
Serial.println(sensorValueRight);
sensorValueForward = analogRead(sensorForward);
Serial.print("Forward sensor: ");
Serial.println(sensorValueForward);
sensorValueLeft = analogRead(sensorLeft);
Serial.print("Left sensor: ");
Serial.println(sensorValueLeft);
if(sensorValueRight > 740)
{
digitalWrite(leftMotorForward,HIGH);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,LOW);
digitalWrite(rightMotorBackward,LOW);
delay(500);
fireExtinguisher();
}else if(sensorValueForward > 740)
{
digitalWrite(leftMotorForward,HIGH);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,HIGH);
digitalWrite(rightMotorBackward,LOW);
delay(500);
fireExtinguisher();
}else if(sensorValueLeft > 740)
{
digitalWrite(leftMotorForward,LOW);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,HIGH);
digitalWrite(rightMotorBackward,LOW);
delay(500);
fireExtinguisher();
}else
{
digitalWrite(leftMotorForward,LOW);
digitalWrite(leftMotorBackward,LOW);
digitalWrite(rightMotorForward,LOW);
digitalWrite(rightMotorBackward,LOW);
delay(500);
}
}
yes, my bad, on project it was pin 8, I forgot to change drawing
Thank you, pump is off now by default
xfpd
June 18, 2024, 5:23am
9
How many topics on this subject are you going to open?
Dear community,
I'm trying to do fire extinguisher project for school and I drew scheme, please let me know would it work like this and if not give me some advices. Thank you!
[Untitled]
Hi,
I have some trouble with Arduino flame sensor, built in LEDs are mostly on without any flame source, when I cover it, they turn off. They aren't activating on light, I tried using phone flashlight as test and they aren't turning on. Tried adjusting potentiometer, but still same.
[5-channel-ir-flame-detector-sensor-550x550]
Hi,
Could 5v relay be powered with 6v (4 x 1.5v batteries), or should i use 4.5v (3 x 1.5v)
I made topics on things that I need and there are different categories, when I got answer on what I need, I mark it as "Solution" and I keep working on my project untill I find other problem
jim-p
June 18, 2024, 9:44am
11
As long as the topics actually involve a completely different problem it's OK
system
Closed
December 15, 2024, 9:44am
12
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.