Hallo ich habe ein kleines Problem mit der Lib von https://www.makerblog.at/2015/01/ard.../#comment-3895
ich bekomme mein Programm nicht zum laufen
Code:/* Analog Input */ #include "OneButton.h" #define MOTOR_1 2 #define MOTOR_2 4 #define POTI A0 #define PWM 9 #define TASTER 5 #define LED 3 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 ) { digitalWrite(MOTOR_1, HIGH); digitalWrite(MOTOR_2, HIGH); digitalWrite(LED, HIGH); delay(300); poti_Value = analogRead(POTI); poti_prozent = map(poti_Value, 0,1023, 0,100); digitalWrite(LED, LOW); delay(300); } } void loop() { button.tick(); int pwmSpeed; void clickedIt() { digitalWrite(LED, HIGH); } else { digitalWrite(LED, LOW); } // Poti Regelbereich poti_Value = analogRead(POTI); poti_prozent = map(poti_Value, 0,1023, 0,100); // Ausgabe Serial.print("Poti = "); Serial.print(poti_prozent); Serial.println("% "); //delay(1000); digitalWrite(MOTOR_1, HIGH); digitalWrite(MOTOR_2, HIGH); // Geschwindigkeit regeln analogWrite(PWM, poti_Value / 4); // Drehrichtung Links digitalWrite(MOTOR_1, HIGH); digitalWrite(MOTOR_2, LOW); // Drehrichtung Rechts digitalWrite(MOTOR_1, LOW); digitalWrite(MOTOR_2, HIGH); //digitalWrite(LED, HIGH); //delay(1000); // ENDE }
Folgende Meldung
- - - Aktualisiert - - -Code:Arduino: 1.8.5 (Windows 7), Board: "Arduino Nano, ATmega328P (Old Bootloader)" C:\Users\Ferdinand\Documents\Arduino\Drehzahlregelung\Drehzahlregelung_2\Drehzahlregelung_2.ino\Drehzahlregelung_2.ino.ino: In function 'void setup()': Drehzahlregelung_2.ino:43: error: 'clickedIt' was not declared in this scope button.attachClick(clickedIt); ^ C:\Users\Ferdinand\Documents\Arduino\Drehzahlregelung\Drehzahlregelung_2\Drehzahlregelung_2.ino\Drehzahlregelung_2.ino.ino: In function 'void loop()': Drehzahlregelung_2.ino:71: error: a function-definition is not allowed here before '{' token void clickedIt() { ^ Drehzahlregelung_2.ino:74: error: 'else' without a previous 'if' else { ^ exit status 1 'clickedIt' was not declared in this scope Dieser Bericht wäre detaillierter, wenn die Option "Ausführliche Ausgabe während der Kompilierung" in Datei -> Voreinstellungen aktiviert wäre.
ich habe das Programm mal vorerst fertiggemacht
Code:/* Analog Input */ #include "OneButton.h" #define MOTOR_1 2 #define MOTOR_2 4 #define POTI A0 #define PWM 9 #define TASTER 5 #define LED 3 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 ) { digitalWrite(MOTOR_1, HIGH); digitalWrite(MOTOR_2, HIGH); digitalWrite(LED, HIGH); delay(300); poti_Value = analogRead(POTI); poti_prozent = map(poti_Value, 0,1023, 0,100); digitalWrite(LED, LOW); delay(300); } } void loop() { button.tick(); int pwmSpeed; void clickedIt() { // LED Drehrichtung Links digitalWrite(LED, HIGH); poti_Value = analogRead(POTI); poti_prozent = map(poti_Value, 0,1023, 0,100); // Ausgabe Serial.print("Poti = "); Serial.print(poti_prozent); Serial.println("% "); // Geschwindigkeit regeln analogWrite(PWM, poti_Value / 4); // Drehrichtung Links digitalWrite(MOTOR_1, HIGH); digitalWrite(MOTOR_2, LOW); } else { // LED Drehrichtung Rechts digitalWrite(LED, LOW); poti_Value = analogRead(POTI); poti_prozent = map(poti_Value, 0,1023, 0,100); // Ausgabe Serial.print("Poti = "); Serial.print(poti_prozent); Serial.println("% "); // Geschwindigkeit regeln analogWrite(PWM, poti_Value / 4); // Drehrichtung Rechts digitalWrite(MOTOR_1, LOW); digitalWrite(MOTOR_2, HIGH); } }







Zitieren

Lesezeichen