Selamlar
GP2Y0E03 adlı mesafe sensörü ile ölçüm yapmaya çalışıyorum.Sensör IR Ledden yansıyan ışığın alıcıya gelme açısına göre mesafeyi ölçüp analog/dijital çıkış veriyor.Ben analog çıkış ucundan 12 bitlik ADC ile mesafe ölçümü yapıyorum(STM32f103 kullanıyorum).0.55V-2.2V arası gerilim 50cm-4cm e karşılık geliyor.Sensör bazen doğru ölçüm yapıp mesafeyi gösterirken bazen çok alakasız değerler verip o değerleri tekrarlıyor.Örneğin 20cm lik mesafede sürekli 50cm göstermesi gibi.
Yazdığım kodda bu şekilde
deger=ADCConvertedValue;
if(deger>2730){ //2.2V
deger=2730;
}
if(deger<682){ //0.55V
deger=682;
}
mesafe=((deger-682)*(-46)/2048)+50;
Yazılımdaki değerleri de Arduino Map komutunun oranlama algoritmasıyla yaptım
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}