ok gut ja des hilft mir weiter =) wusste nur nicht was das ist =) ich probiers mal und poste dann mein programm =)
Werbung
ok gut ja des hilft mir weiter =) wusste nur nicht was das ist =) ich probiers mal und poste dann mein programm =)
int helligkeit = 0; // variable helligkeit auf 0 setzen
int i = 0 ; //zählvariable auf 0 setzen
#include <Servo.h> //?
//unsigned int i=0;
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
pinMode(7, OUTPUT); //LED rot anmelden
pinMode(9, OUTPUT); //Motor zählen
Serial.begin(9600);
myservo1.attach(9); //Motoren angemeldet
myservo2.attach(10);
}
void loop()
{
digitalWrite(8, HIGH); // LED ein
if (i<360)
{
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);
i++;
}
else
{
digitalWrite(7, HIGH); //LED rot einschalten
}
}
}
also des programm wenn ich es so kontorllieren lasse von meinem programm is von der theorie alles richitg meinst so funktioniert das?
noch ne frage des PORTA |= (1<<PA1); was bedeutet das? dass ich des in mein programm umschreibn kann weil sonst hat meine änderung am programm glaub gar keinen sinn! =)
also ERFOLG! nach der gewünschten anzahl hört der auf zu pumpen muss nur doch die LED mit in die schleife brignen
DANKE !!
=)
Glückwunsch wenn es funktioniert. Bin erst jetzt wieder heim gekommen.
Erklärung zu "PORTA |= (1<<PA1);"
PORTA => ist der Port der angesprochen werden soll, beim Atmega 168/328 gibt es diesen Port nicht, PORTD (den gibt es beim Atmega168/32wäre PD0 bis PD7
|= => verwendet man zum Setzen von Pins,... ist eine Oder Verknüpfung
(1<<PA1) => 1 nach links schieben um PA1 (ist 1), PA1 schreibt man damit man eine bessere Lesbarkeit erreicht
MfG Hannes
Lesezeichen