Pagina 1 di 1

arduino: bridge tra display lcd e lcdproc

Inviato: 22 apr 2012, 13:23
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

Re: arduino: bridge tra display lcd e lcdproc

Inviato: 23 apr 2012, 12:27
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

Re: arduino: bridge tra display lcd e lcdproc

Inviato: 23 apr 2012, 14:33
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

Re: arduino: bridge tra display lcd e lcdproc

Inviato: 23 apr 2012, 15:06
da ragno
Come non detto :frusta:


il ks0108 utilizza 8 bit (pin) dati e 5 pin per i comandi. Ecco perche' usano la serdisplib...

Re: arduino: bridge tra display lcd e lcdproc

Inviato: 24 apr 2012, 10:10
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

Re: arduino: bridge tra display lcd e lcdproc

Inviato: 26 apr 2012, 14:36
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

Re: arduino: bridge tra display lcd e lcdproc

Inviato: 17 mag 2012, 09:41
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