Display VLFM1383-05F Manual?

Im aktuellen u8glib Release ist noch ein kleiner Fehler mit der Reset Leitung enthalten, deshalb hier ein kleines bugfix release.

Oliver

u8glib_arduino_v1.10pre1.zip (975 KB)

Moi Moin.

daran könnte es gelegen haben, das die 2 LED anging, nach dem Flashen. Werd mich gleich mal wieder dransetzen, irgendwann mus es ja mal was anzeigen :smiley:

PS: Datei läst sich nicht entpacken.

Bei mir auf dem Laufwerk wird kein Fehler gemeldet. Noch ein versuch...

Edit: Tja, das ging wohl auch wieder nicht. Ich habe die Datei auf die google page gelegt:
http://code.google.com/p/u8glib/downloads/list

u8glib_arduino_v1.10pre1.zip (975 KB)

Jetzt gings. Nu blitzt die eine LED schnell auf, auf mein Mini Pro....

Und was macht das LCD?

Das LCD zeigt rein garnix an. Ich vermute mal das der Mega im dauerreset ist.

Die eine LED ist die Pover LED. Und die andere geht nur nach eimen Reset kur an, oder wenn die Spannungsversorgung angeschlossen wird. Sonst eigentlich nie. Diese LED blitzt nur komischerweise mit der U8G auf.

Naja, wenn Du willst, können wir hier etwas mitdebuggen und Reviewen. Gibt es ein Bild vom Aufbau? Welches Beispiel? Wie ist die konkrete Pinbelegung bei Dir? Wie sieht der U8glib Constructor aus? Welche von den LEDs blinkt denn eigentlich... hoffentlich nicht die Power LED.

Oliver

Die Pover LED zum glück nicht.

#include <U8glib.h>

U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,12,13, 2, U8G_PIN_NONE, 3);  
     // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 E1=12, E2=13, A0=2, R/W=3 , Reset=3


void draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 22, "Hello World!");
}

void setup(void) {
  
  // flip screen, if required
  // u8g.setRot180();
  
  // set SPI backup if required
  //u8g.setHardwareBackup(u8g_backup_avr_spi);

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) 
    u8g.setColorIndex(255);     // white
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT )
    u8g.setColorIndex(3);         // max intensity
  else if ( u8g.getMode() == U8G_MODE_BW )
    u8g.setColorIndex(1);         // pixel on
}

void loop(void) {
  // picture loop
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(500);
}

U8glib Constructor ?????

Der Konstruktor ist die Zeile mit den ganzen Pin Nummern.
R/W liegt auf Ground, oder? Die Resetleitung des Displays an Pin 3?

Oliver

Genau. Aber es muckt sich nix. hab auch einen anderen Mini Mega 328 probiert, aber genau das gleiche. Die eine LED auf dem Mini Pro fängt nach dem Upload ebenfalls an zu blinken. (An-Aus-An-Aus......) Das darf bnet sein.

Denke, das u8glib nicht auf ein Mini Pro leuft, bzw. der Code siehe oben nicht funktioniert.

Nun, einen Mini Mega 328 besitze ich nicht. An welchem Pin hängt denn die LED? In dem verwendeten Beispiel wird das Display regelmäßig neu geschrieben. Vielleicht hat das Display doch einen anderen Controller.

Oliver

Also wenn die LED regelmäßig blinkt, dann ist auf dem Board vermutlich der "default" Blink-Sketch geflashed. Der Mini Pro ist ein "normaler" Aeduino, nur kleiner. Das bedeutet er hat den gleichen Chip "Atmega328" wir der Uno auch, daher sollte die Lib auf dem mini genau so funktionieren, wie auf dem Uno. Vorausgesetzt, es ist ein Pro mini 328 nicht ein Pro mini 168, oder eine Variante mit 8 MHz, oder 3,3V.
Wie hast Du denn das Programm auf den mini übertragen?

Mit dem Programm: arduino-1.0.3 wo ich alles mit übertrage. Andere sachen laufen ja. Nur mit dem geposteten Code, bzw der U8 geht nix. Ein anderes Display mit der LiquidCrystal hab ich auf anhieb ans laufen bekommen, und da blinkte die eine LED auf dem Mini Pro 328 nicht.

Blinken ist nicht richtig ausgedrückt, die blitzt auf. Ganz schnell.

Die LED hängt an PB5 (SCK) gegen Masse.

U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,12,13, 2, U8G_PIN_NONE, 3);

Arduino = Display

D2 = A0
Masse = R/W
D12 = E1
D8 = D0
D9 = D1
D10 = D2
D11 = D3
D4 = D4
D5 = D5
D6 = D6
D7 = D7
D13 = E2
D3 = RST

War nicht SCK am Pin 11 des Arduino Boards? Da das hier als Datenleitung benutzt wird, würde es das Blinken durchaus erkären und dafür sprechen, dass das U8glib Beispiel läuft.

Grüße,
Oliver

Ich Nutze kein Arduino Board, wie Uno, sondern ein Mini Pro 328P 5V 16MHz. Siehe angefügtes Bild. Auch wenn ich das Display "abstöpsel", hört mein Mini nicht bauf zu blinken. Es istein kurzes schnelles aufblitzen der LED. Ist die kleine LED über Pin 11....

arduino nano pro mini.jpg

Dad und ich haben gestern abend noch ein paar neue Display bestellt. Obwohl ich die Oled"s nicht so gut finde, die haltbarkeit soll ja net so toll sein.

  1. Oled I2C 122 x 32 Blau
  2. LCD Amber invertiert 122 x 32
  3. LCD 20 x 2

Halli Hallo,

wollte kein neuen Thered auf machen, und mach mal hier weiter. Habe nun andere Displays, und hab mal erst ein Radio gebaut. Alles geht wie es soll, nur bekomm ich kein MHZ hinter der Frequenz hin.

So lass ich die Frequenz anzeigen.

// Anzeigen der Frequenz in Zeile 2
lcd.setCursor(0,1);
lcd.print(frequenz);

Desweiteren hab ich dieses Display:
http://www.ebay.de/itm/2-4-inch-TFT-LCD-Module-Screen-240-x-320-Pixels-ILI9325-Arduino-Compatible-/380557554635?pt=LH_DefaultDomain_0&hash=item589aff73cb

Das problem besteht darin, das ich ein Mini Mega 328 nutze, und somit keine pinns wie D40 wie es in den ganzen Anleitungen steht im Netz habe. Weis wer, wie es anzuschliessen ist? Das Touch Pad brauch ich mal erst noch nicht, das kommt später mal. Möchte nur mal was drauf Anzeigen lassen, mehr mal erst nicht. Geht das auch in 4 Bit, oder nur in 8 Bit?

LG. Rene

Problem 1 gelöst. Wie blöd, hatte die " " in lcd.print vergessen, deswegen ging der nicht.

Hie mal der Code vom Radio mit TEA5767:

#include <LiquidCrystal.h>
#include <Wire.h>
 
 // RS auf Arduino 7
 // Enable auf Arduino pin 6
 // D4 auf Arduino 5
 // D5 auf Arduino 4
 // D6 auf Arduino pin 3
 // D7 auf Arduino pin 2
 // R/W auf Masse
 // Poti zum Sender einstellen auf Arduino pin A1

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

unsigned char frequenzH = 0;
unsigned char frequenzL = 0;
unsigned int frequenzB;
double frequenz = 0;

void setup()
{
  Wire.begin();
  frequenz = 93.0; 
  setFrequenz();
  lcd.begin(16,2);
  lcd.print("Arduino Radio");
}

void loop()
{
  unsigned char buffer[5];
  int reading = analogRead(0);
  frequenz = ((double)reading * (108.0 - 87.5)) / 1024.0 + 87.5;
  frequenz = ((int)(frequenz * 10)) / 10.0;
  setFrequenz();
  lcd.setCursor(0,1);
  lcd.print("FM ");
  lcd.print(frequenz);
  if (buffer[2]&0x80) lcd.print("  STEREO");
  else lcd.print("  MONO");
}

void setFrequenz()
{
  frequenzB = 4 * (frequenz*1000000+225000)/32768;
  frequenzH = frequenzB >> 8;
  frequenzL = frequenzB & 0XFF;
  delay(100);
  Wire.beginTransmission(0x60);
  Wire.write(frequenzH);
  Wire.write(frequenzL);
  Wire.write(0xB0);
  Wire.write(0x10);
  Wire.write((byte)0x00);
  Wire.endTransmission();
  delay(100);  
}

Rene_Merten:
Mit dem Programm: arduino-1.0.3 wo ich alles mit übertrage. Andere sachen laufen ja. Nur mit dem geposteten Code, bzw der U8 geht nix. Ein anderes Display mit der LiquidCrystal hab ich auf anhieb ans laufen bekommen, und da blinkte die eine LED auf dem Mini Pro 328 nicht.

Blinken ist nicht richtig ausgedrückt, die blitzt auf. Ganz schnell.

Die LED hängt an PB5 (SCK) gegen Masse.

U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,12,13, 2, U8G_PIN_NONE, 3);

Arduino = Display

D2 = A0
Masse = R/W
D12 = E1
D8 = D0
D9 = D1
D10 = D2
D11 = D3
D4 = D4
D5 = D5
D6 = D6
D7 = D7
D13 = E2
D3 = RST

Fehler gefunden. Und zwar ist der Pin 13 (SCK). Sobald man den belegt, resettet der Mega.