I have made some projects before, but this is the first time using a sensor... So I soldered it together an connected pin1 and pin2 to 5V and GND, pin3 to AnalogIn 0. I connected the other pins to digital. I tried around with pinOut to the digital pins and checked the LEDs with a camera. They all work. Now here comes the tricky part: I used analog read(A0) but it just gives me 843 or 842 on the Serial Monitor...? What am I doing wrong? Can somebody help me please?
You can test the IR leds (IR transmitters) with a webcam or normal photo camera.
If they work you can hold a paper in front of them, see if the value changes.
Reflectance sensors are finicky things. Try to bend the LEDs / phototransistors a bit so they point towards each other (imagine the light bouncing off the surface between the LED / phototransistor). Play around with the distance to your target and what you're using for a "line". Some things that are black to you and me turn out to be much more reflective to these phototransistors.
The problem is the value doesn't even change... I think my code might be wrong! I set all the digital pins to output. I check the LEDs they are a lit up. Then I analogRead Pin 0. Value stays 844, 844, sometimes 843. I can do anything I want, I used white paper, black paper, LCD screens (for reflecting) the value doesn't change.
Go ahead and post your code. Also explain how you have the Arduino pins connected to the pins on the board -- the diagram on the eBay page shows the pins numbered 1 through 10 on the board so using that nomenclature would be helpful.
int aval1 =0;
int aval2 = 0;
int avalr = 0;
int refval = 0;
int pwm=0;
int bias=0;
int t=0;
char* str1[] = {"CHANNEL A", "CHANNEL B", "CHANNEL C"};
int lf = 0;
int rg = 0;
int st = 0;
void setup()
{
// Print a message to the LCD.
//lcd.print(str1[st]);
//lcd.print(analogRead(0));
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
Serial.begin(9600);
bias = 40;
}
void loop()
{
st = 0;
aval1 = 0;
aval2 = 0;
digitalWrite(7,HIGH);
analogWrite(9,255);
analogWrite(10,255);
while (st < 10)
{
st++;
digitalWrite(7,HIGH);
delayMicroseconds(10);
aval1 = aval1+analogRead(0);
digitalWrite(7,LOW);
delayMicroseconds(10);
aval2 = aval2+analogRead(0);
}
//refval = analogRead(1);
refval = 20;
Serial.print(aval2-aval1);
avalr = aval2-aval1;
Serial.print("<");
Serial.print(avalr);
Serial.print(">");
if (abs(aval2-aval1)>refval)
{
digitalWrite(5,HIGH);
pwm = 50;
analogWrite(9,255);
analogWrite(10,pwm+bias);
}
else
{
digitalWrite(5,LOW);
pwm = 50;
analogWrite(9,pwm);
analogWrite(10,pwm+bias);
}
//lcd.clear();
//lcd.print(str1[0]);
//lcd.setCursor(1,1);
//lcd.print("Analog=");
//lcd.print(aval2-aval1);
//lcd.print(" : ");
//lcd.print(refval);
delay(500);
}
This is the code they sent me... It seems a little bit wrong because they defining 6 pins to output, but the schematic just shows 5 to connect to the digital ports... This code just gives me -2, -1, 0, 3... Whats wrong here? I can't figure out why this isn't working...
Then I coded this myself: (I think this is also wrong)
void setup() {
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
Serial.begin(9600);
}
void loop() {
int myInts[5];
int pin = 5;
for (int i = 0; i < 5; i++) {
digitalWrite(pin, LOW);
int var = analogRead(0);
myInts[i]=var;
pin++;
delay(100);
}
int i;
for (i = 0; i < 5; i = i + 1) {
if(myInts[i] == 843){
Serial.println("Weiss");
} else {
Serial.println("Schwarz");
}
}
Serial.println("---------------");
}
Being new to IR Led White is i think emmiter which gives signals and black is receiver which receives signals i think, after searching on net, i didn't got any good code to be used with arduino uno so that i can run my own codes for simple task like on and off or cut-off pulse detection etc.
Can anybody help me out for how to use IR Leds black and white without TSOP 17xx ?
if i connect TSOP (3 PIN 1: Ground, 2: 5V, 3: Output) it catches signals but when i give output pin to analogread to pin A0 or arduino, it is not reading anything !!!.