Ultraschall Entfernungsmessung mit Arduino Befehlen
Grove - Ultrasonic Modul
Abstände misst man meist mit dem Maßband, dieses lässt sich aber nur schwer an einen Arduino anschließen. Eine Alternative sind Sensormodule wie der Grove-Ultrasonic, welche die Länge einer Strecke per Ultraschall bestimmen können. Wie diese funktionieren, warum man dazu Zeit messen muss und wie sich die Sensoren mit Arduino verwenden lassen - das schauen wir uns an.
Stromversorgung
Die Stromversorgung erfolgt über den Merkurboard Programmer (USB-Seriel Wandler 3.3V). Dieser liefert genug Strom um den Sensor zu versorgen.
Datenanschluss
Stecke den Ultrasonic Ranger an Port D3 des Arduino Grove-Steckers an.
Funktionsweise
Code
/***************************************************************************/ // Function: Measure the distance to obstacles in front and print the distance // value to the serial terminal.The measured distance is from // the range 0 to 400cm(157 inches). // Hardware: Grove - Ultrasonic Ranger /*****************************************************************************/ extern "C" { #include "arduino-process.h" #include "rest-engine.h" #include "net/netstack.h" #include "Ultrasonic.h" extern resource_t res_battery, res_distance; #define LED_PIN 4 /* LED Pin */ } Ultrasonic ultrasonic(3); long RangeInInches; long RangeInCentimeters; void setup (void) { // switch off the led pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, HIGH); // init coap resourcen rest_init_engine (); #pragma GCC diagnostic ignored "-Wwrite-strings" rest_activate_resource (&res_battery, "s/battery"); rest_activate_resource (&res_distance, "s/distance"); #pragma GCC diagnostic pop printf("The distance to obstacles in front is: \n"); } void loop (void) { // RangeInInches = ultrasonic.MeasureInInches(); // printf(" %ld inch\n",RangeInInches); RangeInCentimeters = ultrasonic.MeasureInCentimeters(); // two measurements should keep an interval printf(" %ld cm\n",RangeInCentimeters);//0~400cm }
Hier findest du das Beispielprojekt auf Ardu-Contiki:
https://github.com/osdomotics/ardu-contiki/blob/master/examples/arduino-distance/sketch.pde
Material
- Grove-Ultrasonic Sensor https://www.iot-shop.at/products/seeed-studio-grove-ultraschall-entfernungssensor-v2-0
- Merkur Grove Board https://www.iot-shop.at/products/merkurboard-grove-4