Forum: Mikrocontroller und Digitale Elektronik Video - Format - Oled - Mikrocontroller


von Matthias L. (mcl024)


Lesenswert?

Hallo Zusammen,

ich möchte ein Video welches auf einer SD-Karte liegt mit einem 
Mikrocontroller lesen und auf einem Oled 65k Farben (128x96) abspielen.

Meine Fragen:
- Video Format
- Gibt es vorhandene Routinen in C
- Welche µC


Vielen Dank

von Lehrmann M. (ubimbo)


Lesenswert?

Matthias Laubnitz schrieb:
> - Gibt es vorhandene Routinen in C

Für das entsprechende Display evtl. schon, für die SD-Karte mit 
Sicherheit.

Matthias Laubnitz schrieb:
> auf einem Oled 65k Farben (128x96)

Weisst du schon welches Display es genau wird? Prinzipiell ist es 
einfacher ein Videosignal zu erzeugen und das auf einem 'fertigen' 
Display laufen zu lassen.

Matthias Laubnitz schrieb:
> - Welche µC

Das kommt auf die Framerate an. Wenn du nur 5fps brauchst, dann tut es 
auch ein etwas größerer ATMEGA, ansonsten würde ich ARM und/oder FPGA 
empfehlen ...

von Matthias L. (mcl024)


Lesenswert?

Lehrmann Michael schrieb:
> Für das entsprechende Display evtl. schon, für die SD-Karte mit
> Sicherheit.

Ich meinte eigentlich um zum Beispiel ein MPEG Video von der SD-Karte zu 
lesen.

Lehrmann Michael schrieb:
> Weisst du schon welches Display es genau wird? Prinzipiell ist es
> einfacher ein Videosignal zu erzeugen und das auf einem 'fertigen'
> Display laufen zu lassen.

http://www.futaba.co.jp/en/dbps_data/_material_/radicon_eng/Display_and_Module/oled/pdf/110418standard_revk.pdf

Das EL474.

Lehrmann Michael schrieb:
> Das kommt auf die Framerate an. Wenn du nur 5fps brauchst, dann tut es
> auch ein etwas größerer ATMEGA, ansonsten würde ich ARM und/oder FPGA
> empfehlen ...

Es solletn schon so 20fps sein.

von Matthias L. (mcl024)


Lesenswert?

Hat jemand bereits Erfahrungen in diesem Bereich gemacht?

von Ruben (Gast)


Lesenswert?

Ich schreibe in meinem Blog ausschliesslich über die OLED. Da ich über 
diese Technologie eine sehr hohe Meinung habe.

Würde mich über einen Besuch und Kommentar freuen: www.oled-online.de

MbG

Ruben

von Matthias L. (mcl024)


Lesenswert?

Mich interessiert eher die Ansteuerung bzw. das Darstellen von Videos.

Ich habe eine Oled mit 128x96 Pixel. Um ein Pixel zu schreiben benötige 
ich 16Bit. Da es sich bei der Datenübertragung um ein 8-Bit parallel 
Interface handelt muss ich 2x8Bit senden für 1 Pixel.

128x96x2 = 24576 Hz für ein Frame per second. Bei 20 fps muss ich die 8 
Bit mit 491,520 kHz senden allerdings auch noch per SPI seriell die 
Daten von der SD-Karte lesen.

Geht das mit nem Atmega32 ? Kann man das mit einem Codec vereinfachen? 
Ich habe keine Vorstellung.

von Lukas K. (carrotindustries)


Lesenswert?

Die Datenrate beträgt bei 20fps ungefähr 4MBit (128px*96px*16bit*20fps). 
Also 4Mhz SPI-Frequenz, der Atmega32 schafft bei 16MHz AFAIK maximal 
8MHz. Das Lesen von der SD-Karte könnte dann knapp werden. Besser dran 
bist du mit einem µC mit DMA, dann geht das Datenschaufeln, ohne, dass 
der µC jedes Byte einzeln anfassen muss.

http://rossum.posterous.com/avr-homebrew-device-with-iphone-aspirations
schafft das. Auf einen komprimierenden Videocodec solltest du 
verzichten, da diese sehr CPU-Hungrig sind.

von slime (Gast)


Lesenswert?

http://www.youtube.com/watch?v=YYBC6IjbG-M

so in etwa? :D
Hab ich vor einiger Zeit mal zusammengeschustert. Umgebauter miuchiz mit 
atmega644 und sd-card.

von slime (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch ein Bild vom Aufbau.

von ich (Gast)


Lesenswert?

@ slime

wie hast du das Video aufbereitet und womit?

von slime (Gast)


Lesenswert?

Grob zusammengefasst mit mplayer/mencoder auf die passende 
Auflösung/Framerate  runtergerechnet. Jedes Bild als raw daten 
gespeichert und dann zu einer Datei zusammengefügt. Das gleiche gilt für 
den Sound.

von ich (Gast)


Lesenswert?

@ slime

was verwendest du für ein Display? Sieht cool aus :-)

von slime (Gast)


Lesenswert?

Das war das original Display aus den miuchiz Teilen.

von ich (Gast)


Lesenswert?

Sind die raw Daten dann wie ein bmp aufgebaut. Also jedes Pixel mit 
Farbwerten?

von ich (Gast)


Lesenswert?

Ich meinte eher viele pixel und farbtiefe

von Lukas K. (carrotindustries)


Lesenswert?

ich schrieb:
> @ slime
>
> was verwendest du für ein Display? Sieht cool aus :-)

Ein paar links: Beitrag "Mini-Farbdisplay (+mehr) für 1 Euro"
http://www.ethersex.de/index.php/Video

von slime (Gast)


Lesenswert?

Stimmt, ich hatte das ganze "im" esex gemacht. :)
Schau da mal in die sourcen. Ich bin mir aber nicht sicher ob das damals 
da mit aufgenommen wurde.

von slime (Gast)


Lesenswert?

Ich hab nochmal nachgeschaut. Hab das mit mencoder in jpg´s gewandelt 
und dann mit diesem script bearbeitet. :)
<code>
<?php

for($i = 1; $i < 488; $i++)
{
    $file = sprintf("./%08d.jpg", $i);
    echo $file."\n";
/*
    $im = imagecreatefromjpeg($file);

    for($y=0; $y<67; $y++)
    {
  for($x=0; $x<98; $x++)
  {
          $rgb = imagecolorat($im, $x, $y);
      $r = ($rgb >> 16) & 0xFF;
      $g = ($rgb >> 8) & 0xFF;
      $b = $rgb & 0xFF;
      printf("%c%c", (($r & 0xF8) | (($g>>5) & 0x07)), ((($g<<3) & 0xE0) 
| (($b>>3) & 0x1F)));
  }
    }
    imagedestroy($im);
*/
}
?>
</code>

von slime (Gast)


Lesenswert?

mift, falsche klammern....
1
<?php
2
3
for($i = 1; $i < 488; $i++)
4
{
5
    $file = sprintf("./%08d.jpg", $i);
6
    echo $file."\n";
7
/*    
8
    $im = imagecreatefromjpeg($file);
9
10
    for($y=0; $y<67; $y++)
11
    {
12
  for($x=0; $x<98; $x++)
13
  {
14
          $rgb = imagecolorat($im, $x, $y);
15
      $r = ($rgb >> 16) & 0xFF;
16
      $g = ($rgb >> 8) & 0xFF;
17
      $b = $rgb & 0xFF;
18
      printf("%c%c", (($r & 0xF8) | (($g>>5) & 0x07)), ((($g<<3) & 0xE0) | (($b>>3) & 0x1F)));
19
  }
20
    }
21
    imagedestroy($im);
22
*/
23
}
24
?>

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.