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
Arduino Nano + 2 Elektromotoren + 2 Servos + 2 Ultraschallsensoren + IR Sensor
25.09.2020, 09:36
Beitrag #17
RE: Arduino Nano + 2 Elektromotoren + 2 Servos + 2 Ultraschallsensoren + IR Sensor
Motoren sind nicht mein Gebiet, da wissen Andere mehr.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.09.2020, 10:33
Beitrag #18
RE: Arduino Nano + 2 Elektromotoren + 2 Servos + 2 Ultraschallsensoren + IR Sensor
(25.09.2020 08:33)PurpleLightning schrieb:  ich weiß leider nicht was TO bedeutet. Und natürlich muss jeder selbst entscheiden, ob er mir helfen will/kann. Ich bin für jede Hilfe dankbar, habe aber das Gefühl nach deiner Aussage, dass dir etwas an meinem Forums-Verhalten nicht gefällt. Dann kläre mich bitte auf, ich bin neu bei Arduino, neu in diesem Forum und will hier niemandem vor den Kopf stoßen. Angel

TO heißt "Threadopener", in diesem Fall du.

Grundsätzlich ist es in den technischen Foren immer wichtig, alle möglichen Informationen zu liefern, auch die Sketche.

Meist liegt der Fehler in den nicht gezeigten "Teilen".
Das hast du ja durch Tommy auch festetllen können.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Gestern, 00:29
Beitrag #19
RE: Arduino Nano + 2 Elektromotoren + 2 Servos + 2 Ultraschallsensoren + IR Sensor
Ok, danke Dieter.

Ich habe jetzt noch einmal die H-Brücke ausgetauscht, die Servos weggelassen und das Arduino getauscht sowie alle Kabel getauscht... es kommt einfach nichts mehr beim zweiten Motor-Ausgang an, ich hab die Spannung gemessen und dort liegt einfach keine an in dem Moment wo eigentlich etwas kommen sollte. Am Motor 2 liegt es auch nicht, wenn ich diesen an die Ausgänge für Motor 1 anschließe funktioniert er.

Es macht also den Eindruck, als ob einfach über das Arduino kein Signal mehr an den Motor geschickt wird, obwohl das schon mal funktioniert hat...

Jetzt habe ich mal die "include Servo.h" herausgenommen und alle codzeilen, die die Servos betreffen, und da geht der Motor wieder...

Weiß jemand, ob die Servo-Linrary irgendwie an einen der Pins 5 - 10 etwas ändert? ich verstehe wirklich nicht, warum das den unterschied macht.

Aber immerhin hattet ihr recht, es liegt am Code ^^ Dieser sieht jetzt so aus (nur alle Servo-betreffende Zeilen aaskommentiert und die Änderungen von Tommy vorgenommen. Den "IRSpannung" gab es übrigens nur, weil in dem Beispiel, von dem ich kopier hatte, den Pin 12 als Spannungsversorgung des IR Moduls benutzt hatte.

Code:
// Gleichstrommotor 1

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

// Gleichstrommotor 2

int GSM2 = 5;
int in3 = 7;
int in4 = 6;

//Geschwindigkeit
int v = 150;


//IR Spannung
// int IRSpannung = 12;

//IR Werte
unsigned long vor = 5316027;
unsigned long rechts = 553536955;
unsigned long links = 1386468383;
unsigned long rueck = 2747854299;
unsigned long dauerhaft = 4294967295;
unsigned long eins = 2534850111;
unsigned long zwei = 1033561079;
unsigned long drei = 1635910171;

//IR Einstellungen

#include <IRremote.h>   // Das Programm greift an dieser Stelle auf eine „Library“ zurück. Das erleichtert einem viel Arbeit. Denn das Infrarotlicht wird mit einem Code verschlüsselt gesendet. Um diesen Code selber auszulesen und in passende Werte umzuwandeln, wären sehr viele Zeilen Code erforderlich.
//#include <Servo.h>

//Servos
//Servo servolinks;
//Servo servorechts;

//Infrarotsensor
int RECV_PIN = 11;  //  Der Kontakt der am Infrarotsensor die Daten ausgibt, wird mit Pin 11 des Arduinoboards verbunden.

IRrecv irrecv(RECV_PIN);   // An dieser Stelle wird ein Objekt definiert, dass den Infrarotsensor an Pin 11 ausliest.

decode_results results;  // Dieser Befehl sorgt dafür, dass die Daten, die per Infrarot eingelesen werden unter „results“ abgespeichert werden.

void setup()
{
  pinMode(GSM1, OUTPUT);  //Motor 1
  pinMode(GSM2, OUTPUT);  //Motor 2
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  //pinMode(IRSpannung, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  
  irrecv.enableIRIn();   //Dieser Befehl initialisiert den Infrarotempfänger.

  //servolinks.attach(2);
  //servorechts.attach(3);
}
void loop()
{
//servolinks.write(0);
//servorechts.write(180);
  
  //pinMode(IRSpannung, HIGH);
  if (irrecv.decode(&results)) {    //Wenn Daten empfangen wurden,

digitalWrite(LED_BUILTIN, HIGH);
delay(100);
digitalWrite(LED_BUILTIN, LOW);


if (results.value == eins){
//servolinks.write(90);
//servorechts.write(90);
//delay(200);
//servolinks.write(0);
//servorechts.write(180);
}
if (results.value == zwei){
v = 150;
}
if (results.value == drei){
v = 200;
}
  

if (results.value == vor){
vorwaerts(v, 2000);
}else if(results.value == rueck){
rueckwaerts(v, 2000);
}else if(results.value == rechts){
aufDerStelleDrehen(v, 'r', 1500);
}else if(results.value == links){
aufDerStelleDrehen(v, 'l', 1500);  
}else{
  stoppen;
}
irrecv.resume();  
}

}

void rueckwaerts(int v, int t){
analogWrite(GSM1, v);   // Motor 1 soll mit der Geschwindigkeit "v" (max. 255) rotieren
analogWrite(GSM2, v);   // Motor 1 soll mit der Geschwindigkeit "v" (max. 255) rotieren
  digitalWrite(in1, HIGH);  
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);  
  digitalWrite(in4, LOW);
  delay(t);
  digitalWrite(in1, LOW);  
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);  
  digitalWrite(in4, LOW);
}

void stoppen(){
  digitalWrite(in1, LOW);  
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);  
  digitalWrite(in4, LOW);
}

void vorwaerts(int v, int t){
analogWrite(GSM1, v);  
analogWrite(GSM2, v);    
  digitalWrite(in1, LOW);  
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);  
  digitalWrite(in4, HIGH);
  delay(t);
  digitalWrite(in1, LOW);  
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);  
  digitalWrite(in4, LOW);
}

void aufDerStelleDrehen(int v, char d, int t){ //Geschwindkigekt v, char links oder rechts 'r' oder 'l'. t ist die Zeit in ms, wie lange gedreht wird
  if (d == 'r') {
    analogWrite(GSM1, v);   // Geschwindkigekt ändern auf v bei beiden Motoren
    analogWrite(GSM2, v);   // Geschwindkigekt ändern auf v bei beiden Motoren  
  digitalWrite(in1, LOW);  // Motor 1 Ausschalten
  digitalWrite(in2, HIGH);
  digitalWrite(in3, HIGH);  // Motor 2 beginnt zu rotieren
  digitalWrite(in4, LOW);
  }
  if (d == 'l') {
    analogWrite(GSM1, v);  
    analogWrite(GSM2, v);  
  digitalWrite(in1, HIGH);  
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);  
  digitalWrite(in4, HIGH);
  }
  delay(t);
  digitalWrite(in1, LOW);  
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);  
  digitalWrite(in4, LOW);
}

Wäre aber super, wenn einer einen Tipp weiß wie ich die Servos trotzdem noch unter kriege.

Liebe Grüße,
PL
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Gestern, 12:21
Beitrag #20
RE: Arduino Nano + 2 Elektromotoren + 2 Servos + 2 Ultraschallsensoren + IR Sensor
Hallo zusammen,

Ich habe jetzt noch einmal schrittweise den Code wieder eingefügt, das Problem tritt auf ab den Zeilen

Code:
servolinks.attach(2);
  servorechts.attach(3);

Kann irgendwer sich einen Reim darauf machen? Ich hab ja definitiv nicht die Pins Doppelt belegt o.ä. ...

Liebe Grüße,
PL
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bodenfeuchte Sensor Norik 01 14 3.495 28.08.2020 14:31
Letzter Beitrag: Norik 01
Question Roboter 6 Servos - quittiert den Dienst bei Last PFALZOBOT 7 626 28.08.2020 10:55
Letzter Beitrag: hotsystems
  RX-LED am Nano abfragen Fiete11 19 1.831 20.08.2020 20:40
Letzter Beitrag: hotsystems
  Motorrad-Tacho (Nano) robust gegen Störungen machen SebastianM 10 1.907 04.08.2020 23:15
Letzter Beitrag: Chopp
  Outputs vom Nano Reinhard112 9 1.852 18.07.2020 19:31
Letzter Beitrag: hotsystems
  Arduino Mega 2560 vs Arduino DUE Batucada 24 10.601 11.07.2020 15:46
Letzter Beitrag: Tommy56
  Soil Moisture Sensor v1.2 koelschman 15 3.144 15.05.2020 11:10
Letzter Beitrag: koelschman
  Arduino Nano Funktioniert nicht? acca500 7 1.839 10.05.2020 10:22
Letzter Beitrag: hotsystems
  Nano nur mit CH340 USB ?? Franz54 23 4.971 18.04.2020 21:16
Letzter Beitrag: Franz54
  Nano und 12Volt für Weichensteuerung Jan99 2 1.221 13.04.2020 12:30
Letzter Beitrag: hotsystems

Gehe zu:


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