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