Meine Homepage

Arduino 8

29,08,2017 Was soll ich nur machen?
Der Sonntag hat mir echt viel Langeweile beschert und da komme auch ich auf sehr dumme Ideen.
Heute musste mein kleines H0e Bw daran glauben, es sind noch keine Tore eingebaut und die Steuerung war bislang nur in meinem Kopf.
Ich habe mir einen Arduino Nano mit Servoshield zusammen gebaut 6 Micor Servos daran angeschlossen und los kann es gehen.
Doch beim Programmieren bin ich immer wieder an eine Genze gekommen und was soll ich da noch schreiben der PIN13 war mein Untergang...das ist der einzige PIN  den ich mit Plus schalten muss, die anderen PINs sind am GRND angeschlossen und funktionieren gut?!?!?!!?!?

Die Vorgeschichte ist ich möchte einen Srevo mit zwei Tasten ansteuern und vorher eingegebene Stellwege anfahren und dort auch verweilen bis der andere Steuerbefhel vom zweiten Taster ein Signal an den Nano bringt.
Es wurden alle PINs die man DIGITAL betreiben kann im Programm angeschrieben. RX und TX benutze ich aus Technischen Gründen nicht, die werden nur zur Kommonikation benötigt!

HIER MAL DER SKETCH:
----------------------------------------------------------------
#include <Servo.h>

int tasterPin1 = 2; //Taster1 an Pin 2 angeschlossen
int tasterPin2 = 4; //Taster2 an Pin 4 angeschlossen
int tasterStatus1, tasterStatus2;
int tasterPin3 = 7; //Taster3 an Pin 7 angeschlossen
int tasterPin4 = 8; //Taster4 an Pin 8 angeschlossen
int tasterStatus3, tasterStatus4;
int tasterPin5 = 12; //Taster5 an Pin 12 angeschlossen
int tasterPin6 = 13; //Taster6 an Pin 13 angeschlossen
int tasterStatus5, tasterStatus6;
int tasterPin7 = 14; //Taster7 an Pin 14 angeschlossen
int tasterPin8 = 15; //Taster8 an Pin 15 angeschlossen
int tasterStatus7, tasterStatus8;
int tasterPin9 = 16; //Taster9 an Pin 16 angeschlossen
int tasterPin10 = 17; //Taster10 an Pin 17 angeschlossen
int tasterStatus9, tasterStatus10;
int tasterPin11 = 18; //Taster11 an Pin 18 angeschlossen
int tasterPin12 = 19; //Taster12 an Pin 19 angeschlossen
int tasterStatus11, tasterStatus12;

Servo meinServo;
Servo meinServo1;
Servo meinServo2;
Servo meinServo3;
Servo meinServo4;
Servo meinServo5;

void setup()
{
   
pinMode(tasterPin1, INPUT);
pinMode(tasterPin2, INPUT);
meinServo.attach(3); //Servomotor0 wurde an Pin 3 angeschlossen
pinMode(tasterPin3, INPUT);
pinMode(tasterPin4, INPUT);
meinServo1.attach(5); //Servomotor1 wurde an Pin 6 angeschlossen
pinMode(tasterPin5, INPUT);
pinMode(tasterPin6, INPUT);
meinServo2.attach(6); //Servomotor2 wurde an Pin 9 angeschlossen
pinMode(tasterPin7, INPUT);
pinMode(tasterPin8, INPUT);
meinServo3.attach(9); //Servomotor3 wurde an Pin 10 angeschlossen
pinMode(tasterPin9, INPUT);
pinMode(tasterPin10, INPUT);
meinServo4.attach(10); //Servomotor2 wurde an Pin 9 angeschlossen
pinMode(tasterPin11, INPUT);
pinMode(tasterPin12, INPUT);
meinServo5.attach(11); //Servomotor3 wurde an Pin 10 angeschlossen
digitalWrite(tasterPin1, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin2, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin3, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin4, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin5, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin6, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin7, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin8, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin9, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin10, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin11, true);  // pullup Wiederstand einschalten
digitalWrite(tasterPin12, true);  // pullup Wiederstand einschalten
}

void loop()
{
tasterStatus1 = digitalRead(tasterPin1);//servo0
tasterStatus2 = digitalRead(tasterPin2);

if (tasterStatus1 == 0)
{
meinServo.write(157); //Dreht nach links
delay(20);
}

if (tasterStatus2 == 0)
{
meinServo.write(0); //Dreht nach rechts
delay(20);
}

delay(10);
//servo2
tasterStatus3 = digitalRead(tasterPin3);//servo1
tasterStatus4 = digitalRead(tasterPin4);

if (tasterStatus3 == 0)
{
meinServo1.write(157); //Dreht nach links
delay(20);
}

if (tasterStatus4 == 0)
{
meinServo1.write(0); //Dreht nach rechts
delay(20);
}
tasterStatus5 = digitalRead(tasterPin5);//servo2
tasterStatus6 = digitalRead(tasterPin6);

if (tasterStatus5 == 0)
{
meinServo2.write(157); //Dreht nach links
delay(20);
}

if (!tasterStatus6 == 0)//muss leider auf 5V+ geschaltet werden!!!!!!
{
meinServo2.write(0); //Dreht nach rechts
delay(20);
}

delay(10);
//servo3
tasterStatus7 = digitalRead(tasterPin7);//servo3
tasterStatus8 = digitalRead(tasterPin8);

if (tasterStatus7 == 0)
{
meinServo3.write(157); //Dreht nach links
delay(20);
}

if (tasterStatus8 == 0)
{
meinServo3.write(0); //Dreht nach rechts
delay(20);
}

delay(10);
tasterStatus9 = digitalRead(tasterPin9);//servo4
tasterStatus10 = digitalRead(tasterPin10);

if (tasterStatus9 == 0)
{
meinServo4.write(157); //Dreht nach links
delay(20);
}

if (tasterStatus10 == 0)
{
meinServo4.write(0); //Dreht nach rechts
delay(20);
}
tasterStatus11 = digitalRead(tasterPin11);//servo5
tasterStatus12 = digitalRead(tasterPin12);

if (tasterStatus11 == 0)
{
meinServo5.write(157); //Dreht nach links
delay(20);
}

if (tasterStatus12 == 0)
{
meinServo5.write(0); //Dreht nach rechts
delay(20);
}
}

---------------------------------------------------------------------
Zurück zur Startseite



Diese Webseite wurde kostenlos mit Homepage-Baukasten.de erstellt. Willst du auch eine eigene Webseite?
Gratis anmelden