2 Programme gleichzeitig auf Arduino Mega

Moin Miteinander ,ich habe hier ein Problem bei dem ich nicht weiter komme.Ich versuche mittlerweilen 2 Programme zu einem zusammen zu fassen. Dabei brauche ich in dem einem Programm eine Umschaltung zu einer anderen Ansteuerung die leider irgendwie einen versteckten Befehl ausführt die in dem nachfolgenden Programmteil das Servo auf Vollausschlag laufen lässt aber so kann ich es nicht gebrauchen da ich an dieser Stelle das Servo selber steuern möchte. Anbei sind die beiden Sketche die zusammengefaßt werden zu einem.
Mit freundlichem Gruß
Crazydiver

#include <Servo.h>
Servo myservo; //Servoobjekt anlegen

int potpin = A7;  //Potieingang
int val;
const int schalterPin =  12;     // die Nummer des Schalterpins
const int ledPin =  13;      // die Nummer des LEDpins
int schalterState = 0;         // Variable für das Lesen des Schalterstatus
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(schalterPin, INPUT); 
myservo.attach(A3); // Servoausgang

}
void loop() {
schalterState = digitalRead(schalterPin);
if (schalterState == HIGH) {
  digitalWrite(ledPin, HIGH);
  
 }
else {
  // turn LED off:
  digitalWrite(ledPin, LOW);  
val = analogRead(potpin);
val = map(val,0,1023,0,160);   
myservo.write(val);
delay(15);
}
}


int ch1;
#include <Servo.h>
Servo myservo1;

void setup() {
// put your setup code here, to run once:

pinMode(5, INPUT);
myservo1.attach(A3);
}

void loop() {
// put your main code here, to run repeatedly:
ch1 = pulseIn(5, HIGH, 25000);
ch1 = map(ch1,1030, 2003, 0, 180); //adjust the first receiver channel to the value of Servo-Library  //Anpassen der Pulsweitensignale auf die gebräuchlichen Servo-Library-Werte von 0 bis 180
 myservo1.write(ch1);
Serial.print("Channel 1:"); // Print the value of  //Gibt die Werte aller Kanäle nach einander im Serial Monitor wieder
Serial.println(ch1);         
delay(15); 
}

Crazydiver: Moin Miteinander ,ich habe hier ein Problem bei dem ich nicht weiter komme.Ich versuche mittlerweilen 2 Programme zu einem zusammen zu fassen. Dabei brauche ich in dem einem Programm eine Umschaltung zu einer anderen Ansteuerung die leider irgendwie einen versteckten Befehl ausführt die in dem nachfolgenden Programmteil das Servo auf Vollausschlag laufen lässt aber so kann ich es nicht gebrauchen da ich an dieser Stelle das Servo selber steuern möchte. Anbei sind die beiden Sketche die zusammengefaßt werden zu einem.

Warum kaperst du diesen uralten Thread ? Mach bitte mit deiner Frage einen neuen Thread auf und setze deinen Sketch in Code-Tags.

Kleiner Tipp vorweg. In einen Sketch darf es nur eine Loop geben, die musst du zusammenfassen.

Weiteres im neuen Thread.

Moin Faraday Member, als erstes ich bin erst seit ein paar Wochen Anhänger der Arduinocomm.das mit der loop weiß ich selbergenauso wie mit dem Setup.Das Problem ist wenn die Umschaltung erfolgt läuft das Servo auf einen Endanschlag und nimmt keine Befehle mehr an.

MfG Crazydiver

Wenn Du alles schon weißt, ...

Da wir alle nicht hellsehen können, wäre es schon sinnvoll, wenn Du uns Deinen Sketch zeigst und beschreibst, was Du erreichen willst.

Gruß Tommy

Crazydiver: ...das mit der loop weiß ich selbergenauso wie mit dem Setup...

Wenn du es so genau weißt, warum passt du es im Sketch nicht an?

Edit: Ist jetzt auch mein letzter Beitrag in diesem Thread.

Du scheinst doch nicht auf unsere Tipps zu reagieren.

  1. man schreibt icht an 4 jahre alten Diskussionen weiter
  2. man schreibt nicht ein neues Problem an einem alten dran
  3. verwende CODE TAGS (ikone <7> )

Ich habe die Diskussion geteilt.

Grüße Uwe

Du hast insgesamt 1 Servo oder zwei verschiedene? Wenn 1: willst du den über das Poti steuern? Dann brauchst du den 2. Teil nicht und bist schon fertig. Wenn nein, oder wenn es 2 Servosd sind:

ch1 = pulseIn(5, HIGH, 25000);
ch1 = map(ch1,1030, 2003, 0, 180);

Was für eine Bewandnis hat es mit deinem Pin 5 ? Nimm zwei verschiedene Variable für map Eingang und das Ergebnis und zeige dir die Werte an. Da wird vermutlich das passieren, was du nicht so gewollt, aber programmiert hast.