SHARP 2Y0A21 F 49

zugni
Offline
Зарегистрирован: 14.06.2015



// Arduino UNO
// Sharp GP2Y0A21 10-80cm
// Конвертирование получаемых данных с дальномера в сантиметры
// автор Fibber <a href="mailto:a.fedukin@gmail.com">a.fedukin@gmail.com</a>

int irPin = A0;
int currentDist = 0;
int distMetr = 0;

void setup()
{
  pinMode (irPin, INPUT);
  Serial.begin(9600);
}

void loop()
{
  currentDist = analogRead(irPin);           //данные с датчика
  int i = constrain(currentDist, 40, 650);   //ограничиваем диапазон выдаваемых значений
  int z = (6787/(i-3))-4;                    //невероятная формула (Интернет)
  int distMetr = constrain(z, 10, 80);       //задаем ограничения по реальному диапазону
                                             //во избежании ошибочных данных
  
  Serial.println(distMetr);                  //вывод на экран для наглядности

  
 delay(500);
}

 

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

смысл поста в чём?

zugni
Offline
Зарегистрирован: 14.06.2015

с моим датчиком( , он не видет припятствия почемуто подсскажите плиз, показания проверяла там все норм

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Читайте просто как обычный аналоговый вход. Показания именяются?

После 18-ой строки вставьте:

Serial.print(currentDist);
Serial.print("         ");