GP2Y0E03 MESAFE SENSÖRÜ

Başlatan SB7, 10 Mayıs 2018, 01:55:30

SB7

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;
-SB7

SB7

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;
}
-SB7