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
  Arduino Uno Rev 3 - Spannung über USB? AC_DC_new 7 571 04.03.2018 12:27
Letzter Beitrag: hotsystems
  Hilfe!!! bei 7-Segment Anzeige Markus2018 2 403 28.01.2018 16:40
Letzter Beitrag: Bitklopfer
Sad Ich brauche Hilfe bei einem Reaktionszeit Test polibär1997 15 931 24.01.2018 22:50
Letzter Beitrag: Bitklopfer
  Mehrere Servos gleich ansteuern? LoroLoco 2 598 12.01.2018 10:29
Letzter Beitrag: hotsystems
  Hilfe beim Einlesen eines Audio Signals Zipfel1 45 2.523 05.01.2018 14:17
Letzter Beitrag: Zipfel1
  Bose Wave Radio steuern bertramking 3 433 29.11.2017 23:40
Letzter Beitrag: hotsystems
Question Stromversorgung über Batterie Bombastino 2 993 28.07.2017 10:50
Letzter Beitrag: Gelegenheitsbastler
  Anfänger Frage - Arduino Schalter Fireman88 7 920 16.07.2017 16:27
Letzter Beitrag: hotsystems
  Servos und Led´s mit einem Board aber welches Lil-De 7 1.112 04.06.2017 16:53
Letzter Beitrag: Lil-De
  8 Eingänge 5-24 Volt über I2C Bus Reaktionszeit Franz54 0 657 01.05.2017 13:15
Letzter Beitrag: Franz54

Gehe zu:


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