SharpIR.getDistance ();возвращая 0 - PullRequest
0 голосов
/ 14 марта 2019

Я работал над проектом, в котором я использую arduino для считывания значений, которые возвращает датчик sharpIR (GP2Y0A710K0F), и, если он находится в определенном диапазоне, включается светодиод.Когда я иду на тестирование, он читает только обратно 0. Когда я читаю только аналоговый вход, он дает мне около 350, и неважно, куда я его указал.Когда я переместил его позицию, он установил 0 и медленно поднялся до 350. Я проследил за проводкой из таблицы данных ( DataSheet ), и я использую библиотеку 2.0.1 sharp.

#include <SharpIR.h>
const int ledPinL = 13;
//const int ledPinR = 12;
#define IRL A1 
#define model 100550 
//#define IRR A0 
//SharpIR sharpR(IRR, model);
SharpIR sharpL(model, IRL);


void setup() {

 Serial.begin(9600);
 Serial.println("Sharp IR  ");
 pinMode(ledPinL, OUTPUT);
// pinMode(ledPinR, OUTPUT);

}

void loop() {
    delay(500);   

 long startTime=millis();  

  int disL = sharpL.getDistance(); 
//  int disR = sharpR.getDistance();

 if(100 <= disL && disL <= 100)
 {

 digitalWrite(ledPinL, HIGH);


 } else
 {

   digitalWrite(ledPinL, LOW);


 }
 /*
 if(100 <= disR && disR <= 550)
 {
   digitalWrite(ledPinR, HIGH);
 }
 else
 {
   digitalWrite(ledPinR, LOW);
 }
 */
  Serial.print("Mean distance L: "); 
  Serial.println(disL);
 // Serial.print("Mean Distance R: ");
 // Serial.println(disR);
 //long endTime=millis()-startTime; 
 //Serial.print("Time taken (ms): ");
 //Serial.println(endTime);

}

Я прокомментировал приличную сумму, потому что мне нужно внедрить второй датчик, но я должен заставить работать первый.

Я не уверен, почему он делает это так, любойобъяснения полезны.Если вам нужна дополнительная информация, пожалуйста, спросите.

...