"Lichtsucher" mit Servo und LDR
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
Liste der Anhänge anzeigen (Anzahl: 1)
Hab jetzt endlich meinen Code geschaft..
Da war ein Wurm drinnen :-(
Bei den Fotowiderständen habe ich jetzt gemerkt, dass die eine gewisse Nachlaufzeit haben.
Muss ich beim fahren der Servos beachten..
Beim anhalten eine gewisse Zeit warten und dann erst messen..u.s.w.
Im Conrad Katalog habe ich so IR-Silizium-Fotodioden gesehen.
Könnte man die auch für sichtbares Licht verwenden ? (BPW 34)
Ich bräuchte was, das relativ linear zum Licht sich verändert und wenig lachläuft,
Phototranistoren ändern zu abrupt.
Nacher möchte ich sowas mal mit PIR Sensoren machen und auch mal mit zwei Mikrofonen auch :-)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Habe jetzt meinen Lichtsucher mit 2 Achsen fertig.
Habe dazu drei LDR's vom Conrad verwendet.
Ein LDR für oben, zwei LDR's für rechts/links.
Die Werte für den unteren (pseudo-LDR) ergeben sich aus dem niedersten Wert von rechts und links-LDR.
Funktioniert ganz gut.
Läuft schön der Taschenlampe nach :-)