Hier der neue Code mit geänderten Variablen- und Portnamen.
Ich hoffe es ist jetzt verständlicher.
MfgCode:$regfile = "m8def.dat " ' specify the used micro $crystal = 1000000 Config Portd.0 = Input ' ' Pin 2 Config Portd.1 = Input Config Portb.0 = Output Config Portd.7 = Output Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config ADC Start Adc Dim Zaehlvariable As Integer Dim Helligkeit As Word Dim Haelftehelligkeit As Integer Dim Hilfsvariable As Integer Dim Zaehlvariable2 As Integer Dim Hilfsvariable2 As Integer Taster1 Alias Portd.0 'Ausgangsposition Taster2 Alias Portd.1 Helligkeit = 0 Zaehlvariable2 = 0 Taster1 = 1 Taster2 = 1 Motor1 Alias Portd.7 Motor2 Alias Portb.0 Do Motor1 = 1 Motor2 = 1 Helligkeit = 0 Hilfsvariable = 0 Start1: Motor1 = 1 Motor2 = 1 Wait 1 Motor1 = 0 Motor2 = 1 If Taster1 = 0 Then For Zaehlvariable = 1 To 800 Step 1 'Halbkreisdrehung und Suche nach hellstem Ad-Wert If Taster2 = 0 Then Goto Start1 End If If Getadc(0) > Helligkeit Then Helligkeit = Getadc(0) End If Waitms 2 Next Zaehlvariable Else Motor1 = 1 Motor2 = 1 Waitms 50 While Taster1 = 1 Motor1 = 1 Motor2 = 0 Wend Goto Start1 End If Motor1 = 1 Motor2 = 1 Hilfsvariable = Helligkeit - 1 Wait 1 If Taster2 = 1 Then While Getadc(0) < Hilfsvariable Motor1 = 1 Motor2 = 0 'Wieder zurückfahren zum hellsten Punkt If Taster1 = 0 Then Goto Start1 End If Waitms 2 Wend Else Goto Start1 End If Motor1 = 1 Motor2 = 1 Haelftehelligkeit = Helligkeit / 2 Wait 1 While Zaehlvariable2 < 300 Zaehlvariable2 = Zaehlvariable2 + 1 Wait 1 If Getadc(0) < Hilfsvariable Then Zaehlvariable2 = 301 'Falls es beim zweiten LDR heller istoder die Helligkeit beim ersten LDR unter der Hälfte liegt dann erneuter Suchlauf End If Hilfsvariable2 = Getadc(1) - 75 If Getadc(0) < Hilfsvariable2 Then Zaehlvariable2 = 301 End If Wend Loop
David







Zitieren

Lesezeichen