-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: servomotorbewegung zählen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2012
    Beiträge
    12

    Blinzeln servomotorbewegung zählen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    hallo,

    kann mir jemand helfen?!
    wir bauen gerade einen non-touch desinfektionsspender.die programmierung hierfür ist beinahe vollständig.unser problem: wir wollen dass ein licht leuchtet nachdem der servo motor sich 360x bewegt hat. gibt es hierfür eine möglichkeit?!

    schon im vorraus danke.=)

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Man bau an den Motor einen Kontakt, damit man die Umdrehungen zählen kann. Es gibt mehrere Möglichkeiten wie man die Umdrehungen zählen kann. Mechanischer Kontakt (eher schlecht), Hallschalter (ein Magnet wird an die Motorwelle montiert), Drehgeber (optisch oder Hall). Diese Impulse zählt man und schaltet dann z.B. das Licht ein.

    MfG Hannes

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2012
    Beiträge
    12
    danke aber dies wird uns nicht weiterhelfen,da sich unser motor nur 35° bewegt und dann wieder zurück dreht.wir wollen zählen wie oft die schleife durchlaufen wird.
    =)

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Dann ist es doch noch einfacher. Du zählst einfach wie oft die Schleife durchgeführt wird. Wenn die 360 erreicht sind kannst du den Zähler wieder auf 0 stellen (falls nötig).

    MfG Hannes

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2012
    Beiträge
    12
    genau das ist unser probelm =) wie lautet der befehl dafür die anzahl der durchlaufenen schleifen zu zählen????
    =)

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Die Glaskugel habe ich nicht bei mir. Du müsstest einmal schreiben was ist die Plattform (PC, welcher µC, welche SPS,....) und dann welche Programmiersprache du verwendest, welches Programmierprogramm.

    MfG Hannes

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2012
    Beiträge
    12
    also wir haben einen arduino duemilanove, proggramiersprache C++ glaub wenns des gibt =) ja am pc und wir sind nicht so die computer chegger aber wir kennen uns bisschen mit proggrammierung aus =)
    =)

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2012
    Beiträge
    12
    int helligkeit = 0; // variable helligkeit auf 0 setzen

    #include <Servo.h> //?
    Servo myservo1; // variablen der motoren
    Servo myservo2;

    int pos = 0; //variable zur bestimmung der position der Motoren
    int erster_start = 1;



    void setup()
    {
    pinMode(8, OUTPUT); //LED gelb anmelden
    Serial.begin(9600);

    myservo1.attach(9); //Motoren angemeldet
    myservo2.attach(10);
    }

    void loop()
    {
    digitalWrite(8, HIGH); // LED ein

    if(erster_start == 1)
    {
    myservo1.write(90); //motoren drehen sich auf ihre positionen -> voller Anschlag
    myservo2.write(0);
    delay(500); //warten
    erster_start = 0;
    }
    helligkeit = analogRead(0); //helligkeitswert wird eingelesen von lichtsenor und angepasst

    if(helligkeit > 150) //helligkeit muss höher als 500 sein dass Motoren sich bewegen
    {
    myservo1.write(55); //Herunterdrücken
    myservo2.write(35); //Herunterdrücken
    delay(1000); // Wartezeit, Servo muss in dieser Zeit ganz nach unten gekommen sein
    myservo1.write(90);
    myservo2.write(00);
    delay(1000);
    }

    also das ist unsere programmierung und die funktioniert auch =)

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.545
    Das du mit dem PC programmierst war relativ klar, da es nicht viele Systeme gibt die man ohne PC programmieren kann (z.B. einige ältere SPS). Mit Arduino kenne ich micht nicht so gut aus, aber wenn du das Programm postest könnte ich dir Vorschlagen wo du was hinschreiben kannst. Ob beim Arduino C, C++ oder beides verwendet wird weiß ich nicht. Als Erstes brauchst eine Zählvariable. Im Programm schreibst du dann nur z.B. i++; (i ist die Zählvariable) und es wird i um 1 erhöht. Man fragt dann einfach i ab und vergleicht es mit einer Vorgabe und führt die Dinge aus die man machen will wie z.B. Ausgänge setzen, löschen,... (z.B. if (i >= 360){} ).


    MfG Hannes
    Geändert von 021aet04 (07.06.2012 um 18:48 Uhr)

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2012
    Beiträge
    12
    ok soweit hab ich mir das auch schon gedacht aber ich muss doch irgendwo angeben dass i die schleifen zählen muss oder reicht das schon wenn ich

    int i=0
    in void setup angebe und später in void loop am ende

    if(i=360)
    digitelWrite(pin,HIGH)

    reagiert der dann darauf?!

    aber danke schon mal =))

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Hex Zählen
    Von Thom24 im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 03.10.2009, 21:30
  2. Takte zählen
    Von yaro im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 15.04.2009, 20:03
  3. Impulse zählen
    Von timmy83 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 22.10.2006, 13:54
  4. Hühner zählen?
    Von SeveQ im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 9
    Letzter Beitrag: 08.03.2006, 10:21
  5. Impulse Zählen
    Von Spion im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 3
    Letzter Beitrag: 18.09.2005, 00:43

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •