- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 8 von 8

Thema: Dritte Farbe für Bodensensor

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165

    Dritte Farbe für Bodensensor

    Anzeige

    Powerstation Test
    Hallo
    Das ist mein Programm für meinen Crash Bobby wo er einer Linie folgt.


    #include "qfixBobbyBoard.h"


    const int SENSOR = 3;

    BobbyBoard bobby;


    int main()
    {
    // wait for the first button, then get value for white //
    bobby.ledOn(0);
    bobby.waitForButton(0);
    int value1=bobby.analog(SENSOR);
    bobby.ledOff(0);

    // wait for the second button, then get value for black //
    bobby.ledOn(1);
    bobby.waitForButton(1);
    int value2=bobby.analog(SENSOR);
    bobby.ledOff(1);

    int threashold = int((value1+value2)*0.55);

    // wait for the third button to start //
    bobby.ledOn(2);
    bobby.waitForButton(2);
    bobby.ledOff(2);

    // turn on first LED and then run ... //
    bobby.ledOn(0);
    while (true) {

    // on line //
    if (bobby.analog(SENSOR) > threashold) {
    bobby.motor(0, -180);
    bobby.motor(1, 10);
    }

    // not on line //
    else {
    bobby.motor(0, -10);
    bobby.motor(1, 180);
    }

    if (bobby.button(0)) {
    bobby.motor(0, 0);
    bobby.motor(1, 0);
    bobby.ledOff(0);
    bobby.ledOn(1);
    bobby.waitForButton(1);
    bobby.ledOff(1);
    bobby.ledOn(0);
    }
    }
    }



    Hättet ihr eine Idee wie ich ihm beibrigen könnte dass er auch auf Grau reagiert? Also zum Beispiel " halte bei Grau immer an ".

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    01.12.2004
    Ort
    Buxtehude
    Beiträge
    70
    Hallo palermo,
    dein Sensor kann keine Farben, sondern nur Grauwerte unterscheiden, diesen Wert liest du in deinem Programm mit bobby.analog(SENSOR) aus.
    Um Schwarz und Weiß zu unterscheiden hattest du einen Mittelwert ermittelt.
    Dieser Wert , den du in der Varialblen -threashold- gespeichert hast entspricht einem Mittelgrau. Wenn sich dein Sensor nun genau an der Grenze zwischen Schwarz und weiß befindet wird wird dieser Wert gemessen, ebenso, wie auf einer grauen Fläche. Der einzige Unterschied besteht darin, dass eine Messung kurze Zeit später einen anderen Wert ergibt, wenn sich der sensor auf der Line befindet.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Danke
    also um Grau zu erkennen muss ich
    if (bobby.analog(SENSOR) = threashold) {
    eingeben?
    Muss ich morgen mal ausprobieren - habe gerade Besuch...........
    Danke dass du mir geantwortet hast \/

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hab Qfix ne Mail geschickt und da hab ich diese Frage gleich angehängt.
    Funktioniert wunderbar.

    Wens interressiert hier die Antwort:

    > Kann man bei dem Linien-Sensor noch eine dritte Variable einstellen
    > (z.B. Grau)? Wie programmiert man dann die Variable int threashold?
    > Ist *0.55 der Schwellenwert zwischen value1 und value2 (value3)?

    Ja, eigentlich berechnet man den Mittelwert von zwei Werten ja durch
    0.5*(Wert1 + Wert2), aber wir hatten mit 0.55 etwas bessere Erfahrungen
    gemacht.
    Wenn man noch Grau will, muss man zwei Threashholds (bedeutet Schwelle)
    nehmen, also z.B. bis 0.3*(Wert1+Wert2) ist Weiss, über
    0.7*(Wert1+Wert2) ist Schwarz und dazwischen ist Grau.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    "also um Grau zu erkennen muss ich
    if (bobby.analog(SENSOR) = threashold) {
    eingeben?"

    Dass hatte zwar auch irgendwie funktioniert aber war nich so zuverlässig.

    trotzdem Danke Weja

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447
    Da must du auch wieder mit value denn wert einlesen.

    Gruß skg-rob



    Für weitere details benachrichtige mich bitte
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.05.2006
    Ort
    Hamburg
    Beiträge
    165
    Hallo
    Danke für die Antwort aber bei mir klappt das auch schon länger.
    Hast du jetzt auch einen Crash Bobby? Ich meine nur weil du auf praktisch alle Crash BObby Themen plötzlich geantwortest hast.
    mfg palermo

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447
    Ja
    Ich habe einen Crash Bobby
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

Berechtigungen

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

Solar Speicher und Akkus Tests