Menu:

La pagina di Libero51


Tutorial Pannello Solare Termico

Seguono alcuni esempi in codice EABasic realizzate da Libero51


Questa è la discussione originale.

Questo è il file ".eab" della Centralina Solare.
Scarica il file (ZIP)

10 REM TEST CENTRALINA PANNELLO TERMICO SOLARE
11 REM LA PORTA 1 PILOTA LA POMPA DI CIRCOLAZIONE VALORE 1
12 REM LA PORTA 2 PILOTA IL LED VERDE - POMPA OFF VALORE 2
13 REM LA PORTA 3 PILOTA IL LED ROSSO - POMPA ON VALORE 4
14 REM IL VALORE 2 (0+2+0+0+0) SETTA ON LA PORTA 2
15 REM IL VALORE 5 (1+0+4+0+0) SETTA ON LE PORTE 1 E 3
16 REM SENSORE A SU SERBATOIO , SENSORE B SU PANNELLO
17 REM LA POMPA SI ATTIVA PER DIFFERENZE DI 8 GRADI
18 REM LA POMPA SI DISATTIVA PER DIFFERENZE INFERIORI A 4 GRADI
19 REM --------------------------------------------------------

20 C=2 'assegna il valore 2 alla variabile C
30 OUT=C 'imoosta la configurazione delle porte in uscita
40 A=CADS1 'assegna alla variabile A il valore del primo convertitore AD
50 B=CADS2 'assegna alla variabile B il valore del secondo convertitore AD
60 D= B-A 'assegna alla variabile D la differenza tra B ed A
70 IF D >=4 THEN 90 'se D>=4 salta alla linea 40
80 IF C=2 THEN 40 ELSE 20 'se C=2 salta alla linea 40 altrimenti salta alla 20
90 IF D >8 THEN 100 ELSE 40' se D>8 salta a 100 altrimenti salta a 40
100 IF C=5 THEN 40 'se C=5 salta a 40
110 C=5 'assegna il valore 5 alla variabile C
120 GOTO 30 'salta a 30

125 REM --------------------------------------------------------
130 REM LA LINEA 30 VIENE CONFIGURATA DAI BIT DELLA VARIABILE C
140 REM LA LINEA 20 CONFIGURA C PER ACCENDERE SOLO IL LED VERDE
150 REM LA LINEA 110 CONFIGURA C PER ACCENDERE LA POMPA ED IL LED ROSSO



Inseguitore Solare

Un altro esempio in codice EABasic realizzato da Libero51


Questa è la discussione originale.

Questo è il file ".zip" che contiene il file .eab ed file INSEGUITORE_1.1.exe
Questo è il file ".eab" dell'Inseguitore Solare.

Scaricate il file.zip, scompattatelo nella directory del compilatore PPTEA
Lanciate PPTEA, Caricate il programma "INSEGUITORE_SOLARE_6.eab"
Compile
Debug
Portate a fast la velocità di esecuzione
Run
Log
Il programma inizia a girare
premete semaforo ed il cursore azzurro si arresta.
PPTEA non sta trovando il dispositivo e quindi . . . aspetta.
Lanciate INSEGUITORE 1.1
Sullo sfondo vedrete PPTEA che è ripartito, sta dialogando con INSEGUITORE, riceve i dati dei suoi convertitori e della sua porta e trasmette i suoi comandi e lui . . . ubbidisce.
A questo punto potete regolare la velocità dei motori di INSEGUITORE manovrando la piccola scrollbar sul suo fianco sinistro, potete spostare il sole con i tasti + e - e trascinare la nuvola.
Provate a premere la porta IN 2, si alza il vento e PPTEA ordina . . . vai a casa, al riparo.
Le porte IN 0,1 sono stabilmente collegate ai finecorsa di . . . casa.
Giocateci un pò ...
A questo punto chiudete PPTEA. Inseguitore non riceve più i comandi e continua con l'ultimo ricevuto; potete pilotarlo voi manualmente premendo le porte OUT 0,1,2,3 che attivano i motori.

CODICE Versione 6:
10 '-----CENTRALINA INSEGUITORE SOLARE A DUE ASSI CON STAND BY E SLEEP
15 ' LA PORTA 0 PILOTA IL MOTORE X VERSO SINISTRA VALORE 1
20 ' LA PORTA 1 PILOTA IL MOTORE X VERSO DESTRA VALORE 2
25 ' LA PORTA 2 PILOTA IL MOTORE Y VERSO IL BASSO VALORE 4
30 ' LA PORTA 3 PILOTA IL MOTORE Y VERSO L'ALTO VALORE 8
35 ' CADS1: FOTODIODO SINISTRO , CADS2: FOTODIODO DESTRO
40 ' CADS3: FOTODIODO ALTO , CADS4: FOTODIODO BASSO
45 '-
50 '-VARIABILI
55 '-CONFIG_OUT :CONFIGURA LA PORTA DI OUT
60 '-FOTO_ON :CONTATORE FOTODIODI POCO ILLUMINATI
65 '-CONT_FAIL :CONTATORE TENTATIVI DI RIATTIVAZIONE FALLITI
66 ' A , B :RICEVONO I VALORI DELLE DUE COPPIE DI FOTODIODI
70 '-PARAMETRI COSTANTI
75 SOGLIA_M =0 'SOGLIA DI INTERVENTO MOTORI : 0 MASSIMA SENSIBILITA'
80 SOGLIA_I =40 'SOGLIA ILLUMINAZIONE FOTODIODI POCO ILLUMINATI
85 '-
90 ' LA SOGLIA DI INTERVENTO VALE 0
95 CADS=4 ' VENGONO PREVISTI 4 CONVERTITORI ANALOGICI-DIGITALI
96 '-
97 ' ----------------------INIZIO CICLO
98 '-
100 OUT=CONFIG_OUT ' LA PORTA DI USCITA VIENE SETTATA CON I BIT DELLA VARIABILE C , ORIGINARIAMENTE VALE 0
105 CONFIG_OUT=0 ' INIZIA IL CICLO E LA VARIABILE VIENE AZZERATA , I VARI TEST AGGIORNERANNO I SINGOLI BIT
106 IF (INP AND 4) = 0 THEN 110 'SALTA SE NON C'E' VENTO
107 WAITS 1 ' C'E' VENTO
108 GOTO 150
110 IF FOTO_ON = 4 THEN 200
115 '-------------------- QUALCHE O TUTTI I FOTODIODI SONO POCO ILLUMINATI
120 WAITS 1 ' SOSTITUIRE CON 180 PER ATTENDERE TRE MINUTI : STAND BY
125 IF FOTO_ON<> 0 THEN 200
130 '---------------------TUTTI I FOTODIODI SONO POCO ILLUMINATI
135 CONT_FAIL ++
140 IF CONT_FAIL <=5 THEN 200
145 '-------------------- DOPO 6 TENTATIVI PARI A 18 MINUTI METTI IN SLEEP CONTROLLANDO I FINECORSA
150 IF (INP AND 1) =1 THEN 160
155 CONFIG_OUT=1
160 IF (INP AND 2) =2 THEN 170
165 CONFIG_OUT+=4
170 IF (INP AND 3) = 3 THEN 176
175 GOTO 100
176 IF (INP AND 4) THEN 100
180 '----------------------- CONTROLLA SE RIATTIVARE
185 CONFIG_OUT=0
190 CONT_FAIL=0 'AZZERA TENTATIVI RIATTIVAZIONE FALLITI
195 '----------------------
200 FOTO_ON=0 ' LA VARIABILE VIENE AZZERATA , CONTROLLA SE MANDARE A NANNA L'INSEGUITORE
205 ' ELABORA ORIZZONTALE
210 'A=CADS1 ' LA VARIABILE A VIENE CARICATA CON IL VALORE DEL SENSORE SINISTRO
215 IF CADS1<= SOGLIA_I THEN 225
220 FOTO_ON++ ' PRIMO SENSORE SUFFICIENTE
225 'B=CADS2 ' LA VARIABILE B VIENE CARICATA CON IL VALORE DEL SENSORE DESTRO
230 IF CADS2 <=SOGLIA_I THEN 240
235 FOTO_ON++ 'SECONDO SENSORE SUFFICIENTE
240 IF CADS1 >=CADS2 THEN 270
245 '--------------------------------------B è MAGGIORE DI A , IL SENSORE DESTRO è PIù ILLUMINATO
250 IF CADS2-CADS1<=SOGLIA_M THEN 295
255 '--------------------------------------LA DIFFERENZA SUPERA LA SOGLIA
260 CONFIG_OUT=2 ' ATTIVERà LA PORTA 1 : IL SERVO ORIZZONTALE DEVE GIRARE A SINISTRA
265 GOTO 295
270 '-------------------------------------- A MAGGIORE O UGUALE A B, IL SENSORE SINISTRO E' MAGGIORMENTE O UGUALMENT ILLUMINATO
275 IF CADS1-CADS2 <=SOGLIA_M THEN 295
280 '--------------------------------------LA DIFFERENZA SUPERA LA SOGLIA
285 CONFIG_OUT=1 ' ATTIVERà LA PORTA 0 : IL SERVO ORIZZONTALE DEVE GIRARE A DESTRA
290 ' ELABORA VERTICALE
295 'A=CADS3 ' LA VARIABILE A VIENE CARICATA CON IL VALORE DEL SENSORE ALTO
300 IF CADS3<= SOGLIA_I THEN 310
305 FOTO_ON++ ' TERZO SENSORE SUFFICIENTE
310 'B=CADS4 ' LA VARIABILE B VIENE CARICATA CON IL VALORE DEL SENSORE BASSO
315 IF CADS4<= SOGLIA_I THEN 325
320 FOTO_ON++ ' QUARTO SENSORE SUFFICIENTE
325 IF CADS3>=CADS4 THEN 355
330 '--------------------------------------B è MAGGIORE DI A , IL SENSORE BASSO è PIù ILLUMINATO
335 IF CADS4-CADS3 <=SOGLIA_M THEN 375
340 '--------------------------------------LA DIFFERENZA SUPERA LA SOGLIA
345 CONFIG_OUT+=8 ' ATTIVERà LA PORTA 3 : IL SERVO VERTICALE DEVE GIRARE VERSO IL BASSO (SOMMA 8 A C)
350 GOTO 375
355 '-------------------------------------- A è MAGGIORE O UGUALE A B
360 IF CADS3-CADS4 <=SOGLIA_M THEN 375
365 '--------------------------------------LA DIFFERENZA SUPERA LA SOGLIA
370 CONFIG_OUT+=4 'ATTIVERà LA PORTA 2 : IL SERVO VERTICALE DEVE GIRARE VERSO L'ALTO (SOMMA 4 A C)
375 IF FOTO_ON =4 THEN 100
380 CONFIG_OUT=0
385 GOTO 100






Valid XHTML 1.0 Strict



[ Back to top ] [ Home ]