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
  Bose Wave Radio steuern bertramking 3 139 29.11.2017 23:40
Letzter Beitrag: hotsystems
Question Stromversorgung über Batterie Bombastino 2 530 28.07.2017 10:50
Letzter Beitrag: Gelegenheitsbastler
  Anfänger Frage - Arduino Schalter Fireman88 7 517 16.07.2017 16:27
Letzter Beitrag: hotsystems
  Servos und Led´s mit einem Board aber welches Lil-De 7 749 04.06.2017 16:53
Letzter Beitrag: Lil-De
  8 Eingänge 5-24 Volt über I2C Bus Reaktionszeit Franz54 0 435 01.05.2017 13:15
Letzter Beitrag: Franz54
  Touch Sensor als EIN-AUS Schalter HDT 15 1.449 23.04.2017 16:24
Letzter Beitrag: HDT
  Sketch über HC-06 Wireless auf Arduino ? b3ta 12 1.008 06.04.2017 14:47
Letzter Beitrag: Tommy56
  Newbee bräuchte Hilfe mit GT2560 board cRaZyT 4 1.307 05.04.2017 20:30
Letzter Beitrag: cRaZyT
  Arduino Uno R3, servos reagieren nicht auf die Befehle Crossedsticks 5 658 22.02.2017 22:42
Letzter Beitrag: Binatone
  Hilfe für einen GPS gestützten Quadrocopter TeamQuadro 14 1.451 07.02.2017 20:17
Letzter Beitrag: TeamQuadro

Gehe zu:


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