Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo servo;
- //=========================================================================
- //===============================DEFINITIONEN==============================
- //=========================================================================
- #define triggerPin 7 // Trigger-Pin des Ultraschallsensors an Pin7 des Arduino-Boards
- #define echoPin 6 // Echo-Pin des Ultraschallsensors an Pin6 des Arduino-Boards
- #define anzahlMittelWerte 5 // Anzahl an Messungen, über die gemittelt wird
- #define potiPin A0 // Pin an den das Potentiometer angeschlossen wird
- //=========================================================================
- //============================GLOBALE VARIABLEN============================
- //=========================================================================
- // Positionsmessung
- int position = 0; // Errechnete Position
- int min = 0; // minimale Position
- int max = 200; // maximale Position
- int gemittelteposition = 0; // Gemittelter Wert
- int mittelarray[anzahlMittelWerte]; // Werte-Matrix ungemittelter Werte
- int mittelzaehler = 0;
- // Servo
- int servostellung = 0;
- int null = 0; // Nur für Ausgabeformatierung
- // Eingabe
- int sollwert = 0;
- // Regelung
- float Kp = 0;
- float Ki = 0;
- float Kd = 0;
- float regeldifferenz = 0;
- //=========================================================================
- //==================================SETUP==================================
- //=========================================================================
- void setup()
- {
- Serial.begin (115200); // Serielle kommunikation starten
- pinMode(triggerPin, OUTPUT); // Trigger-Pin ist ein Ausgang
- pinMode(echoPin, INPUT); // Echo-Pin ist ein Eingang
- pinMode(potiPin, INPUT); // Sollwert-Pin ist ein Eingang
- servo.attach(9); //PWM-Signal für Servo an Pin 9
- for (int i = 0; i < anzahlMittelWerte; i++) //Mittelwert-Array "nullen"
- {
- mittelarray[i] = 0;
- }
- //referenzAnfahren(); //min und max setzen (Anlernen)
- }
- //=========================================================================
- //==================================LOOP===================================
- //=========================================================================
- void loop()
- {
- position = messung();
- gemittelteposition = mittelung(position);
- //sollwert = potiAuslesen(min, max);
- //regeldifferenz = gemittelteposition - sollwert;
- //servostellung = servoBerechnen(gemittelteposition);
- serielleAusgabe(position, gemittelteposition, servostellung);
- //servoStellen(servostellung);
- delay(20);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement