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
Servo mit zwei Tasten steuern
24.11.2013, 12:18 (Dieser Beitrag wurde zuletzt bearbeitet: 24.11.2013 12:19 von Lothar.)
Beitrag #9
RE: Servo mit zwei Tasten steuern
Hallo ,
nachdem ich hier Hilfe erfahren habe, gebe ich meine Erfahrung weiter,
heute habe ich meine ATtinys 45 über ein Arduino UNO mit Leben erfolgreich beschrieben.
für den Sketch hab ich aus Tools- Bord den ATtiny 45 8 MHz gewählt.

Ablauf:
1 Sketch laden
2 Datei- Beispiel - Arduino ISP uploden
3 den ATtiny mit dem Arduino verbinden ( siehe http://www.sachsendreier.com/asw/clernen...asisp.html
4 Tools-Programme-Arduino as ISP
5 Tools. Bord- ATtiny 45 8 MHz clok
6 Tools- Bootloader installieren
7--Sketch Uploaden
nach Meldung UPload abgeschlossen, sollte der Tiny betriebsbereit sein.
so ist es bei mir .

Lothar

// Servo Hubert
//----------------------------------------------------------------------

// Der Taster muß den Pin auf Ground/Masse/Minus schalten,
/*** Atmega328 Konfiguration hier!!! ***/
/*
int tasterPin1 = 8; //Taster1 an Pin 8 angeschlossen
int tasterPin2 = 9; //Taster2 an Pin 9 angeschlossen
int Servo_Pin = 12; //Servo an Pin 12
*/
/*** Alternative 8-pinnige ATtiny45 Anschlusskonfiguration hier ***/
// von hier...
int tasterPin1 = 3; //Taster1 an IC Pin 2 PB3
int tasterPin2 = 4; //Taster2 an IC Pin 3 PB4
int Servo_Pin = 0; //Servo an IC Pin 5 PB0
// bis hier

int Stellung1 = 180; //ServoStellung 1 (Einstellbar zwischen Min 0° bis max.180° Winkel)
int Stellung2 = 0; //ServoStellung 2 (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 8) wird als INPUT definiert
pinMode(tasterPin2, INPUT); //tasterPin2 (Pin 9) wird als INPUT definiert
digitalWrite(tasterPin1,HIGH); // Interen Pullupwiderstand aktivieren
digitalWrite(tasterPin2,HIGH); // Interen Pullupwiderstand aktivieren
pinMode(Servo_Pin,OUTPUT);

Stellung_bisher=Stellung1; // Ruhestellung
}
//-------------------------------------------------------------
void loop()
{
if (digitalRead(tasterPin1) == LOW)
Servo_move(Servo_Pin, Stellung1);
if (digitalRead(tasterPin2) == LOW)
Servo_move(Servo_Pin, 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
12.02.2015, 13:56
Beitrag #10
RE: Servo mit zwei Tasten steuern
Hallo und Guten Tag,

Ich arbeite an einem ähnlichen Aufbau mit zwei Tastern und einem Servo. Ich habe zusätzlich via Fritzing einen kleinen Schaltplan angehängt.

Mein derzeitiges Problem ist, dass der Servo zwar noch links steuert, jedoch nicht in die andere Richtung. Ich vermute einen Fehler im Schaltplan und hoffe auf eure Hilfe.

Code:
Code:
#include <Servo.h>  

int taster = 7;
int taster2 = 6;
int tasterstatus, tasterstatus1;
Servo meinServo;

void setup()
{
pinMode(taster2, INPUT);
pinMode(taster, INPUT);
meinServo.attach(8);
}

void loop()
{
tasterstatus = digitalRead(taster);
tasterstatus1 = digitalRead(taster2);

if (tasterstatus == 1)
{
  meinServo.write(180);
  delay(3000);
}

if (tasterstatus1 == 1)
{
  meinServo.write(0);
  delay(3000);
}
delay(5000);
}

   

Zusätzlich kommt erschwerend hinzu, dass sobald ich einen Taster betätige sich der Arduino von Windows abmeldet und anschließend wieder anmeldet. (Plug and Play)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.02.2015, 18:13 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2015 18:15 von dqb312.)
Beitrag #11
RE: Servo mit zwei Tasten steuern
Hallo,

wenn der Arduino sich am Windows-Rechner bei Tastaturduck abmeldet, dürfte das Servo so viel Strom zu ziehen, dass die Versorgungsspannung des Arduinos zusammenbricht und er neu startet.
Das Servo am besten separat versorgen und nicht die gemeinsame Masse von Servoversorgung und Arduino vergessen.

Zum Testen kann auch ein extraschwaches Microservo verwendet werden, das schafft dann meist der Arduino / der USB-Port.

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.02.2015, 19:51
Beitrag #12
RE: Servo mit zwei Tasten steuern
Danke das ist ein guter Tipp, ist es vielleicht möglich, dass mir jemand hier im Forum diesbezüglich einen Schaltplan geben könnte, mit zwei Tastern und einem Servo. Dabei soll durch Betätigen eines Tasters nach links und beim anderen nach rechts gedreht werden. Ich bin mir bei meinem Schaltplan nicht sehr sicher.

Vielleicht hat der ein oder andere dies schon mal aufgebaut.

Das zu programmieren noch links oder rechts ist nicht sehr schwierig, ich tue mich nur sehr schwer was die Schaltung betrifft,
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.02.2015, 05:31
Beitrag #13
RE: Servo mit zwei Tasten steuern
Hallo,

die Schaltung ist nicht kompliziert.
- Arduino über USB an PC
- Servo + an Stromversorgung + (z.B. Empfängerbatterie 4 x AAA)
- Servo - an Arduino GND und - Stromversorgung (zusammenschalten!)
- Servo Signal an Pin 8
- Taster von GND an Pin 7
- Taster 1 von GND an Pin 6

mit
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
die internen Pullup-Widerstände anschalten,

dann noch im Sketch die Schalter auf 0 abfragen statt auf 1.

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.02.2015, 17:43
Beitrag #14
RE: Servo mit zwei Tasten steuern
Danke für die Antwort, es funktioniert leider noch nicht ganz. Ich habe zusätzlich nochmal eine Verkabelung angefügt, wäre schön, wenn dies Jemand prüfen könnte, außerdem habe ich den Code noch angefügt.

Danke für eure Hilfe !

   

CODE:

Code:
#include <Servo.h>  

int taster = 7;
int taster2 = 6;
int tasterstatus, tasterstatus1;
Servo meinServo;

void setup()
{
pinMode(taster2, INPUT);
pinMode(taster, INPUT);
meinServo.attach(8);
}

void loop()
{
digitalWrite(7, HIGH);
digitalWrite(6, HIGH);
tasterstatus = digitalRead(taster);
tasterstatus1 = digitalRead(taster2);

if (tasterstatus == 0)
{

}else {
  meinServo.write(180);
  delay(3000);
}

if (tasterstatus1 == 0)
{
}else {
  meinServo.write(180);
  delay(3000);
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.02.2015, 18:40 (Dieser Beitrag wurde zuletzt bearbeitet: 13.02.2015 19:08 von dqb312.)
Beitrag #15
RE: Servo mit zwei Tasten steuern
Hallo,

das Plus von der externen Versorgung muss nicht mit dem 5V des Arduino verbunden sein - sollte aber auch nicht schaden.

Die Ausgabe für den Servo muss zurück in die for-Schleife. Die Schalter schalten gegen Ground, daher die Prüfung des Eingangspins auf 0. Das Verschieben nach else ist nicht korrekt gewesen.

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.02.2015, 18:42
Beitrag #16
RE: Servo mit zwei Tasten steuern
Genau, es kann sich jetzt nur noch um ein Software Problem handeln, kannst du mir diesbezüglich noch auf die Sprünge helfen ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wagon-Entleerungsanlage mit dem Arduino steuern Enno62 4 695 14.08.2016 15:57
Letzter Beitrag: Bitklopfer
  Tasten eines E-Bike Controllers mit Arduino steuern skyflo 9 816 31.07.2016 16:35
Letzter Beitrag: hotsystems
  32 leistungsstarke LEDs mit Arduino steuern velophile 14 3.037 30.10.2015 16:33
Letzter Beitrag: hotsystems
  2 LEDs über serielle Schnittstelle steuern Bill 0 1.010 13.08.2015 16:04
Letzter Beitrag: Bill
  LED leuchte Dimmen und Steuern druch LDD-700HW ,Capsense und Arduino UNO abdelghani1 0 1.261 12.05.2015 23:29
Letzter Beitrag: abdelghani1
  Arduino Gimbal mit Servo Rareer 14 4.692 12.05.2015 14:02
Letzter Beitrag: Bitklopfer
Wink DSLR mit Arduino Nano steuern. Eichner 12 5.781 25.03.2015 17:27
Letzter Beitrag: Eichner
  Servo mit dem Arduino ansteuern hans-gander 2 2.762 23.03.2014 15:18
Letzter Beitrag: Bitklopfer
  Arduino mit controller Steuern hans123444 22 6.675 24.02.2014 18:53
Letzter Beitrag: Sloompie
  Servo steuern vom PC coctoroge 11 7.965 04.02.2014 19:49
Letzter Beitrag: Sloompie

Gehe zu:


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