Hallo,
weil Fragen zur Servosteuerung und Digitalisierung immer wieder vorkommen, könnte ich als kleine Anwendung einen "Lichtsucher" mit Servo und LDR anbieten:
Ein Servo dreht einen LDR im Winkelbereich 0..180Grad, digitalisiert den LDR-Widerstandswert und speichert die Postion des jeweils hellsten (=kleinsten) Werts. Danach steuert das Servo den LDR in die hellste gefundene Position.
Die Werte während des Durchlaufs und das hellste Ergebnis werden auf einem 16*2 LCD ausgegeben.
Benutzt wird ein Graupner-Servo, ein Standard-LDR und ein Kondensator mit 100nF.
Gruß, Harald
Code:
'Lichtsucher mit Servosteuerung und LCD-Ausgabe
'==============================================
'Servo: Steuerkabel an PD4
'LDR : Reihenschaltung LDR und C=100nF an PD6 und GND;
' 10K parallel zum LDR, da bei Dunkelheit LDR >10KOhm
Config Servos = 1 , Servo1 = Portd.4 , Reload = 10 'Faktor für Imp.zeit
Config Pind.4 = Output
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
Config Lcd = 16 * 2
Enable Interrupts
Dim Ldr As Word , Wert As Word
Dim I As Byte , Pos As Byte , S As Byte
Dim T1 As String * 12 , T2 As String * 12
Cls 'LCD löschen
Do
S = 0 : Pos = 0 : Wert = 400
Servo(1) = 30 : Waitms 100 : Cls
For I = 30 To 110 Step 5 'Rechts drehen
Servo(1) = I 'Pulszeit i*10us
Waitms 100
Ldr = Getrc(pind , 6) 'Helligkeit lesen
If Ldr < Wert Then 'Wert neu setzen, wenn heller
Wert = Ldr : Pos = S 'als alter Wert
End If
Locate 1 , 1 : Lcd "Min " ; Wert ; " "
Locate 1 , 10 : Lcd "Akt." ; Ldr ; " "
Locate 2 , 1 : Lcd "Pos " ; Pos ; " "
Locate 2 , 10 : Lcd " " ; S ; " "
S = S + 1 'S= gedrehte Schritte
Next
'Drehe auf gefundene hellste Position
S = 5 * Pos : S = S + 30 'Eigentlich: S=30+5*pos
Servo(1) = S
Cls
Locate 1 , 5 : Lcd "Min " ; Wert 'Ausgabe der gefundenen Werte
Locate 2 , 5 : Lcd "Pos " ; Pos ; " " 'für Helligkeit und Position
Wait 1
For I = 1 To 3 'Warteschleife vor neuem Durchlauf
Lcd "*";
Wait 1
Next
Loop
End 'end program
Ich hab spät, aber doch, aus meinem privaten Depot zwei Code-Tags spendiert mfg PicNick
Lesezeichen