arduino: bridge tra display lcd e lcdproc

Tutto sull'Arduino e la sua grande famiglia... Atmel AVR, Microchip PIC, ecc...

Moderatori: ragno, tapino, alez, zulu, davidea

Rispondi
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

arduino: bridge tra display lcd e lcdproc

Messaggio da ragno »

Oggi ho trovato questo: http://www.milesburton.com/USD_LCD_Disp ... ia_Arduino

In pratica consente di gestire un display lcd tramite lcdproc utilizzando arduino come bridge (usbizzando il display che viene visto tramite la porta seriale virtuale dell'arduino).

Ho provato a collegare l'arduino con l'interfaccia 2WIRE, questo e' lo sketch adattato per la newliquidcristal.

Codice: Seleziona tutto

#include <Wire.h>
#include <LiquidCrystal_SR.h>

LiquidCrystal_SR lcd(7,8,TWO_WIRE);
//                   | | + enable
//                   | \-- Clock Pin
//                   \---- Data/Enable Pin


// these constants won't change.  But you can change the size of
// your LCD using them:
const int numRows = 2;
const int numCols = 24;

void setup() { 
  Serial.begin(9600);
  // set up the LCD's number of rows and columns: 
  lcd.begin(numRows, numCols);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("LCD Proc pass through...");
  lcd.setCursor(0,1);

}

byte serial_getch(){

  int incoming;  
  while (Serial.available()==0){
  }
  // read the incoming byte:
  incoming = Serial.read();

  return (incoming &0xff);
}

void loop(){

  byte rxbyte;
  byte temp;

  rxbyte = serial_getch(); // Fetch byte

  if(rxbyte==0xFE) // If command 
  { 
    lcd.command(serial_getch()); // Pass through
  }
  else{
    lcd.write(rxbyte); //Otherwise just dump it as text
  }
}
saluti ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: arduino: bridge tra display lcd e lcdproc

Messaggio da alez »

Grazie, allo stesso modo secondo me è possibile usare un display grafico tramite il plugin vdr-glcd, da quel che ricordo se come device invece che la porta parallela si imposta la porta seriale dovrebbe funzionare... l'atmel / arduino dovrebbe solo tradurre da seriale a parallela i comandi
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: arduino: bridge tra display lcd e lcdproc

Messaggio da ragno »

@alez: visto che tutto e' gestito dal plugin, forse potrebbe bastare scrivere su device seriale quello che finisce > parport, prendere lo stream seriale e ridirigerlo verso i vari pin dell'ATMEGA alla quale e' collegato il display (con una corrispondenza pin atmega = pin lpt).
Magari si fa tutto con un atmega8 e un convertitore ftdi da 2 euro.

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: arduino: bridge tra display lcd e lcdproc

Messaggio da ragno »

Come non detto :frusta:


il ks0108 utilizza 8 bit (pin) dati e 5 pin per i comandi. Ecco perche' usano la serdisplib...
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
alez
Messaggi: 3074
Iscritto il: 09 mag 2007, 17:11

Re: arduino: bridge tra display lcd e lcdproc

Messaggio da alez »

infatti, tra l'altro i pin dei comandi non sono semplicemente degli enable ma ad esempio ci sono i chip select CS1 e CS2, infatti il mio ks 128x64 è diviso in 2 blocchi di 64x64, il destro ed il sinistro che vengono gestiti appunto da CS1 e CS2
Ciao alez
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: arduino: bridge tra display lcd e lcdproc

Messaggio da ragno »

Comunque a parte i piccoli problemi di socket, penso di mettere uno xino+convertitore usb2ttl per gestire il display (in shift register) via usb, un orologio(ds1307) realtime e qualche altra cosa simpatica. Anche con un atmega8+optiboot (per avere totale compatibilita' arduino) ci sono circa 7,5k di spazio.
Attualmente il codice (compresa la gestione shift register) e' di 4110 bytes...

ciao
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Avatar utente
ragno
Messaggi: 3017
Iscritto il: 20 gen 2007, 09:43
Località: Marte e dintorni
Contatta:

Re: arduino: bridge tra display lcd e lcdproc

Messaggio da ragno »

Ho attrezzato uno xino con atmega8 per fare il lavoro di bridge. A quest'ultimo ho aggiunto anche un RTC con ds1307 chre m'ha fatto penare non poco per problemi di stabilita' dell'oscillatore.
Comunque il modulo dovrebbe: a pc spento gestire un orologio e visualizzare l'orario. A pc acceso visualizzare le info sul display tramite lcdproc.
Manca solo la possibilita' di impostare il clock dell'orologio via seriale, ma non dovrebe essere troppo difficile, se si potesse utilizzare un carattere di controllo.

saluti
ragno
vdr: 1.4.7+extpatch54 (pensionata), 1.7.27 (yavdr 0.4)
Percorri la via che porta al sole,
e non camminare sui sentieri oscuri.

E quando penso che sia finita,
è proprio allora che comincia la salita.
Rispondi