Ich habe einen Motor der nach einem Signal 5 Sekunden rückwärts fahren soll

Ich habe einen Motor der nach einem Signal 5 Sekunden rückwärts fahren soll.
Code:

#include <NewPing.h>

const int TRIGGER_PIN = 13;
const int ECHO_PIN = 5;

int MAX_DISTANCE = 100; // bis 200cm Abstand messen

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int in1 = 9; // Pinnummer
int in2 = 8;
int GSM1 = 10;

void setup() {
pinMode (GSM1, OUTPUT);
pinMode (in1, OUTPUT);
pinMode (in2, OUTPUT);

}

//void stopp() {
// digitalWrite (in1, LOW);
// digitalWrite (in2, LOW); //code
//}

void loop() {
unsigned int cm = sonar.ping_cm();

if(cm > 5) //fahren
{
digitalWrite (in1, LOW);
digitalWrite (in2, HIGH);
analogWrite (GSM1, 100);
}

if (cm <= 5) //stopp
{
digitalWrite (in1, LOW);
digitalWrite (in2, LOW); //code
analogWrite(GSM1, 0);
}

}

You need to follow the forum guidelines when posting code. What is your problem and what is your question?

Sie müssen beim Posten von Code die Forenrichtlinien befolgen. Was ist Ihr Problem und was ist Ihre Frage?

Also, so wie @gilshultz geschrieben hat, am einfachsten in der IDE erst mall STRG(CTRL)+T drücken danach auf Bearbeiten Für Forum kopieren, und hier im Edit Fenster einfügen, schreib mall Kommentare zu den Funktionen keiner weis was du dir bei in1, GSM denkst :wink:
Ach ja

welchem Signal?

1 Like

Ok du benutzt ein Motortreiber :wink:
sowas schreibt man im Eingangspost.
Jetzt bleibt die frage nach dem Signal.

Ich rate mit:
Ultraschall.
Ist immer dumm, wenn "Fragesteller" keine Frage stellen und keine Informationen liefert.

1 Like

Da bietet sich an die Info sofort liefern nicht schreiben Signal, Ultraschal gibt keine Signale in dem Sine, oder hat sich was geändert?
Der ganzer eingangs Post ist für die Katz keine Angaben gar nichts, das ein Motortreiber wird benutzt gehört auch da rein.

OK ist Erste Post des TO aber trotzt dem.

Das ist Meine Meinung :wink: Deine darf selbstverständlich andere sein.

1 Like

Ich habe eine Libary für mein Ultraschall Sensor der auf der auf dem Digitalen Pin 5 ist.
Dann habe ich noch einen Motor Controler die Anschlüsse dafür sind auf digital Pin 9 und 8.
Wass ich will ist wenn die Ultraschall Sensoren näher als 5 cm zur Wand kommen dass dann der Motor 5 Sekunden rückwerts fahren soll.
Hier ist mein Code:


#include <NewPing.h>

const int TRIGGER_PIN = 13;
const int ECHO_PIN = 5;


int MAX_DISTANCE = 100;  // bis 200cm Abstand messen

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

int in1 = 9;  // Pinnummer
int in2 = 8;
int GSM1 = 10;


void setup() {
  pinMode(GSM1, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
}
  
//void stopp() {
//    digitalWrite (in1, LOW);
//    digitalWrite (in2, LOW); //code
//}

void loop() {
  unsigned int cm = sonar.ping_cm();

  if (cm > 5)  //fahren
  {
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    analogWrite(GSM1, 100);
  }


  if (cm <= 5)  //stopp
  {
    digitalWrite(in1, LOW);
    digitalWrite(in2, LOW);  //code
    analogWrite(GSM1, 0);
  }
}

Du darfst aber gern dazu schreieben, was bei dem Sketch funktioniert und was nicht funktioniert.
Oder dürfen wir das auch raten ?
Auch fehlen immer noch Angaben (Links) zu deinen verwendeten Teilen.
Was ist GSM1 ?

  digitalWrite(in1, LOW);
  if (cm > 5)  //fahren
  {
    digitalWrite(in2, HIGH);
    analogWrite(GSM1, 100);
  }
  else
  {
    digitalWrite(in2, LOW); 
    analogWrite(GSM1, 0);
  }

obwohl vermutlich dein Code ist falsch und es soll dann so aussehen:

  analogWrite(GSM1, 100);
  if (cm > 5) 
  {
    digitalWrite(in1, LOW);  //fahren vorwärts
    digitalWrite(in2, HIGH);
  }
  else
  {
    digitalWrite(in1, HIGH);   //rückwerts
    digitalWrite(in2, LOW);  
  }

Erst müssen wir wissen was für Motortreiber der nutzt nicht das ini1 ist für Motor 1 ini2 Motor 2. GSM ist für PWM .
Am Telefon schreiben ist Mist :pensive:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.