ESPERIENZA CON FOTOCELLULA

SCHEMA COLLEGAMENTI
In questa esperienza si collega una fotocellula
secondo lo schema 1. L’uscita P5 (porta pwm
0) del CUBLOC attiva il GATE del Mosfet.
Quando il segnale è a livello logico 1 il
mosfet conduce ed accende la lampadina ,
quando è a livello logico zero il mosfet
è interdetto e la lampada è spenta.
Quando la lampadina è accesa la fotocellula
LDR diminuisce la sua resistenza e nel punto
A si ha una tensione bassa o livello logico
zero( tensione minore di 0,8 volt). Quando
la lampadina è spenta la resistenza della
fotocellula è elevata(maggiore di 20 kohm)
e la tensione nel punto A è a livello logico
1 (maggiore di 2,5 volt). La tensione nel
punto A può essere regolata con il trimmer
R3.
L’uscita del punto A va sia alla porta P1
del cubloc per rilevare lo stato ON-OFF sia
al canale ADC3 ,pin 27 che rileva il valore
di tensione.
Il primo programma prova il circuito .La
lampada viene accesa e spenta alternativamente
e viene rilevato il valore di tensione del
punto A e lo stato di P1
Const Device = CB280
Dim r As Single
Dim st As Byte
Dim ss As String
Debug CLR
Ramclear
Do
Low 5
Pwm 0,1000,1024
video
Pwm 0,10,1024
video
Loop
End
Sub video()
r=inp_analogico(3)
Debug Goxy,1,1
Debug Fp(r,6,3)
Debug Goxy,2,2
stato_int 1
Delay 1000
End Sub
Sub stato_int(port As Byte)
Dim sb As Byte
Dim sst As String
sb=In port
If sb=0 Then sst="OFF"
If sb=1 Then sst="ON "
Debug sst
End Sub
Function inp_analogico(port As Integer) As
Single
Dim s As Single
Dim rr As Single
Input 24+port
s=Adin(port)
rr=s*5
rr=rr/1024
inp_analogico=rr
End Function

I collegamenti del circuito
Nel secondo programma l’intensità luminosa
sulla fotocellula viene regolata ad una valore
fisso ed impostato(setpoint). Se il valore
letto da P27 è inferiore viene incrementato
l’intensità della lampadina o viceversa.
Const Device = CB280
Dim r As Single
Dim st As Byte
Dim ss As String
Dim lux As Integer
Dim valore As Single
Dim setpoint As Single
Debug CLR
Ramclear
Debug clr
setpoint=0.5
Low 5
lux=1023
Do
video
If valore<setpoint Then lux=lux-5
If valore>setpoint Then lux=lux+5
If lux<10 Then lux=10
If lux>1023 Then lux=1023
Pwm 0,lux,1024
video
Loop
End
Sub video()
valore=inp_analogico(3)
Debug Goxy,1,1
Debug Fp(valore,6,3)
Debug Goxy,2,2
Debug Fp(lux,7,0)
Delay 10
End Sub
Sub stato_int(port As Byte)
Dim sb As Byte
Dim sst As String
sb=In port
If sb=0 Then sst="OFF"
If sb=1 Then sst="ON "
Debug sst
End Sub
Function inp_analogico(port As Integer) As
Single
Dim s As Single
Dim rr As Single
Input 24+port
s=Adin(port)
rr=s*5
rr=rr/1024
inp_analogico=rr
End Function
nicola taraschi
taraschi_nicola@libero.it