Go Down

Topic: Topic permanente di programmazione newbie (Read 128596 times) previous topic - next topic

igor99480



Ciao Astro, ma il prog l'hai fatto tu? come funziona? arduino controlla le matrici come se fosse un lcd reale? avevo già intenzione di farlo...


Ovviamente la sto scrivendo io  :)
L'idea è di avere su Arduino una libreria aggiuntiva che implementa le stesse funzioni della liquidcrystal, cambierà solo il nome principale, che ti permette di visualizzare sul pc quello che normalmente mandi al display senza averlo fisicamente, ovvero un display virtuale che può far comodo sia in fase di sviluppo del software per verificare il funzionamento che come semplice GUI universale nei limiti imposti da un piccolo LCD da un massimo di 4 righe da 20 caratteri.
Non escludo di ampliarla in futuro con altre geometrie, p.e. 2x40 e 4x40, e altre funzionalità, dipende molto dall'interesse che ci sarà attorno, una volta pronta la versione 1.0 definitiva aprirò un topic dedicato.



:smiley-mr-green: una bellissima idea...
comunque per avviarlo ho dovuto scaricare 2 librerie: CC3260MT.DLL e borlndmm.dll

astrobeed


EDIT: mi sa che c'è un errore, non trova il riferimento alla libreria BORLNDMM.dll
EDIT2: ok servono piu di qualche libreria per farlo funzionare


Colpa della fretta  :)
Ho compilato in modalità debug e quelle librerie non vengono incluse automaticamente nel sorgente, cinque minuti e aggiorno il file scaricabile in versione release.
Scientia potentia est

astrobeed

Aggiornato l'eseguibile, ora gira senza problemi senza nessuna dll aggiuntiva.
Scientia potentia est

igor99480


Aggiornato l'eseguibile, ora gira senza problemi senza nessuna dll aggiuntiva.


ok grazie :D

astrobeed


Genialeeee!! ma il sorgente si puo avere?


Della libreria per Arduino ovviamente si, idem per la parte PC, lo rilascerò solo a lavoro finito, però è sviluppato in C++ tramite Cbuilder Borland versione professional, è il compilatore che uso per lavoro, senza quello e tutte le sue librerie non è possibile ricompilarlo.
Ulteriore dettaglio per quanto riguarda il lato Arduino, la nuova libreria, che sto scrivendo, si chiama vLcd e qualunque programma scritto per usare la liquidcrsytal potrà utilizzare questo display virtuale su pc senza modificare una sola riga, basterà cambiare l'nizializzazione tipica da:

Code: [Select]

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
 // set up the LCD's number of columns and rows:
 lcd.begin(16,2);



In:

Code: [Select]

#include <vLcd.h>

// initialize the library.
vLcd lcd()

void setup() {
 // set up the LCD's number of columns and rows:
 lcd.begin(16,2);

Scientia potentia est


menniti

#171
Mar 10, 2012, 07:27 pm Last Edit: Mar 10, 2012, 07:28 pm by menniti Reason: 1

@Testato, ora mi conosci in quanto scrivo sul forum da un pezzo e non mi pare di aver mai dato inutili noie a nessuno.
detto questo non voglio prendere le difese di nessuno ma stavolta Legacy che bene o male è sempre stato contestato ha proposto di fare un lavoro che potrebbe venire utile all'intera comunità di smanettoni quali siamo noi, non ha senso vivere in questo clima, se vi siete rimbeccati in altri ambiti amen, ha proposto una cosa che ritengo utile, non bocciargliela a priori.
Detto questo, mi metto nei panni del moderatore al posto del Prof. se avete qualche questione risolvetela in privato senza portare via spazio all'interessante topic  :)

Guarda, io non ho capito questa storia del porting su linux perché il firmware si carica sul micro e da PC, linux o Windows che sia, basta un qualsiasi programma di emulazione terminale, nemmeno il serial monitor.
Detto questo inoltro la preghiera a tutti di chiudere qui e non intervenire sugli interventi di altri, accettabili o meno che siano; ho aperto questo Topic per imparare e per chi volesse imparare, quindi smettetela gentilmente; Vi chiedo PER FAVORE di eliminare TUTTI gli interventi che non sono propositivi sul tema del Topic, attacchi o difese che siano o chiedo ad Uwe di farlo lui, e se non lo fa lui lo faccio io bloccando il Topic e buonanotte. E vi prego anche di non commentare il mio commento né per darmi ragione né per darmi torto. Grazie.

astrobeed


beh allora aspetto con ansia il lavoro finito  :smiley-mr-green: :smiley-mr-green:


Per completarlo al 100% ci vorrà un pochino di tempo, non credo prima della fine della prossima settimana, però già domani dovrei avere la prima beta release della libreria per Arduino anche se con funzionalità minimali.
Scientia potentia est

menniti



beh allora aspetto con ansia il lavoro finito  :smiley-mr-green: :smiley-mr-green:


Per completarlo al 100% ci vorrà un pochino di tempo, non credo prima della fine della prossima settimana, però già domani dovrei avere la prima beta release della libreria per Arduino anche se con funzionalità minimali.


Astro, sei un grande e lo dico da tempi NON sospetti ;)
Sto continuando col mio lavoro spero entro domani di portarlo a termine; mi serve aiuto su una cosa che ho chiesto qualche post fa prima che iniziasse una delle solite ridicole polemiche a cui sono costretto ad assistere spesso sul Forum, e che spero sia definitivamente chiusa; se la recuperi, ma vale per tutti, mi farebbe piacere trovare una soluzione.

testato

astro sto' facendo dei test su un 8x2 i2c.
insieme all'autore della libreria liquidcristal i2c stiamo adattando un nuovo controller.

visto che la liquidcristal i2c e' compatibile con i comandi della liquidcristal originale, si puo' usare questo tuo vlcd con i2c ?

e' difficile aggiungerci la geometria 2x8

grazie, sei sempre il piu' grande  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

menniti


astro sto' facendo dei test su un 8x2 i2c.
insieme all'autore della libreria liquidcristal i2c stiamo adattando un nuovo controller.

visto che la liquidcristal i2c e' compatibile con i comandi della liquidcristal originale, si puo' usare questo tuo vlcd con i2c ?

e' difficile aggiungerci la geometria 2x8

grazie, sei sempre il piu' grande  :)

Test, se è quello del polacco tienimi aggiornato, ne ho preso uno tempo fa per usi futuri, ma quando sarà non saprei come usarlo.
Grazie.

astrobeed


visto che la liquidcristal i2c e' compatibile con i comandi della liquidcristal originale, si puo' usare questo tuo vlcd con i2c ?


Se usa gli stessi metodi  della liquidcrystal alla fine non cambia nulla a parte l'include e il setup.

Quote

e' difficile aggiungerci la geometria 2x8


No, consideralo già fatto.
Scientia potentia est

testato

#177
Mar 10, 2012, 09:56 pm Last Edit: Mar 10, 2012, 09:59 pm by Testato Reason: 1
ottimo,

x menny, yes proprio quello

riesco a scrivere gia' sul lcd in modo diretto, senza librerie, ho spedito il tutto all'autore della libreria i2c e gli interessa aggiungere il supporto. attualmente non c'e' nulla di arduinistico per quel controller. sul playgroud c'e' una libreria che dice "dovrebbe essere compatibile", l'ho testata e non lo e', ho aggiornato della cosa l'autore ma lui non e' interessato per ora a modifiche, poi fortunatamente ho trovato disponibilita' nell'altro programatore, quello della i2c.

logicamente sara' tutto open, sto' preparando anche un po' di documentazione perche' su quel coso non si trova nulla.

se ti serve in anticipo qualche dritta sono comunque a disposizione
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

menniti

No, grazie, per ora ho il problema opposto. Bene, buone notizie  XD
Il firmware è terminato, sono molto soddisfatto, non ho risolto la questione del menu "rieseguibile" ma visto che nessuno mi ha dato risposta, pazienza.
Ora faccio qualche prova con l'AstroDisplay :smiley-mr-green: poi a nanna.
Domani ultimo passaggio: implementazione della funzione "ERASE" per la cancellazione totale del micro.
Poi finalmente inizio l'articolo XD
A domani ;)

menniti

@ Astro: test sul Virtual  LCD Display:
il campo di attivazione non ha alcun effetto sull'MCP2200, devo resettare manualmente il 328P
Appena parte vedo su ogni riga uno 0, le scritte scorrono velocissimamente ma poi ritornano tutt'e quattro a 0 (o 8 non capisco bene)
Manca un campo per inviare i comandi, p.es. quando devo scrivere i valori dei fuse o scegliere una voce da menu, mi serve, almeno nel primo caso la possibilità di editare (p.es. se sbaglio carattere del fuse).
Si possono implementare queste cose? Ma forse snaturano il progetto, allora dovrei vedere ciò che scrivo nelle 4 righe, non posso editare al buio, mi sa che devo fare un po' di prove col display vero, se no va a finire che dico stronzate. A domani. :)

Go Up