- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 15

Thema: Drucktaster einbinden mit der OneButton Library

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von Ferdinand
    Registriert seit
    10.09.2004
    Ort
    Stuttgart
    Alter
    44
    Beiträge
    230
    ja du hattest recht es war was mit dem Taster nicht in Ordnung der hatte nicht den richtigen Kontakt typisch Steckbrett eben jetzt geht alles wie ich mir das vorstelle später kommt noch ein 3 * 7Segment anzeige für die Ausgabe in % hinzu
    hir mein aktueller code

    Code:
    /*
      Analog Input
    
     
    */
    #include "OneButton.h"
    
    #define MOTOR_1  A2
    #define MOTOR_2  A4
    #define POTI     A0
    #define PWM      9
    #define TASTER   5
    
    #define LED      3
    
    bool sto = 0;
    bool drehrichtung = 0;
    
    
    
    
    //void clickedIt();
    OneButton button(TASTER, true);
    //int poti = A0;    // select the input pin for the potentiometer
    
    int poti_Value = 0;  // variable to store the value coming from the sensor
    
    int poti_prozent = 0;
    bool sicherheit = 1;
    
    void setup() {
      
     Serial.begin(9600);
    
      pinMode(LED,OUTPUT);
      //pinMode(TASTER,INPUT_PULLUP);
      pinMode(MOTOR_1,OUTPUT);
      pinMode(MOTOR_2,OUTPUT);
      pinMode(PWM,OUTPUT);
      digitalWrite(LED, LOW); 
      poti_prozent = 4;
      // Sicherheitsschaltung Poti auf 0 und Motor Aus
      
    
      //pinMode(TASTER, INPUT);
      button.attachClick(clickedIt);
      button.attachDoubleClick(doubleClickedIt);
    
      
          while( poti_prozent >= 3 )
          {  
               Serial.println("Poti zu Hoch ! ! !");
               digitalWrite(MOTOR_1, HIGH);
               digitalWrite(MOTOR_2, HIGH);
               digitalWrite(LED, HIGH);
               delay(60); 
              poti_Value = analogRead(POTI);
              poti_prozent = map(poti_Value, 0,1023, 0,100);
               digitalWrite(LED, LOW);
               delay(60);
              
          }
    
            
    }
    bool Drehrichtung = true;
    
    void loop() {
     button.tick();
     stopp();
     if(drehrichtung == 1)
     {
        button.tick();
        drehrichtun();
     }
           
      //void clickedIt();
      
      int pwmSpeed;
    
      
      if(Drehrichtung == true)
      {
           button.tick();
           stopp();
     
     // LED Drehrichtung Rechts 
     digitalWrite(LED, LOW);
     
      poti_Value = analogRead(POTI);
      poti_prozent = map(poti_Value, 0,1023, 0,100);
    
           button.tick();
            stopp();
      
      // Ausgabe
      Serial.print("Rechts Poti = ");
      Serial.print(poti_prozent);
      Serial.println("% ");
    
           button.tick();
            stopp();
      
      
      // Drehrichtung Rechts
      digitalWrite(MOTOR_1, LOW);
      digitalWrite(MOTOR_2, HIGH);
      
      // Geschwindigkeit regeln
      analogWrite(PWM, poti_Value / 4);
    
           button.tick();
            stopp();
      
      
      }
      else
      {
            button.tick();
            stopp();
      //void clickedIt();
      
      // LED Drehrichtung Links
      digitalWrite(LED, HIGH);
    
      poti_Value = analogRead(POTI);
      poti_prozent = map(poti_Value, 0,1023, 0,100);
    
           button.tick();
            stopp();
      
      // Ausgabe
      Serial.print("Links Poti = ");
      Serial.print(poti_prozent);
      Serial.println("% ");
    
           button.tick();
            stopp();
    
      // Drehrichtung Links 
      digitalWrite(MOTOR_1, HIGH);
      digitalWrite(MOTOR_2, LOW);
      
      // Geschwindigkeit regeln
      analogWrite(PWM, poti_Value / 4);
      
             button.tick();
            stopp();
      
      }
    
    
    
    
      
    }
    
    void clickedIt()
    {
    
    drehrichtung = 1;
      
     }
     
    void doubleClickedIt()
    {
      sto = !sto;
      
     }
    
     void stopp(void)
    {
      while(sto == true )
      {
       button.tick();
      digitalWrite(MOTOR_1, HIGH);
      digitalWrite(MOTOR_2, HIGH);
    
       Serial.println("STOPP!!!");
      
      
      digitalWrite(LED, HIGH);
      delay(50);
      button.tick(); 
        delay(50);
      button.tick(); 
        delay(50);
      button.tick();
        delay(50);
      button.tick(); 
        delay(50);
      button.tick();  
      digitalWrite(LED, LOW);
      delay(50);
      button.tick(); 
        delay(50);
      button.tick(); 
        delay(50);
      button.tick();
        delay(50);
      button.tick(); 
        delay(50);
      button.tick(); 
      
      }
      
    }
    
    void drehrichtun(void)
    {
      Drehrichtung = !Drehrichtung;
      
      digitalWrite(MOTOR_1, HIGH);
      digitalWrite(MOTOR_2, HIGH);
      
      
      digitalWrite(LED, HIGH);
      delay(100); 
      digitalWrite(LED, LOW);
      delay(100);
      digitalWrite(LED, HIGH);
      delay(100); 
      digitalWrite(LED, LOW);
      delay(100);
      drehrichtung = 0;
    }
    habe schreiben erst heute gelernt.

    bin legasteniger.

    by Ferdinand.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.668
    Bei Steckbrettern muss man immer damit rechnen.

Ähnliche Themen

  1. C-Library in BASCOM einbinden??
    Von Jon im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 20.11.2009, 18:26
  2. Library einbinden
    Von fofi1 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 03.02.2009, 22:48
  3. Einbinden einer Library auf Mikrocontroller
    Von SummerTime im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 25.03.2008, 19:53
  4. MSDN Library in MS Visual Studio.Net 2003 Prof einbinden???
    Von sg10241024 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 5
    Letzter Beitrag: 13.02.2005, 14:28
  5. drucktaster entprellen
    Von pebisoft im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 06.01.2005, 07:49

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress