-
        

Ergebnis 1 bis 8 von 8

Thema: Wie funktioniert Arduino Ultraschalll library?

  1. #1

    Wie funktioniert Arduino Ultraschalll library?

    Anzeige

    Hallo an alle Anwesenden,
    ich will (für eine Roboter) bis zu 8 Ultraschall Sensoren an eine Arduino mega anschließen und will dafür natürlich eine library verwenden.
    Ich habe nun diese hier:

    http://blog.iteadstudio.com/arduino-...odule-hc-sr04/

    ich verstehe aber nicht wie sie funktioniert.
    Ich will einfach nur mit einem Methodenaufruf die entfernung in cm bekommen. (Davor natürlich noch objekt davon erstellen).
    Muss ich jetzt die Methode Timing() oder die Methode Ranging() aufrufen?

    kann ich vielleicht in die Methode Timing unten einfügen:

    distacne_cm = duration /29 / 2 ;
    return distacne_cm;


    und dann die Methode Ranging löschen und alles in der h. Datei anpassen?



    Danke für jede Hilfe,

    RoboterSindCool

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.08.2011
    Ort
    Hannover
    Beiträge
    164
    Moin,

    in der Doku, die Du angegeben hast, steht's doch: TIMING () gibt die Zeit zurück, RANGING () die Entfernung in cm oder Inch. Aber warum überhaupt den Overhead einer Library. Guckst Du hier: http://randomnerdtutorials.com/compl...ensor-hc-sr04/. Ein paar Aufrufe, die Du bequem in eine Funktion packen kannst.

    viele Grüße
    Andreas
    #define true ('/'/'/')
    #define false ('-'-'-')

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Bei der 'NewPing'-Bibliothek ist ein Beispiel mit 15 US-Sensoren dabei.

  4. #4
    Also gut: Danke schön an Sisor und danimath.
    Ich habe es nun verstanden, ich habe einfach nur übersehen, dass die Ranging Methode erst die Timing Methode aufruft. Ich habe es bis jetzt mit 4 hc-sr04 angeschlossen versucht und es hat wunderbar funktioniert.

    Danke

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    11.10.2013
    Beiträge
    10
    Du musst halt aufpassen, da die meisten Beispiele und auch die Library die Arduino Funktion pulseIn() ohne Timeout verwenden!
    Dann wird maximal 1 Sekunde gewartet, sollte mal nichts in Reichweite sein!
    Das kann dann bei 8 Sensoren ganz schön lange dauern!

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Zitat Zitat von Thie Beitrag anzeigen
    Du musst halt aufpassen, da die meisten Beispiele und auch die Library die Arduino Funktion pulseIn() ohne Timeout verwenden!
    Dann wird maximal 1 Sekunde gewartet, sollte mal nichts in Reichweite sein!
    Das kann dann bei 8 Sensoren ganz schön lange dauern!
    Bei NewPing-Lib:
    NewPing(uint8_t trigger_pin, uint8_t echo_pin, int max_cm_distance );
    Mit max_cm_distance kann man indirekt die maximale Echowartezeit bestimmen.
    Mal ne Rechnung: Bei 2m maximal zu Detektierenden Entfernung sind das

    2m / 340 m*s^-1 = 6ms.

    6ms * 2 = 12ms (Hinweg = Rückweg, Gesamtweg = 2 * Hinweg)
    Geändert von Sisor (27.03.2015 um 14:00 Uhr) Grund: Rechenfehler berichtigt!

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.431
    ... und wieder zurück macht 12ms.

    Man kann aber US-Sensoren, die in völlig verschiedene Richtungen zeigen (ohne Gefahr der Echo- und Reflex-Echo-Überlappung) auch unmittelbar nacheinander zum Senden triggern und dann gemeinsam auf ihre Echos warten lassen - das spart Wartezeit... 8-)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  8. #8
    Danke HaWe und Sisor

    ich habe die newPing library verwendet und es hat wunderbar funktioniert.
    Es spart tatsächlich zeit die MAXDISTANZ auf die wirklich benötigte distanz zu minimieren

    Vielen Dank an alle und an dieses Forum !!!

    RoboterSindCool

Ähnliche Themen

  1. CODE::BLOCKS Library finder funktioniert nicht
    Von anwantzer im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 15.03.2015, 15:21
  2. Antworten: 0
    Letzter Beitrag: 26.02.2014, 08:09
  3. RP6 und Arduino: I2C funktioniert nicht
    Von BattleBot im Forum Robby RP6
    Antworten: 7
    Letzter Beitrag: 16.02.2014, 16:35
  4. Arduino GPSR Library Code
    Von Marcus Honkisz im Forum Arduino -Plattform
    Antworten: 0
    Letzter Beitrag: 25.10.2012, 16:20
  5. Library installation.. aber wie?
    Von mtzE im Forum Asuro
    Antworten: 6
    Letzter Beitrag: 12.12.2010, 19:53

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •