2

Schematic diagramI'm trying to turn ON the LED(inbuilt/PIN13) when photoelectric proximity sensor(12v) senses any object. Sensor is connected on pin 2. Assigned pin 2 as INPUT, I've got a 12v spdt relay for switching. 12v output from sensor is fed to coil, on the other end 5v supplied to COM pin and "Normally Open"(NO) pin to Arduino (with pull-down resistor). When 'NO' connected to loose LED it works properly (shows 5V on voltmeter when object is detected). But when connected to Arduino digitalRead(), it always returns LOW/0.

//code
int a=0;
void setup() {
  pinMode(2,INPUT);
  pinMode(13,OUTPUT);
  Serial.begin(9600);
}

void loop() {
  a ==  digitalRead(2);
  Serial.println(a);
  if(a==HIGH){
    Serial.println("Object Detected");
    digitalWrite(13,HIGH);  
  }else{
    Serial.println("There's no object");  
    digitalWrite(13,LOW);  
  }
  delay(1000);
}
10
  • 4
    it is difficult to visualize what you are describing ... please draw a schematic diagram or a wiring diagram ... also include the code that you are using
    – jsotola
    Mar 6 at 19:10
  • To read that detector: get rid of the relay and replace it with an ordinary voltage divider.
    – Sim Son
    Mar 7 at 7:33
  • I tried using 7805 to get 5v output. It did not work, @SimSon Mar 7 at 7:46
  • @jsotola yes. sure. I'm uploading a schematic and code. Mar 7 at 7:47
  • use 1kOhm resistor for pulldown
    – Juraj
    Mar 7 at 8:53
2

a == digitalRead(2) must be a = digitalRead(2). You also better change the if clause to if(a) to avoid true/HIGH/1 confusions.

If you had formatted the code properly, you'd have safed some time (you just need to select the code and press the {} button).

You also better replace the relay with a voltage divider (as I mentioned in my comment), because as long as you don't have a datasheet for the sensor you can't be sure that the sensor is designed to source that much current. If the sensor is supposed to drive a TTL logic, it will eventually fail, just like you don't drive relays with GPIOs directly. And beside that you need a freewheeling diode across the relay coil to deal with back EMF which will also harm the sensor.

2
  • I can't forgive myself for this. I have wasted like 3 days on this stupidest syntax typo. Thank you for drawing my attention to it. Thank you for suggestions. Mar 7 at 11:56
  • oh! I'll give it a try. The freewheeling diode stuff is really helpful for me. thanks. Mar 7 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.