Go Down

Topic: Read infrared temperature sensor signals (Read 236 times) previous topic - next topic

achinthac

Nov 22, 2020, 06:35 am Last Edit: Nov 22, 2020, 06:41 am by achinthac
If I'm writing in the wrong section, please help me to understand the write section.
Hi all, I'm very new to Arduino and electronic circuits. recently I got one cina product Infrared temperature module (K3 pro), which comes with a 2 pins external signal out port. I want to connect this to my vb.net application through serial port via Arduino Uno R3 board.  below are the details/specifications I found from the internet related to the IR module. can anyone help me to understand how these 2 pins connect with Arduino & programming to read temperature signals? (I read many tutorials and try many methods, but no luck yet).
This is the full spec sheet they provide Click



PaulRB

Quote
If I'm writing in the wrong section, please help me to understand the write section.
Your question is about a sensor. There is a forum section called "sensors". I'm not sure what else I can say to help you understand. Oh, and opposite of "wrong" is "right". The opposite of "write" is "read", at least in Arduino context.

PaulRB

You cannot read the temperature from that output. You can only read if the temperature is in "normal" or "abnormal" range. The document you linked to does not define what "normal" and "abnormal" mean, or how to change that, if it can be changed.

achinthac

#3
Nov 22, 2020, 02:36 pm Last Edit: Nov 22, 2020, 02:44 pm by achinthac
You cannot read the temperature from that output. You can only read if the temperature is in "normal" or "abnormal" range. The document you linked to does not define what "normal" and "abnormal" mean, or how to change that, if it can be changed.
Thank you for the reply,
It can set the max temperature limit in this device. if it is over the limit, it is "abnormal", otherwise "normal".

UKHeliBob

Duplicate topics merged

Rather than start a second topic you could have reported your original to a moderator and asked for it to be moved
Please do not send me PMs asking for help.  Post in the forum then everyone will benefit from seeing the questions and answers.

achinthac

Duplicate topics merged

Rather than start a second topic you could have reported your original to a moderator and asked for it to be moved
thanks you

jremington

#6
Nov 22, 2020, 05:10 pm Last Edit: Nov 22, 2020, 05:35 pm by jremington
(revised) To read the normal/abnormal signal from that device with an Arduino Uno, use the circuit diagram in the upper right corner of the posted photo.  Connect the upper (collector) lead to a 10K resistor, which is in turn connected to Arduino 5V. Connect the lower (emitter) lead to Arduino GND.

For safety, as the diagram shows, you can use a 10K resistor between the collector and any digital input on the Arduino.

MAKE SURE that you know which device output lead is the collector, and which is the emitter.

Use digitalRead() to  read the signal.

PaulRB

Quote
Use digitalRead() to  read the signal.
Unless the output is in "pulse mode" in which case use pulseIn(). I have no idea what the advantages of one mode would be compared to the other. The document does not explain them or how to change the mode.

achinthac

#8
Nov 22, 2020, 06:16 pm Last Edit: Nov 22, 2020, 06:22 pm by achinthac
Unless the output is in "pulse mode" in which case use pulseIn(). I have no idea what the advantages of one mode would be compared to the other. The document does not explain them or how to change the mode.
The devise support to change between the "Switch" and the "Pulse" signal as explain linked spec sheet.
(S1 & S2 mode)
This youtube video explains the device operation 

achinthac

#9
Nov 22, 2020, 07:11 pm Last Edit: Nov 22, 2020, 07:14 pm by achinthac
(revised) To read the normal/abnormal signal from that device with an Arduino Uno, use the circuit diagram in the upper right corner of the posted photo.  Connect the upper (collector) lead to a 10K resistor, which is in turn connected to Arduino 5V. Connect the lower (emitter) lead to Arduino GND.

For safety, as the diagram shows, you can use a 10K resistor between the collector and any digital input on the Arduino.

MAKE SURE that you know which device output lead is the collector, and which is the emitter.

Use digitalRead() to  read the signal.
I connect as you say but I get reading when using pulseIn(), here my coding
int tempPin = 7;
int tempReading;


void setup(void) {
 pinMode(tempPin, INPUT);
 Serial.begin(9600);
}
void loop(void) {
 tempReading = pulseIn(tempPin, LOW);
 Serial.println(tempReading);
 delay(100);
}
In serial monitor get a value between 234~281 when I scan through IR sensor, other all times 0,
I don't know is this the correct output, how can I convert this to celsius?

jremington

Quote
how can I convert this to celsius
If that is even possible, the device user manual should explain how.

PaulRB

Quote
how can I convert this to celsius?
See reply #2.

achinthac

Ok, Noted, And thank you very much for the support you give,
For my purpose, I cant connect this device through Arduino, but the device comes with a USB port that can connect with a PC and communicate through a serial port, and read values generated by its own board, I have to filter the result to get my required value, I'm also connected RFID with my app through Arduino, so I have to use 2 USB port separate for both device (Temperature device & RFID device) and process/manage the result through vb programming.
Anyway, thank you for given support.

Go Up