-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Programm unterbrechen durch Sensor?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    30
    Beiträge
    557

    Programm unterbrechen durch Sensor?

    Anzeige

    Hallo!
    Ich würde gerne einen CMY70 in meinen Bot bauen. Daher stellt sich für mich folgende Frage: Ist es möglich, im Programm an eine bestimmte Stelle zu springen, wenn der Analogwert des Sensors einen bestimmten Schwellwert überschreitet?

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.01.2005
    Beiträge
    208
    Natürlich gibt es Möglichkeiten, sogar mehrere........ist nur die Frage, wer schreibt das Programm wenn er sowas nicht weiß ?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    30
    Beiträge
    557
    Danke für deine Antwort. Ich lerne ja gerade noch, da könnte ich den einen oder anderen Tipp ganz gut gebrauchen. Könntest du mir vllt ein Stichwort oder soetwas geben, dann könnte mich schon mal in der Bascom Hilfe nachgucken...

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo Trabukh,

    ich bin auch nicht so der Experte, aber vielleicht kannst du was mit anfangen.
    Das Signal von deiner Lichtschranke über ein 7414, dann hast du eine
    saubere Schaltschwelle für deinen Prozi. Von dort auf einen freien Portpin. Entweder den Port immer abfragen und sehen, ob sich was geändert, wenn ja, zu deiner Routine springen.
    Oder du legst das Signal das vom 7414 kommt auf einen Interrupteingang (Datenblatt des Prozi, INT0, INT1), wenn das Signal anliegt springt der Prozi in die Interruptroutine (was dein Programm sein könnte).
    Auf diesem Wege würde ich es versuchen, vielleicht geht´s auch einfacher,aber für beide Varianten solltest du alles hier im Forum finden.
    Wenn gar nicht geht einfach noch mal posten.


    Gruss Frank

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    30
    Beiträge
    557
    Hallo!
    Danke für deine Antwort. Aber eine Frage hätte ich da doch noch. Wie kann man bei diesem Trigger die Schaltschwelle einstellen? Ich tue mich leider immer noch schwer mit den Datenblättern. Da sind nur 6 Eingänge, 6 Ausgänge, VCC und GND...

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.10.2004
    Ort
    PB
    Beiträge
    123
    Guten Morgen!

    Wozu den 7414? Soweit ich weiß hat jeder ATmega an jedem Digitalport einen Schmitttriger (mit zwei oder drei "t"?) eingbaut, sodass wenn zum Beispiel 4 Volt anliegen, das Signal auch als logische 1 gewertet wird.
    (siehe http://www.roboternetz.de/phpBB2/zei...schmitttrigger)

    Grüße,
    Jonas

    P.S.: Die Schaltschwelle kannst du auf diese Art und Weise natürlich nicht selbst bestimmen.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    51
    Beiträge
    298
    Oder den Sensor gleich an einen Analogeingang des µC und die Schaltschwelle per Software festlegen.
    Dabei kann man mittels eines zweiten Lichtsensors, der nur die Umgebungshelligkeit misst,
    eine unterschiedliche Umgebungsbeleuchtung kompensieren.
    D.h. ist es drinnen sehr hell ist die Schaltschwelle niedriger, bei Dunkelheit entsprechend höher.

    Gruß
    m.artmann

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Oder den Sensor gleich an einen Analogeingang des µC und die Schaltschwelle per Software festlegen.
    Wie geht das denn? Soweit ich weiß, gibt es für Analogeingänge nur 2 Interruptroutinene, eine wenn man den ADC auf free stellt. Dann wird nach jeder Wnadlung ein Interrupt ausgelöst und einen, der bei jeder Veränderung am ADC auslöst, was leider meißt ziemlich oft passiert. Kann man da eine Schwelle festlegen?

    MFG Moritz

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Ort
    München
    Alter
    51
    Beiträge
    298
    Von Interupt hat er doch nichts geschrieben.
    Ich dachte dabei eher daran dass er ganz normal seinen Sensor einliest
    und mit einer IF...THEN oder SELECT CASE...CASE Anweisung verzweigen soll.

    Sollte ich mich verlesen haben dann bitte ich um Entschuldigung.

    Gruß
    m.artmann

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Sollte ich mich verlesen haben dann bitte ich um Entschuldigung.
    Nein, geschrieben hat er das nciht, ich dachte nur, dass es der beste Weg wäre. Nichts für ungut. Hängt halt immer von der Programmlänge und der gewünschten Reaktionszeit ab, ob man IF bedingungen oder Interrupts verwendet.

    MFG Moritz

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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