Benutzer-Werkzeuge

Webseiten-Werkzeuge


distanz_sensor_sharp_2y0a_familie

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
distanz_sensor_sharp_2y0a_familie [2020/05/11 13:59] 192.168.1.57distanz_sensor_sharp_2y0a_familie [2022/01/09 14:41] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 9: Zeile 9:
 Based on the SHARP datasheet we can calculate the linear function:  Based on the SHARP datasheet we can calculate the linear function: 
 <code> y = 137500x + 1125 which gives us: 1 / ((Volt - 1125) / 137500) = distance_in_cm (For distance > 100cm) </code> <code> y = 137500x + 1125 which gives us: 1 / ((Volt - 1125) / 137500) = distance_in_cm (For distance > 100cm) </code>
 +
 +==== Python code ====
 +<code>
 +#!/usr/bin/python
 + 
 +import spidev
 + 
 +spi = spidev.SpiDev()
 +spi.open(0,0)
 + 
 + 
 +def readChannel(channel):
 +  val = spi.xfer2([1,(8+channel)<<4,0])
 +  data = ((val[1]&3) << 8) + val[2]
 +  return data
 +  
 +if __name__ == "__main__":
 +  v=(readChannel(0)/1023.0)*3.3
 +  dist = 16.2537 * v**4 - 129.893 * v**3 + 382.268 * v**2 - 512.611 * v + 301.439
 +  print "Distanz: %.2f cm" % dist
 +</code>
  
 ===== Sharp 2Y0A21YK 10-80cm ===== ===== Sharp 2Y0A21YK 10-80cm =====
distanz_sensor_sharp_2y0a_familie.1589198368.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki