danke aber dies wird uns nicht weiterhelfen,da sich unser motor nur 35° bewegt und dann wieder zurück dreht.wir wollen zählen wie oft die schleife durchlaufen wird.
=)
danke aber dies wird uns nicht weiterhelfen,da sich unser motor nur 35° bewegt und dann wieder zurück dreht.wir wollen zählen wie oft die schleife durchlaufen wird.
=)
Dann ist es doch noch einfacher. Du zählst einfach wie oft die Schleife durchgeführt wird. Wenn die 360 erreicht sind kannst du den Zähler wieder auf 0 stellen (falls nötig).
MfG Hannes
genau das ist unser probelm =) wie lautet der befehl dafür die anzahl der durchlaufenen schleifen zu zählen????
=)
Die Glaskugel habe ich nicht bei mir. Du müsstest einmal schreiben was ist die Plattform (PC, welcher µC, welche SPS,....) und dann welche Programmiersprache du verwendest, welches Programmierprogramm.
MfG Hannes
also wir haben einen arduino duemilanove, proggramiersprache C++ glaub wenns des gibt =) ja am pc und wir sind nicht so die computer chegger aber wir kennen uns bisschen mit proggrammierung aus =)
=)
int helligkeit = 0; // variable helligkeit auf 0 setzen
#include <Servo.h> //?
Servo myservo1; // variablen der motoren
Servo myservo2;
int pos = 0; //variable zur bestimmung der position der Motoren
int erster_start = 1;
void setup()
{
pinMode(8, OUTPUT); //LED gelb anmelden
Serial.begin(9600);
myservo1.attach(9); //Motoren angemeldet
myservo2.attach(10);
}
void loop()
{
digitalWrite(8, HIGH); // LED ein
if(erster_start == 1)
{
myservo1.write(90); //motoren drehen sich auf ihre positionen -> voller Anschlag
myservo2.write(0);
delay(500); //warten
erster_start = 0;
}
helligkeit = analogRead(0); //helligkeitswert wird eingelesen von lichtsenor und angepasst
if(helligkeit > 150) //helligkeit muss höher als 500 sein dass Motoren sich bewegen
{
myservo1.write(55); //Herunterdrücken
myservo2.write(35); //Herunterdrücken
delay(1000); // Wartezeit, Servo muss in dieser Zeit ganz nach unten gekommen sein
myservo1.write(90);
myservo2.write(00);
delay(1000);
}
also das ist unsere programmierung und die funktioniert auch =)
Das du mit dem PC programmierst war relativ klar, da es nicht viele Systeme gibt die man ohne PC programmieren kann (z.B. einige ältere SPS). Mit Arduino kenne ich micht nicht so gut aus, aber wenn du das Programm postest könnte ich dir Vorschlagen wo du was hinschreiben kannst. Ob beim Arduino C, C++ oder beides verwendet wird weiß ich nicht. Als Erstes brauchst eine Zählvariable. Im Programm schreibst du dann nur z.B. i++; (i ist die Zählvariable) und es wird i um 1 erhöht. Man fragt dann einfach i ab und vergleicht es mit einer Vorgabe und führt die Dinge aus die man machen will wie z.B. Ausgänge setzen, löschen,... (z.B. if (i >= 360){} ).
MfG Hannes
Geändert von 021aet04 (07.06.2012 um 17:48 Uhr)
ok soweit hab ich mir das auch schon gedacht aber ich muss doch irgendwo angeben dass i die schleifen zählen muss oder reicht das schon wenn ich
int i=0
in void setup angebe und später in void loop am ende
if(i=360)
digitelWrite(pin,HIGH)
reagiert der dann darauf?!
aber danke schon mal =))
Lesezeichen