- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 13

Thema: Arduino Motor Steuerung Code

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Beiträge
    355
    Ich habe jetzt mal ein Programm geschrieben was das machen sollte was du möchtest

    So funktionierts:

    1) Der Arduino überprüft zuerst ob '+', '-' oder ',' gesendet wurde. --> Drehrichtung wird in die char-Variable "eingabe" geschrieben
    2) Nun wartet der Arduino auf die Eingabe der Geschwindigkeit --> Geschwindigkeit wird in integer-Variable "speed" geschrieben
    3) Der in "speed" gespeicherte Wert wird nun einfach in das PWM-Register des Timers geschrieben --> Motor wird auf die übergebene Geschwindigkeit eingestellt

    Code:
    char eingabe;
    int speed;
    
    void setup(){
        Serial.begin(9600);
        pinMode(11, OUTPUT);
        pinMode(10, OUTPUT);
        pinMode(9, OUTPUT); 
    }
    
    void loop(){
        if (Serial.available()){
            eingabe = Serial.read();
        }
        
        if (eingabe == '+'){ // zuerst überprüfen, ob vorwärts oder rückwarts gefahren werden soll
            if(Serial.available()){
                speed = Serial.read(); // nochmals auf eine Eingabe der Geschwindigkeit warten
                digitalWrite(10, LOW); //
                digitalWrite(9, HIGH); //
                analogWrite(11, speed); // Nun den eingegebenen Wert in das Timer PWM-Register schreiben = Geschwindigkeit regeln
                Serial.println("LINKS");
            }
        }
    
        if (eingabe == '-'){ // dasselbe für Rückwärtsfahrt
            if(Serial.available()){
                speed = Serial.read();
                digitalWrite(10, HIGH); //
                digitalWrite(9, LOW); //
                analogWrite(11, speed); //
                Serial.println("RECHTS");
            }
        }
        if (eingabe == ','){
            analogWrite(11, 0); //
            speed = 0;
            Serial.println("STOP");
            eingabe = 's';
        }
    }
    Hoffe so klappt es

    MfG

    Torrentula
    Geändert von Torrentula (06.08.2011 um 08:39 Uhr)
    MfG Torrentula

Ähnliche Themen

  1. ARDUINO ARDUINO l293D + MegaservoLib
    Von m1ch15inner im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 11.07.2011, 11:50
  2. Bascom code auf Arduino Board Flashen **Hilfe**
    Von KoaxPilot im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 13
    Letzter Beitrag: 23.06.2011, 09:14
  3. Motor Steuerung
    Von Sigi123 im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 7
    Letzter Beitrag: 28.10.2010, 19:01
  4. Arduino PWM Code
    Von Lota im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 20.12.2008, 09:03
  5. PIC µc-code - stepper motor
    Von im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 13.04.2005, 10:29

Berechtigungen

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

Solar Speicher und Akkus Tests