Servus Forum,
ich hab ein sehr merkwürdiges Problem und denke mir fehlen ein paar Grundsätzliche Kenntnisse um dieses zu verstehen. Ich steuer mit meinem Arduino Uno einen kleinen ServoMotor an (RB-65PG) über die mitgelieferten Bibliotheken und dazu noch ein SerialLCD Display.
Beides kann ich einzeln ganz hervorragend steuern. Ich hab den Code jetzt so weit reduziert bis nur noch das Problem sichtbar sein sollte.
Wenn ich auch nur irgendeine Zeile von dem gerade auskomentierten Code, mit laufen lasse. Wackelt der Servo auf einmal nur noch dumm rum (aber er zeigt die Temperatur und den Winkel auf dem Display an)
Code:
#include <SerialLCD.h>
#include <SoftwareSerial.h>
SerialLCD slcd(11,12);
#include <Servo.h>
int tempPin=1;
Servo myservo; // create servo object to control a servo
int PotiPin = 0;
int PotiValue = 0;
void setup() {
slcd.begin(); //set up
myservo.attach(5); // attaches the servo on pin 5 to the servo object
}
void loop() {
float temp = analogRead(tempPin);
temp = (float)(1023 - temp)*10000/temp;
temp = 1/(log(temp/10000)/3975+1/298.15)-273.15;
/*
slcd.setCursor(0,0);
slcd.print(temp,2);
*/
PotiValue = analogRead(PotiPin);
PotiValue = map(PotiValue,0,1024,0,180);
myservo.write(PotiValue);
float Potiwert = myservo.read(); //ich hatte kurz die Idee hier den Umweg über die Variable Potiwert zu machen. es geht weder so noch direkt
/* slcd.setCursor(0,1);
slcd.print(Potiwert,2);
*/
}
Lesezeichen