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
Hilfe; Servos über schalter steuern???
30.12.2013, 20:18
Beitrag #9
RE: Hilfe; Servos über schalter steuern???
ok, hab fast den ganzen tag gegoogelt. 1 Kippschalter könnte ich anschlissen mit digital in, gnd und strom. Aber wie Schliesse ich mehrere Schalter an? Das gerät hat ja 13 Digital in, aber ich sehe nur 2x GND ( oben und unten ) und nur 1x Strom an der Power leiste?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.04.2015, 09:49
Beitrag #10
RE: Hilfe; Servos über schalter steuern???
Ich habe mal den bestehenden Code für 4 Servos geändert und auf einen Arduino uno getestet.



#include <Servo.h>

Servo myservo;

// Der Taster muß den Pin auf Ground/Masse/Minus schalten,
/*** Atmega328 Konfiguration hier!!! ***/
/*

/*** Alternative 8-pinnige ATtiny45 Anschlusskonfiguration hier ***/
// von hier...
int tasterPin1 = 2;
int tasterPin2 = 3;
int tasterPin3 = 4;
int tasterPin4 = 5;
int tasterPin5 = 6;
int tasterPin6 = 7;
int tasterPin7 = 8;
int tasterPin8 = 9;
int Servo_Pin1 = 10;
int Servo_Pin2 = 11;
int Servo_Pin3 = 12;
int Servo_Pin4 = 13;
int Stellung1 = 180; //ServoStellung 1 auf 180°(Einstellbar zwischen Min 0° bis max.180° Winkel)
int Stellung2 = 0; //ServoStellung 2 auf 180°(Einstellbar zwischen Min 0° bis max.180° Winkel)
int Stellung3 = 90; // ServoStellung 3 auf 90°(Einstellbar zwischen Min 0° bis max.180° Winkel)
int Stellung4 = 0; // ServoStellung 4 auf 0°(Einstellbar zwischen Min 0° bis max.180° Winkel)
int Stellung_bisher; // Für Vergleich
const int Warten = 19; // 19 MilliSekunden Warten nach Stellschritt. Nicht verändern!
void Servo_move(int servo,int Stellung_Neu);
//-------------------------------------------------------------
void setup()
{
pinMode(tasterPin1, INPUT); //tasterPin1 (Pin 2) wird als Eingang definiert
pinMode(tasterPin2, INPUT); //tasterPin2 (Pin 3) wird als Eingang definiert
pinMode(tasterPin3, INPUT); //tasterPin3 (Pin 4) wird als Eingang definiert
pinMode(tasterPin4, INPUT); //tasterPin4 (Pin 5) wird als Eingang definiert
pinMode(tasterPin5, INPUT); //tasterPin5 (Pin 6) wird als Eingang definiert
pinMode(tasterPin6, INPUT); //tasterPin6 (Pin 7) wird als Eingang definiert
pinMode(tasterPin7, INPUT); //tasterPin7 (Pin 8) wird als Eingang definiert
pinMode(tasterPin8, INPUT); //tasterPin8 (Pin 9) wird als Eingang definiert
digitalWrite(tasterPin1,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin2,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin3,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin4,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin5,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin6,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin7,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin8,HIGH); // Interen Pullupwiderstand aktivieren
pinMode(Servo_Pin1,OUTPUT); // Pin als Ausgang deffinieren
pinMode(Servo_Pin2,OUTPUT); // Pin als Ausgang deffinieren
pinMode(Servo_Pin3,OUTPUT); // Pin als Ausgang deffinieren
pinMode(Servo_Pin4,OUTPUT); // Pin als Ausgang deffinieren
Stellung_bisher=Stellung1; // Ruhestellung
}
//-------------------------------------------------------------
void loop()
{
if (digitalRead(tasterPin1) == LOW)
Servo_move(Servo_Pin1, Stellung3);
if (digitalRead(tasterPin2) == LOW)
Servo_move(Servo_Pin1, Stellung4);
delay(20);
if (digitalRead(tasterPin3) == LOW)
Servo_move(Servo_Pin2, Stellung1);
if (digitalRead(tasterPin4) == LOW)
Servo_move(Servo_Pin2, Stellung2);
delay(20);
if (digitalRead(tasterPin5) == LOW)
Servo_move(Servo_Pin3, Stellung1);
if (digitalRead(tasterPin6) == LOW)
Servo_move(Servo_Pin3, Stellung2);
delay(20);
if (digitalRead(tasterPin7) == LOW)
Servo_move(Servo_Pin4, Stellung1);
if (digitalRead(tasterPin8) == LOW)
Servo_move(Servo_Pin4, Stellung2);
delay(20);
}

//-------------------------------------------------------------
/*** Ab hier nichts ändern, bestimmt das Timingverhalten!!! ***/
void Servo_move(int servo,int Stellung_neu){
int Schritt;
if (Stellung_neu == Stellung_bisher) return;
Schritt = (Stellung_neu > Stellung_bisher) ? 1 : -1;
while(Stellung_bisher != Stellung_neu){
Stellung_bisher+=Schritt;
// Servo stellen
digitalWrite(servo,HIGH);
delayMicroseconds((Stellung_bisher * 10)+500);
digitalWrite(servo,LOW);
delay(Warten);
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Sketch über HC-06 Wireless auf Arduino ? b3ta 7 153 24.03.2017 20:34
Letzter Beitrag: b3ta
  Arduino Uno R3, servos reagieren nicht auf die Befehle Crossedsticks 5 252 22.02.2017 22:42
Letzter Beitrag: Binatone
  Hilfe für einen GPS gestützten Quadrocopter TeamQuadro 14 800 07.02.2017 20:17
Letzter Beitrag: TeamQuadro
  Android Smartphone über Bluetooth steuern StephanBuerger 0 220 25.11.2016 20:01
Letzter Beitrag: StephanBuerger
  Hilfe 433MHz Empfänger OLDARDUINO 12 648 16.11.2016 09:55
Letzter Beitrag: hotsystems
  Software Schalter cuteemo 11 512 26.10.2016 07:17
Letzter Beitrag: Binatone
  Hilfe, ist der bmp280 defekt? reimundko 5 835 12.09.2016 18:49
Letzter Beitrag: ardu_arne
  Hilfe bei IR Lichtschranke cb_baer 55 26.894 02.09.2016 14:37
Letzter Beitrag: Sarlochin
  Bitte un Hilfe 3ddrucker 3 309 18.08.2016 16:24
Letzter Beitrag: Binatone
Star Bitte um hilfe bei Aurel Empfänger & Sender Mischa 3 616 08.06.2016 15:26
Letzter Beitrag: hotsystems

Gehe zu:


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