Hi,
ich habe zwei Sketche, die vom Aufbau her sehr ähnlich sind und ich möchte sie gerne zusammenfügen und gemeinsam auf meinen Arduino hochladen.
Jedoch habe ich das Prinzip nicht verstanden, wie ich in das Setup die weiteren Pins einfüge und im loop die weiter Ansteuerung.
Allgemein hat es auch nicht funktioniert ein neues Objekt zu erstellen.
Die Sketche sind zum einen da um einen Lenkservo anzusteuern und zum anderen um einen Fahrtenregler anzusteuern über den EMpfänger einer Fernsteuerung und dem Arduino.
Danke
Sketch Lenkservo :
#include <Servo.h>
Servo lenkservo; // Servo Bibliothek einfügen
//short winkel; // Worfür ist die "winkel" Variable ???
void setup()
{
lenkservo.attach(2, 544, 2400); //Signal von Arduino (pin 2) an Servo
pinMode(12,INPUT); //Signal von FB-Empfänger an Arduino (pin 12)
Serial.begin(9600); //Datenrate (???)
}
void lenken(short winkel)
{
//Serial.println("lenken()");
Serial.print("Lenkservo angesteuert mit ");
Serial.println(winkel);
lenkservo.write(winkel);
}
/short winkelberechnen(short wert)
{
short ausgabe = (wert-1000)(170/1000);
Serial.print("berechneter Winkel:");
Serial.println(ausgabe);
return ausgabe;
}*/
void loop()
{
short lenkWert; // Variable "lenkWert" initialisieren
lenkWert = pulseIn(12,HIGH); // Lenkwert von FB-Emfänger in "lenkWert" schreiben
Serial.print("Eingelesener Wert:");
Serial.println(lenkWert);
if(lenkWert < 1400) { // Wenn lenkWert < 1400, dann gibt lenkWert an den Servo weiter (Links)
lenken(lenkWert);
}else if(lenkWert > 1600) { // Wenn lenkWert > 1600, dann gibt lenkWert an den Servo weiter (Rechts)
lenken(lenkWert);
}else {
lenken(1500); // Ansonsten gibt 1500 an den Servo weiter. (Grundstellung)
}
}
Sketch Fahrtenregler
#include <Servo.h>
Servo lenkservo; // Servo Bibliothek einfügen
//short winkel; // Worfür ist die "winkel" Variable ???
void setup()
{
lenkservo.attach(3);
pinMode(11,INPUT);
Serial.begin(9600);
}
void lenken(short winkel)
{
//Serial.println("lenken()");
Serial.print("Lenkservo angesteuert mit ");
Serial.println(winkel);
lenkservo.write(winkel);
}
/short winkelberechnen(short wert)
{
short ausgabe = (wert-1000)(170/1000);
Serial.print("berechneter Winkel:");
Serial.println(ausgabe);
return ausgabe;
}*/
void loop()
{
short lenkWert; // Variable "lenkWert" initialisieren
lenkWert = pulseIn(11,HIGH); // Lenkwert von FB-Emfänger in "lenkWert" schreiben
Serial.print("Eingelesener Wert:");
Serial.println(lenkWert);
if(lenkWert < 1400) { // Wenn lenkWert < 1400, dann gibt lenkWert an den Servo weiter (Links)
lenken(lenkWert);
}else if(lenkWert > 1600) { // Wenn lenkWert > 1600, dann gibt lenkWert an den Servo weiter (Rechts)
lenken(lenkWert);
}else {
lenken(1500); // Ansonsten gibt 1500 an den Servo weiter. (Grundstellung)
}
}
sketch_apr25a.ino (1.48 KB)