INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
kleiner Roboter
25.07.2016, 10:39
Beitrag #9
RE: kleiner Roboter
Der Sketch ist sehr unübersichtlich. Wink

Warum deklarierst du die analogen Eingänge nicht einheitlich (A0 und A2) ?
Wozu brauchst du "#include <IRremote.h>" ?
Du fragst SensorRechts ab und gibst es in Variable "signal2", siehst dir aber "signal1" im SerialMonitor an. Wozu das ?

Da ist noch vieles falsch.
Bitte bringe das noch in Ordnung und poste deinen Sketch neu, dann aber bitte in Codes-Tags, dazu Schaltfläche # verwenden.
Dann ist der Sketch besser lesbar und auch formatiert.

Vorschlag:
Du solltest deinen Sketch einfach aufbauen und mit einem Sensor usw. anfangen.
Wenn der funktioniert, diesen um den weiteren Sensor ergänzen.
Das ist sicher einfacher zur Fehlersuche.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.07.2016, 12:09
Beitrag #10
RE: kleiner Roboter
Danke für die Hilfe .......ich schreibe den Sketch neu und bitte Euch dann einfach nochmal drüberzuschauen...... ich schreibe das erstmal mit einem Sensor ..........
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.07.2016, 12:27
Beitrag #11
RE: kleiner Roboter
(25.07.2016 12:09)blichi schrieb:  Danke für die Hilfe .......ich schreibe den Sketch neu und bitte Euch dann einfach nochmal drüberzuschauen...... ich schreibe das erstmal mit einem Sensor ..........

Alles klar, wir schaun drüber.
Melde dich gern wieder.
Vergiss beim Posten nicht die Code-Tags zu verwenden.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.07.2016, 14:12
Beitrag #12
RE: kleiner Roboter
Hallo...........jetzt habe ich das Programm neu geschrieben .....die Linke LED reagiert gut , die rechte LED blinkt immer noch nicht ........schade ! hier ist nochmal mein Sketch ........
Code:
byte BlinkerRechts = 2;       // LED Rechts vorn wird geschaltet wenn Sensor rechts ein Hindernis erkennt
    int SensorRechts = A0;       // Sensor rechts vorn gesteckt an Arduino Pin A0  
     byte BlinkerLinks = 8;       // LED Links vorn wird geschaltet wenn Sensor Links ein Hindernis erkennt
    int SensorLinks = A2;       // Sensor Links vorn gesteckt an Arduino Pin A2  
    boolean value = LOW;                  // Startwert der LED
    unsigned long previousMillis = 0; // speichert wie viele Sekunden seit derletzten Änderung vergangen sind
    unsigned long interval = 400;    // Interval zwischen zwei Änderungen
    
    void setup()
    {
     Serial.begin (9600);
     pinMode (SensorRechts,INPUT);
     pinMode (BlinkerRechts,OUTPUT);
      pinMode (SensorLinks,INPUT);
     pinMode (BlinkerLinks,OUTPUT);
    }

    // ******** *Unterprogramme für die Sensoren ****************

    void SignalRechts(){
    SensorRechts=analogRead(SensorRechts);
    Serial.println(SensorRechts);
    if ( SensorRechts < 100) {
    RechteSeiteBlinken(); }
      
  
}

    void RechteSeiteBlinken() {
      if (millis() - previousMillis > interval) {
        previousMillis = millis();   // aktuelle Zeit abspeichern
                    value = !value;
                    digitalWrite(BlinkerRechts, value);
      }
                  
    }

     void SignalLinks(){
    SensorLinks=analogRead(SensorLinks);
    Serial.println(SensorLinks);
    if ( SensorLinks < 100) {
    LinkeSeiteBlinken(); }

     }

     void LinkeSeiteBlinken() {
      if (millis() - previousMillis > interval) {
        previousMillis = millis();   // aktuelle Zeit abspeichern
                    value = !value;
                    digitalWrite(BlinkerLinks, value);
      }
                  
    }
    
    void loop(){
      SignalRechts();
      SignalLinks();
    
    }
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.07.2016, 14:23
Beitrag #13
RE: kleiner Roboter
Das sieht schon besser aus.

Du musst aber für die Led jeweils eigene Variablennamen (previousMillis1, previousMillis2, interval1, interval2) nehmen.
Anders kommen die sich in die Quere.

Und du solltest für die Bezeichnung der Pins und Variablen eigene Namen verwenden. (SensorLinks=analogRead(SensorLinks)) dann kann man es besser auseinander halten.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.07.2016, 10:04
Beitrag #14
RE: kleiner Roboter
Hallo...............ich habe jetzt meine Sketch angepasst und die Variablen eingetragen.......dennoch scheint es so als ob die beiden Sensoren gleichzeitig auf beide LED zugreifen.........kann ich noch eine weitere Einstellung ändern.............

Code:
byte BlinkerRechts = 8;       // LED Rechts vorn wird geschaltet wenn Sensor rechts ein Hindernis erkennt
    int SensorRechts = A0;       // Sensor rechts vorn gesteckt an Arduino Pin A0  
     byte BlinkerLinks = 2;       // LED Links vorn wird geschaltet wenn Sensor Links ein Hindernis erkennt
    int SensorLinks = A2;       // Sensor Links vorn gesteckt an Arduino Pin A2  
    boolean value = LOW;                  // Startwert der LED
    unsigned long previousMillis1 = 0; // LED Rechts speichert wie viele Sekunden seit derletzten Änderung vergangen sind
    unsigned long interval1 = 300;    // LED RechtsInterval zwischen zwei Änderungen
    unsigned long previousMillis2 = 0; // LED Links speichert wie viele Sekunden seit derletzten Änderung vergangen sind
    unsigned long interval2 = 300;    // LED Links Interval zwischen zwei Änderungen
    
    void setup()
    {
     pinMode (SensorRechts,INPUT);
     pinMode (BlinkerRechts,OUTPUT);
     pinMode (SensorLinks,INPUT);
     pinMode (BlinkerLinks,OUTPUT);
    }

    // ******** *Unterprogramme für die Sensoren ****************

   void SignalRechts(){
   SensorRechts=analogRead(SensorRechts);
   Serial.println(SensorRechts);
  
   if ( SensorRechts < 100) {
   RechteSeiteBlinken(); }
    
   }
    void SignalLinks(){
    SensorLinks=analogRead(SensorLinks);
    Serial.println(SensorLinks);
    if ( SensorLinks < 100) {
    LinkeSeiteBlinken(); }
        
    }
    
    //********************Unterprogramm für die Blinker********************
    
      void RechteSeiteBlinken() {
      if (millis() - previousMillis1 > interval1) {
        previousMillis1 = millis();   // aktuelle Zeit abspeichern
                    value = !value;
                    digitalWrite(BlinkerRechts, value);
      }
                  
    }
     void LinkeSeiteBlinken() {
      if (millis() - previousMillis2 > interval2) {
        previousMillis2 = millis();   // aktuelle Zeit abspeichern
                    value = !value;
                    digitalWrite(BlinkerLinks, value);
      }
                  
    }
        
    
    void loop(){
     SignalLinks();
     SignalRechts();
    
    }
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.07.2016, 10:08
Beitrag #15
RE: kleiner Roboter
(26.07.2016 10:04)blichi schrieb:  Hallo...............ich habe jetzt meine Sketch angepasst und die Variablen eingetragen.......dennoch scheint es so als ob die beiden Sensoren gleichzeitig auf beide LED zugreifen.........kann ich noch eine weitere Einstellung ändern.............

Ja, obiges gilt für alle Variablen, auch für "value" !
Du musst drauf achten, keinen Variablennamen doppelt benutzen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.07.2016, 11:18
Beitrag #16
RE: kleiner Roboter
Ich hab das bisher so gemacht, das ich erstmal EINE Seite fertig gemacht habe, das alles läuft wie gewünscht, also wenn absehbar war, das letztendlich 2-5 mal das Gleiche zwischen Sensoren und Aktoren passieren soll.

Dann hab ich alle Variablen um "_a" verändert.
Sprich aus "Motor" wurde "Motor_A"

Beim Kompilieren und Hochladen werden dann schnell die Fehler sichtbar, die man gern mal übersieht.

Jetzt alle Deklarationen auf "_b" anstatt "_a" ändern.
Beim Prüfen sieht man jetzt das Meckern über die nicht deklarierten Vars.

Hier dann Cooy/Paste die jeweilige Zeile für "_B" einfügen.
Ist der Programmabschnitt in Ordnung, die Deklaration dafür für beide Varianten ergänzen.

Dann weiter bis zum Ende.

Auf diese Weise übersieht man nicht so leicht eine Variable, die sonst doppelt benutzt würde, was aber nicht auffällt, außer das das Programm nicht so agiert, wie man es gern hätte.

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Roboter-Bau Probleme blebbens 8 379 12.07.2016 07:35
Letzter Beitrag: Binatone
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 547 06.07.2016 14:59
Letzter Beitrag: Binatone
  Neo's Roboter Neoneo23 74 5.910 11.11.2015 21:18
Letzter Beitrag: Neoneo23
  SR-04 + UNO + 4WD Roboter, Abstandsfehler Marc2014 25 2.847 21.09.2014 21:42
Letzter Beitrag: Thorsten Pferdekämper
  Roboter J4Ng0 2 1.529 21.07.2013 15:49
Letzter Beitrag: Snake8811

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste