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

Thema: Drucktaster einbinden mit der OneButton Library

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Erfahrener Benutzer Begeisterter Techniker Avatar von Ferdinand
    Registriert seit
    10.09.2004
    Ort
    Stuttgart
    Alter
    44
    Beiträge
    230
    Vielen Dank für die Anregungen und Hilfe Stellung war sehr nützlich hab die Fehler rausbekommen zumindest läuft das Programm jetzt so wie es soll jetzt fehlt nur noch eine 7 Segment anzeige die mir den Prozentwert anzeigt

    hir noch mal 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;
    
    
    
    
    
    //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() {
      // declare the ledPin as an OUTPUT:
      //pinMode(ledPin, OUTPUT);
     Serial.begin(9600);
      //pinMode(MOTOR_1,OUTPUT);
      //pinMode(MOTOR_2,OUTPUT);
      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
      //poti_Value = analogRead(POTI);
      //poti_prozent = map(poti_Value, 0,1023, 0,100);
    
      //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();
     
           
      //void clickedIt();
      
      int pwmSpeed;
    
       //delay(200);
       //digitalWrite(MOTOR_1, HIGH);
       //digitalWrite(MOTOR_2, HIGH);
       //delay(200);
      
      if(Drehrichtung == true)
      {
           button.tick();
           stopp();
      //void clickedIt();
     // LED Drehrichtung Rechts 
     digitalWrite(LED, LOW);
     
      poti_Value = analogRead(POTI);
      poti_prozent = map(poti_Value, 0,1023, 0,100);
      // Ausgabe
      Serial.print("Rechts Poti = ");
      Serial.print(poti_prozent);
      Serial.println("% ");
      
      // Drehrichtung Rechts
      digitalWrite(MOTOR_1, LOW);
      digitalWrite(MOTOR_2, HIGH);
      
      // Geschwindigkeit regeln
      analogWrite(PWM, poti_Value / 4);
      
      }
      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);
      // Ausgabe
      Serial.print("Links Poti = ");
      Serial.print(poti_prozent);
      Serial.println("% ");
    
      // Drehrichtung Links 
      digitalWrite(MOTOR_1, HIGH);
      digitalWrite(MOTOR_2, LOW);
      
      // Geschwindigkeit regeln
      analogWrite(PWM, poti_Value / 4);
      
      
      }
    
    
    
    
      
    }
    
    void clickedIt()
    {
    
      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);
      
      
     }
     
    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(); 
      
      }
      
    }
    Geändert von Ferdinand (19.08.2018 um 01:57 Uhr)
    habe schreiben erst heute gelernt.

    bin legasteniger.

    by Ferdinand.

Ä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