Я работал над проектом, в котором я использую 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);
}
Я прокомментировал приличную сумму, потому что мне нужно внедрить второй датчик, но я должен заставить работать первый.
Я не уверен, почему он делает это так, любойобъяснения полезны.Если вам нужна дополнительная информация, пожалуйста, спросите.