Änderungen

KY-050 Ultraschallabstandssensor

1.729 Byte hinzugefügt, 13:08, 28. Apr. 2016
'''messbare Distanz''': 2cm—300cm '''Messauflösung''': 3mm
 
'''min. Zeit zwischen den Messungen''' 50µs
==Pin-Belegung==
[[Datei:4_G_S_T_V.png|none|450x235px]]
 
==Funktionsprinzip==
Dieses Modul zeigt auf, wie man mittels eines Ultraschalllautsprechers und eines Mikrofons den Abstand berührungslos zu einem Objekt messen kann. Das Prinzip basiert darauf, dass die Schallgeschwindigkeit in der Luft bei gleichbleibender Temperatur nahezu konstant bleibt - bei 20°C beträgt sie 343,2m/s.
 
 
Aus diesem Fakt kann man die Abstandsmessung in eine Zeitmessung überführen, welche dann von Mikrokontrollern einfach übernommen werden kann.
 
[[Datei:ky-050-Senden+Empfangen.jpg|530x415px|none]]
 
Im hier vorgestellten Sensormodul sendet der Ultraschalllautsprecher acht 40KHz Signale aus, welche dann von einem Gegenstand reflektiert und vom Mikrofon aufgenommen werden können. Ultraschall wird verwendet, da es sich außerhalb des Hörbereiches des menschlichen Gehörsinns befindet (grob 20Hz-22.000Hz). <br /><br />Das Aussenden des Ultraschallsignals wird gestartet, in dem am "Trigger Eingangs-Pin" ein 10µs langes Startsignal (ActiveHigh) empfangen wird. Nach dem Aussenden wird am "Echo Ausgang-Signal Pin" das Signal aktiviert (ActiveHigh). Wird nun am Mikrofon das reflektierte Signal wieder aufgenommen, so wird nach der Detektion das Echo-Signal wieder deaktiviert. Die Zeit zwischen der Aktivierung und der Deaktivierung des Echosignals kann gemessen und in den Abstand umgerechnet werden, da dies auch der Zeit entspricht, wie lang das Ultraschallsignal gebraucht hat um in der Luft die Strecke zwischen Lautsprecher->reflektierende Wand -> Mikrofon zu überwinden. Die Umrechnung erfolgt dann über die Annäherung einer konstanten Luftgeschwindigkeit - der Abstand ist dann folglich die Hälfte der zurückgelegten Strecke.
 
 
 
 
 
 
 
==Codebeispiel Arduino==
distance = duration/58.2;
if (distance >= maximumRange || distance <= minimumRange){// Yellow led indicated out of maximumRange. Prints “Out Of Range” to serial if target is outside maximumRange.Serial.println(“Out Of Range”);digitalWrite(LEDPinYellow, HIGH);digitalWrite(LEDPinGreen, LOW);
}
else {
Bürokrat, Administrator
611
Bearbeitungen