PPTEA
PPTEA- Processore Per Tutti

VISUALIZZA L'ALBUM

Pag: (114)   1   2   [3]   4   5   6  ...>    (Ultimo Msg)


FinePagina

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,22:30

CITAZIONE (NonSoloBolleDiAcqua @ 30/7/2010, 22:53)
Libero,
non ho capito...il debugger è già presente nel compilatore...premi il pulsante debug nella barra dei menù....li si testa il codice....

Non l'avevo visto , peccato . . . licenziato alla terza ora . . . eheheh faccine/sick.gif



---------------



 

Ferrobattuto

Avatar
GigaWatt


Utente
Msg:4117

Stato:



Inviato il: 30/7/2010,22:47

faccine/laugh.gif
Ricordati che mi devi spiegare perché hai tirato il sasso nell'acqua!
Ciao.

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 30/7/2010,22:51

CITAZIONE (Ferrobattuto @ 30/7/2010, 23:47)
faccine/laugh.gif
Ricordati che mi devi spiegare perché hai tirato il sasso nell'acqua!
Ciao.

Perchè sono un pirla . . . faccine/sick.gif

X Bolle

Adesso che ho imparato a premere Debug dopo Compile mi sono accorto che il salto condizionato
>= si attiva solo per > . . . mi pare faccine/sick.gif



---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 31/7/2010,07:04

CITAZIONE (Libero51 @ 30/7/2010, 23:30)
CITAZIONE (NonSoloBolleDiAcqua @ 30/7/2010, 22:53)
Libero,
non ho capito...il debugger è già presente nel compilatore...premi il pulsante debug nella barra dei menù....li si testa il codice....

Non l'avevo visto , peccato . . . licenziato alla terza ora . . . eheheh faccine/sick.gif

Macchè...questi sono i problemi che si hanno quando non si scrivono i tutorial...e poi se non l'hai notato tu...chissà quanti non lo faranno? faccine/rolleyes.gif
Ora verifico >= e >...
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 31/7/2010,07:14

Libero,
verissimo era bucato il <= e il >=...oltre ad aver sistemato i due buchi...ho inserito nella nuova versione 0.4 il commento a fine linea con il comando ' ( apice in alto alla vb6)
Allego la Versione 0.4 ...( sto testando i primi programmi nel pic ....mmiiiiiiiiiiiiiiiiii)
Ciao
Bolle




Modificato da NonSoloBolleDiAcqua - 3/2/2012, 19:25


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 31/7/2010,08:06

CITAZIONE (NonSoloBolleDiAcqua @ 31/7/2010, 08:14)
...ho inserito nella nuova versione 0.4 il commento a fine linea con il comando ' ( apice in alto alla vb6)

Nel pacchetto della versione 0.4 mancano i file .eab e .tea , aggiunti quelli tutto funziona.
Se si effettuano modifiche al codice , non si salva, e si compila regolarmente ,il debugger usa la versione precedente del codice.
Forse un set di caratteri più piccoli consentirebbe di indentare meglio i cicli.
Proverò a preparare un tutorial su YouTube . . . .

. . . ed ecco la versione spiegata linea per linea.

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 'imposta 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

Saluti faccine/sick.gif
P.S. peccato che il codice riportato in HTML perda le indentazioni originali.



Scarica allegato

CENTRALINA_SOLARE.rar

( Numero download: 125 )



---------------



 

kekko.alchemi

Avatar
GigaWatt


Utente
Msg:5226

Stato:



Inviato il: 31/7/2010,10:31

CITAZIONE (Ferrobattuto @ 30/7/2010, 21:57)
CITAZIONE (kekko.alchemi @ 30/7/2010, 21:17)
....Devo dare un avviso per tutti però: Se entrate a far parte di questo "mondo" non potrete più tornare indietro!! :-) :-)

Guarda che di "malattie infettive" in questo forum ce ne sono già parecchie! faccine/biggrin.gif Forse non te ne sei accorto, ma sei stato "contagiato" pure tu! faccine/biggrin.gif

Hai perfettamente ragione ferrooooo!!! Per esempio io infatti qui nel forum ho preso la piombite acuta!! faccine/w00t.gif

CITAZIONE (NonSoloBolleDiAcqua @ 30/7/2010, 23:17)
Ciao Fra...come va?Fa caldo?
Vediamo...la scelta del pic è legata alla mia esperienza...ci lavoro da decadi...ricominciare con gli atmel non mi entusiasma....non sono più giovane...tocca a quelli come te tirare la carretta!!! faccine/biggrin.gif
Vediamo, anche questo pic ha 32 k di memoria ed ha 12 convertitori AD...perchè ne ho messi solo 2? per evitare di far confiurare le porte...insomma per semplificare le cose si deve rinunciare a qualcosa...ma molto probabilemente li porterò a 4....ma vediamo come evolvono i test....Libero si è messo d'impegno...vediamo cosa esce fuori.
Un forte limite sono i 256 Byte di programma che si possono caricare(EEPROM)...veramente esegui...inizialmente non ci avevo nemmeno pensato...ma poi ho pensato al tokenizzatore ...e li mi sono convinto che ce la si poteva fare.
Insomma prevederemo due versioni : la prima smart (cioè solo il pic) per versioni che entrano nei 256 byte...l'altra avrà una eeprom esterna al pic e a quel punto non ci saranno limiti ( una eeprom da 64k costa 5 euro)...ma c'è un chip in più... faccine/mad.gif .
Comunque il compilatore , come ha notato Libero, dice la quantità di memoria occupata...se siamo al disotto del 100%...allora siamo a cavallo: occorre rispettare il primo comandamento degli ecosostenibili ( @libero51).

Per quanto riguarda il linguaggio c...è vero che il programma sarebbe più corto...ma gli utilizzatori si dimezzerebbero...ma pensandoci bene ... la seconda versione si può fare in c...magari fa risparmiare quel 30% di memoria .
Ciao

Ciao , qui non fa molto caldo si sta bene, sono in campeggio ora...! Effettivamente 256 byte sono troppo pochi, nell'ATmega32 ne hai 1024 e programmando in C anche riempendo pagine e pagine non sono mai riuscito a riempirli tutti. State facendo un ottimo lavoro e anzi il fatto di avere solamente 256 byte è un bell'esercizio per essere sintetici e snellire il programma, anche se in certe occasioni non è possibile. Vi seguo con interesse, e non appena scriverete la seconda versione in C mi renderò attivo!

Un saltuto kekko!




Modificato da NonSoloBolleDiAcqua - 31/7/2010, 12:44


---------------
L'universo è dominato dagli estremi, l'infinitamente grande e l'infinitamente piccolo.
 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 31/7/2010,11:52

CITAZIONE (Libero51 @ 31/7/2010, 09:06)
Nel pacchetto della versione 0.4 mancano i file .eab e .tea , aggiunti quelli tutto funziona.

Il sorgente ha estensione eab ( Energia Alternativa Basic), il file tea ( è il codice che va trasferito nel pic) è il tokenizzato...e viene generato quando si compila....quindi è normale che manchi il file tea...cmq ricontrollo tutto.


CITAZIONE (Libero51 @ 31/7/2010, 09:06)
Se si effettuano modifiche al codice , non si salva, e si compila regolarmente ,il debugger usa la versione precedente del codice.

hai ragione... e siamo a 3!!! faccine/clap.gif

CITAZIONE (Libero51 @ 31/7/2010, 09:06)
Forse un set di caratteri più piccoli consentirebbe di indentare meglio i cicli

....ok...vediamo di inserire la gestione dei font...e per default li mettiamo più piccoli.
CITAZIONE (Libero51 @ 31/7/2010, 09:06)
Proverò a preparare un tutorial su YouTube . . . .

Sarebbe fantastico... faccine/drunk.gif




Modificato da NonSoloBolleDiAcqua - 31/7/2010, 16:02


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 31/7/2010,17:20

Ed ecco il primo tutorial . . .
Lo speaker fa qualche errore ma non si capisce se lo fa apposta per mantenere attenta la . . . platea.
La musica mi piace molto . . . aaaaaaaaaaaaaaah



Saluti faccine/sick.gif



---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 1/8/2010,08:15

faccine/clap.gif faccine/clap.gif faccine/clap.gif faccine/clap.gif faccine/clap.gif
BELLISSIMO....LAVORO MOLTO MOLTO PROFESSIONALE!!!!!
Avevo dimenticato la tua bella erre rotolante...sembri uno vero speker.
Benissimo
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 2/8/2010,10:14

Bungiorno a tutti,
vedendo il lavoro di Libero, mi sono detto...perchè non rendere questo lavoro un lavorone implementando il parser in modo completo?
Sono stati implementati gli operatori unary,l'AND e l'OR logico, le parentesi "(" "" ....etc...

Questo fine settimana l'ho finito e il pic sembra lo gestisca alla grande.
Poi mi sono detto...perchè non implementiamo anche le variabili generiche?
E ho fatto anche quello.Inoltre ho fatto mio un consiglio di kekko...per diminuire il codice utilizzeremo l'operatore ++, --, var+=val, var-=val ...
Insomma la cosa prende una forma seria...molto professional.
faccine/wink.gif


10 REM TEST NUOVO PARSER
11 VAR1=VAR1+1
13 CIAO++
14 USBOUT=9*(3+VAR1)+CIAO
15 waits 1
18 goto 11

Quando riesco a comprimere il file in rar allego la versione 0.5.
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 2/8/2010,17:11

Come dicevo la Versione 0.5 ,che allego, fa un gran bel salto in avanti..le varianti effettuate sono molte:

1. Parser definitivo .Ottimizzazione ( ancora più performante) con l'utilizza gli operatori AND ed OR sia binari che logici con parentesi...operatori presi in prestito dal c ( ++, --, etc) ...insomma mettetelo alla prova..come si fa? Chiedete a Libero51 faccine/biggrin.gif.

2. Possibilità di modificare il set dei font...sia tipo che altezza.

3. Status e memoria utilizzata dal programma...con visualizzazione grafica.

4. Variabili intere utilizzabili:sono 5...forse aumenteranno...come forse si utilizzeranno i float ed anche le stringhe...vediamo dove ci portano i test.

5. Possibilità di trasferire il codice nel pic ed ovviamente farlo girare (che figo!!!!).Se non avete il processore...non avete speranza...se ho tempo faccio un video ...su un piccolo esempio.

6.Negli esempi c'è l'inseguitore realizzato dal Libero, l'ho indegnamente modificato mettendo in evidenza le variabili e settando i convertitori a 4
mediante il nuovo comando CADS=N dove si settano il numero dei convertitori che si vogliono utilizzare (per default sono 2).

7.Tante altre cose che nno ricordo...vabbè...tocca a voi....fatemi sapere!

Bolle




Modificato da NonSoloBolleDiAcqua - 3/2/2012, 19:26


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 2/8/2010,23:03

CITAZIONE (NonSoloBolleDiAcqua @ 2/8/2010, 18:11)
....fatemi sapere!

Certo che con il debugger è tutto un'altro andare .
Ho aggiornato il programma dell'inseguitore solare che aveva qualche bug ,una risistematina , ho aggiunto la possibilità di variare la sensibilità ed ho aggiunto i commenti ad ogni linea .
Non tentate di inserire numeri di linea superiori a 255 . . . eheheheh.
Che bestia, ci ho perso mezz'ora a capirlo .
Certo che una routinetta di rinumerazione automatica sarebbe comoda . . . ma non è assolutamente urgente.
Un passo alla volta . . . faccine/sick.gif
Avete capito come si settano le cinque porte con un solo numero ?
Il numero 0 resetta a 0 tutte le porte , il numero 31 le setta tutte ad 1.

Il numero 31 è la somma di :
1 x 2 ^ 0 =1 :porta out0
1 x 2 ^ 1 =2 :porta out1
1 x 2 ^ 2 =4 :porta out2
1 x 2 ^ 3 =8 :porta out3
1 x 2 ^ 4 =16 :porta out4

il numero 31 in binario si scrive quindi 11111

Ecco il programmino revisionato:

10 '-----------------------------------------------TEST CENTRALINA INSEGUITORE SOLARE A DUE ASSi
11 ' LA PORTA 0 PILOTA IL MOTORE X VERSO SINISTRA VALORE 1
12 ' LA PORTA 1 PILOTA IL MOTORE X VERSO DESTRA VALORE 2
13 ' LA PORTA 2 PILOTA IL MOTORE Y VERSO IL BASSO VALORE 4
14 ' LA PORTA 3 PILOTA IL MOTORE Y VERSO L'ALTO VALORE 8
15 ' CADS1: FOTODIODO SINISTRO , CADS2: FOTODIODO DESTRO
16 ' CADS3: FOTODIODO ALTO , CADS4: FOTODIODO BASSO

20 CADS=4 ' vengono previsti 4 convertitori analogici-digitali
30 D=0 ' nella variabile D viene impostata la soglia di sensibilità : valore 0 = massima sensibilità

40 OUT=C ' la porta di uscita viene settata con i bit della variabile C , originariamente vale 0
50 C=0 ' inizia il ciclo e la variabile C viene azzerata , i vari test la modificheranno aggiorneranno i singoli bit
60 'WAITS 2 ' attende 2 secondi
70 ' ELABORA ORIZZONTALE
80 A=CADS1 ' la variabile A viene caricata con il valore del sensore sinistro
90 B=CADS2 ' la variabile B viene caricata con il valore del sensore destro
100 IF A >=B THEN 160 ' se A è maggiore o uguale a B salta a 160
110 '--------------------------------------B è maggiore di A , il sensore destro è più illuminato
120 IF B-A<=D THEN 210 ' se la differenza non raggiunge la soglia salta a 210
130 '--------------------------------------la differenza supera la soglia
140 C=2 ' attiverà la porta 1 : il servo orizzontale deve girare a sinistra
150 GOTO 210 'salta a 210
160 '-------------------------------------- A è maggiore o uguale a B, il sensore sinistro è maggiormente o ugualment illuminato
170 IF A-B <=D THEN 210 ' se la differenza non supera la soglia salta a 210
180 '--------------------------------------la differenza supera la soglia
190 C=1 ' attiverà la porta 0 : il servo orizzontale deve girare a destra
200 ' ELABORA VERTICALE
210 A=CADS3 ' la variabile A viene caricata con il valore del sensore alto
220 B=CADS4 ' la variabile B viene caricata con il valore del sensore basso
230 IF A>=B THEN 236
231 '--------------------------------------B è maggiore di A , il sensore basso è più illuminato
232 IF B-A <=D THEN 40 ' se la differenza non supera la soglia salta a 140
233 '--------------------------------------la differenza supera la soglia
234 C+=8 ' attiverà la porta 3 : il servo verticale deve girare verso il basso (somma 8 a C)
235 GOTO 40 'salta a 40
236 '-------------------------------------- A è maggiore o uguale a B
237 IF A-B <=D THEN 40 ' se la differenza non supera la soglia salta a 40
238 '--------------------------------------la differenza supera la soglia
239 C+=4 'attiverà la porta 2 : il servo verticale deve girare verso l'alto (somma 4 a C)
240 GOTO 40 'salta a 40


Saluti faccine/sick.gif

P.S. Penso che potete trasferirlo facilmente con un copia incolla .




---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 2/8/2010,23:57

CITAZIONE (Libero51 @ 3/8/2010, 00:03)
Non tentate di inserire numeri di linea superiori a 255 . . . eheheheh.

Cavolo...è scritto nelle istruzioni...e i lcompilatore da anche errore...mi spiace...sono innocente o c'è qualche problema che mi sfugge? faccine/angel1.gif

CITAZIONE (Libero51 @ 3/8/2010, 00:03)
Certo che una routinetta di rinumerazione automatica sarebbe comoda . . . ma non è assolutamente urgente.

No, no...ho un solo collaboratore...non lo voglio mica perdere!!! faccine/smile.gif
Renum [linea iniziale][step]
Dimmi se ti piace. faccine/ph34r.gif

CITAZIONE (Libero51 @ 3/8/2010, 00:03)
Avete capito come si settano le cinque porte con un solo numero ?
Il numero 0 resetta a 0 tutte le porte , il numero 31 le setta tutte ad 1.

Il numero 31 è la somma di :
1 x 2 ^ 0 =1 :porta out0
1 x 2 ^ 1 =2 :porta out1
1 x 2 ^ 2 =4 :porta out2
1 x 2 ^ 3 =8 :porta out3
1 x 2 ^ 4 =16 :porta out4

Le costanti Esadecimali e Binarie sono nate nell'ultima versione
(Esempio esadecimale &HFF, esempio binario &B1011)

Cosa faccio ti spedisco il pic a casa?
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

Libero51

Avatar
GigaWatt


Utente
Msg:1248

Stato:



Inviato il: 3/8/2010,05:59

CITAZIONE (NonSoloBolleDiAcqua @ 3/8/2010, 00:57)
. . . Renum [linea iniziale][step]
Dimmi se ti piace.
. . . Le costanti Esadecimali e Binarie sono nate nell'ultima versione
(Esempio esadecimale &HFF, esempio binario &B1011)
. . . Cosa faccio ti spedisco il pic a casa?

Mi sa che stiamo correndo troppo . . . così ne perdiamo per strada troppi.
Cercherò di volta in volta di aiutarti con un pò di didattica grezza grezza .
Stai facendo un lavoro sensazionale . E' normale che l'ansia del produrre un risultato ci faccia saltare troppe spiegazioni ma lo scopo fondamentale è quello di coinvolgere il maggior numero di utenti .

Parliamo di Hard. . . ottima l'idea di procedere in prima battuta con una versione semplice senza eprom. Quando pensi di aver trovato una configurazione discreta sul millefori cercherò di montarne una, basterà qualche foto e l'elenco dei componenti e . . . speriamo che me la cavo.
Se ci riesco sarà un bel test per la fattibilità del progetto. eheheh faccine/sick.gif

Parliamo di Soft . . . solo tu puoi decidere fino a che punto è utile coinvolgermi.
Puoi comunque inviarmi le documentazioni che ritieni più utili per ora .
Non si finisce mai di studiare , giocare, . . . provare .

Sto pensando che se il compilatore durante il test di debug scrivesse ad ogni ciclo su un file txt la configurazione di porte , variabili, convertitori , potrei usare quel file come sorgente per un' applicazione grafica di supporto.

Una specie di editor grafico che dia la posiibilità a tutti di disegnare uno schemino animato del progetto.
Associando una porta ad un led colorato o ad una pompa , o ad un servo . . .
associando il valore dei convertitori a delle caselle di testo e prevedendo un piccolo set di disegno ognuno potrebbe disegnarsi il proprio display virtuale . . . per ora.

Preparerò il tutorial dell'inseguitore .

x Ferro il tuo ruolo è fondamentale . Se ci sei . . . batti un colpo . . . piano però.

Saluti faccine/sick.gif

P.S. : naturalmente è fondamentale il ruolo di tutti , diciamo che conoscendolo ha tutte le buone caratteristiche per essere usato . . . come cavia . . . eheheh faccine/sick.gif




Modificato da Libero51 - 3/8/2010, 07:15


---------------



 
 InizioPagina
 

Pag: (114)   1   2   [3]   4   5   6  ...>    (Ultimo Msg)

Versione Completa!

Home page     TOP100-SOLAR    Home page forum