Moin Miteinander, sobald ich die Teile werde ich es erstmal beim Mega 2560 ausprobieren.Für den Fall das es dann funktioniert wird es dann auf den Nano gelegt.Anbei stelle ich noch den 2 x 8 servosketch hier rein.
MfG
Crazydiver
PS: Der läuft bisher auf einem Mega 2560
/*Dieser Umschalter geht maximal nur fuer 8 Servos da pro Kanal 3 Anschluesse gebraucht werden
*/
int ch1;
int ch2;
int ch3;
int ch4;
int ch5;
int ch6;
int ch7;
int ch8;
#include <Servo.h>
int umschalterPin = 2; // umschalten zwischen a und b an Pin 2 angeschlossen
int umschalten = 0;
Servo myservo;
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
Servo myservo6;
Servo myservo7;
Servo myservo8;
Servo myservo9;
Servo myservo10;
Servo myservo11;
Servo myservo12;
Servo myservo13;
Servo myservo14;
Servo myservo15;
const int LED1 = 13;
void setup () {
pinMode(LED1,OUTPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
pinMode(44,INPUT);
pinMode(45,INPUT);
pinMode(46,INPUT);
myservo.attach(A0);
myservo1.attach(A1);
myservo2.attach(A2);
myservo3.attach(A3);
myservo4.attach(A4);
myservo5.attach(A5);
myservo6.attach(A6);
myservo7.attach(A7);
myservo8.attach(A8);
myservo9.attach(A9);
myservo10.attach(22);
myservo11.attach(23);
myservo12.attach(25);
myservo13.attach(27);
myservo14.attach(29);
myservo15.attach(4);
}
void loop(){
umschalten = digitalRead(umschalterPin);
if (umschalten == LOW){
digitalWrite(LED1,LOW);
ch1 = pulseIn(5, HIGH, 25000);
ch2 = pulseIn(6, HIGH, 25000);
ch3 = pulseIn(7, HIGH, 25000);
ch4 = pulseIn(8, HIGH, 25000);
ch5 = pulseIn(9, HIGH, 25000);
ch6 = pulseIn(44, HIGH, 25000);
ch7 = pulseIn(46, HIGH, 25000);
ch8 = pulseIn(45, HIGH, 25000);
ch1 = map(ch1,1030,2003,0,170);
myservo.write(ch1);
ch2 = map(ch2,1030,2003,0,170);
myservo1.write(ch2);
ch3 = map(ch3,1030,2003,0,170);
myservo2.write(ch3);
ch4 = map(ch4,1030,2003,0,170);
myservo3.write(ch4);
ch5 = map(ch5,1030,2003,0,170);
myservo4.write(ch5);
ch6 = map(ch6,1030,2003,0,170);
myservo5.write(ch6);
ch7 = map(ch7,1030,2003,0,170);
myservo6.write(ch7);
ch8 = map(ch8,1030,2003,0,170);
myservo7.write(ch8);
}
else if (umschalten == HIGH){
digitalWrite(LED1,HIGH);
ch1 = pulseIn(5, HIGH, 25000);
ch2 = pulseIn(6, HIGH, 25000);
ch3 = pulseIn(7, HIGH, 25000);
ch4 = pulseIn(8, HIGH, 25000);
ch5 = pulseIn(9, HIGH, 25000);
ch6 = pulseIn(44, HIGH, 25000);
ch7 = pulseIn(46, HIGH, 25000);
ch8 = pulseIn(45, HIGH, 25000);
ch1 = map(ch1,1030,2003,0,170);
myservo8.write(ch1);
ch2 = map(ch2,1030,2003,0,170);
myservo9.write(ch2);
ch3 = map(ch3,1030,2003,0,170);
myservo10.write(ch3);
ch4 = map(ch4,1030,2003,0,170);
myservo11.write(ch4);
ch5 = map(ch5,1030,2003,0,170);
myservo12.write(ch5);
ch6 = map(ch6,1030,2003,0,170);
myservo13.write(ch6);
ch7 = map(ch7,1030,2003,0,170);
myservo14.write(ch7);
ch8 = map(ch8,1030,2003,0,170);
myservo15.write(ch8);
delay(100);
}}