Ultraschall-Entfernungsmesser mit Einzelwandler [geschlossen]

Ich möchte einen Ultraschall-Entfernungsmesser mit einem einzigen Wandler bauen. Der Grund für nur einen Wandler ist, dass ich nur begrenzt Platz für das habe, was ich erfasse. Ich habe den Ultraschallsensor EZ01 gekauft und er funktioniert gut, aber ich muss jetzt meinen eigenen mit einem wasserdichten Wandler machen. Ich habe den Wandler mit 40 kHz, muss aber die anderen Komponenten zusammen mit meinem Arduino zusammenstellen. Ich frage mich, ob jemand Erfahrung damit hat und mich auf einen Schaltplan oder Informationen zur Verkabelung verweisen und den einen Wandler als Sender und Empfänger verwenden kann.

Klingt nach einem netten Projekt - haben Sie eine Idee, welche Methode im EZ01 verwendet wurde, um die Reichweite zu messen? Es könnte einen Radar-Ping verwenden und den Wandler schnell auf einen Empfänger umschalten und einen zurückkommenden Ping erkennen. Oder kann es sich um eine Dauerstrichschaltung mit einer empfindlichen Schaltung handeln, die Reflexionen von Ausgangssignalen unterscheidet?
Dies ist machbar, aber Sie sind auf den minimalen Bereich beschränkt, den Sie erkennen können. Die keramischen Wandler klingen für eine Weile (offensichtlich bei der Resonanzfrequenz). Das Polaroid SX-70 verwendete einen einzigen elektrostatischen Wandler für die Sonarentfernung (Autofokus).

Antworten (1)

Wie macht man einen Entfernungssensor mit einem Wandler:

Datenblatt

Wie Sie dem EZ01-Datenblatt entnehmen können, ist beides möglich. Es ist die gleiche Pinbelegung wie mein MB7380-Sensor:

Gleiche Pinbelegung


Wie macht man elektronische Sensoren wasserdicht?

→ Silikon-Schrumpfschlauch und wasserdichtes Epoxid

Es gibt 13 $ wasserdichte Ultraschallsensoren bei eBay (15 $ bei Amazon). Wie Chris Stratton sagt, ist der EZ01 nicht für den Einsatz in aquatischen Umgebungen ausgelegt. Immerhin ist Wasser 850-mal dichter als Luft.


C

unsigned long startMillis;
unsigned long currentMillis;

const byte pinTX = 9; // trigger
const byte pinRX = 10; // echo

void setup() {
  startMillis = millis();  // initial start time

  pinMode(pinTX, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  currentMillis = millis(); // milliseconds since start

  // Reads & returns sound wave traveled in microseconds
  duration = pulseIn(echoPin, HIGH);

  // Calculate distance
  distance= duration*0.034/2;  // DO: Change this calculation...

  // From here it depends on how you want to output the data: datalogger, LCD screen, etc.
  // See https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/
}

// Function you probably don't need: 
void read(){ // for connecting to pin 4 on sensor
  int len, m;
  char testStr[] = "R012\r";   // <test> This version takes 1870 bytes
//  in = Serial.read(pinRX);
  len = strlen(testStr);        // <test>
//  len = strlen(in);
return m = atoi(&testStr[len - 3]);  // <test>
//  Serial.println(m);          // <test>
//  m = atoi(&in[len - 3]);     // measured TTL serial output converted

}
Sie können einen typischen In-Air-Ultraschallsensor einfach nicht wasserdicht machen, wenn er noch funktioniert, Sie müssen einen verwenden, der von Anfang an wasserdicht ist.
Vielleicht meint er wasserfest oder regenfest. Eine andere Möglichkeit besteht darin, das Pinout-Ende in eine Box zu stecken, wie ich sie zeige.