- 3D-Druck Einstieg und Tipps         
Seite 39 von 51 ErsteErste ... 29373839404149 ... LetzteLetzte
Ergebnis 381 bis 390 von 503

Thema: Gameboy Camera, Probleme bei dem Auslesen des Bildes

  1. #381
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Anzeige

    Powerstation Test
    Im Datebblatt steht jedenfalls
    Zitat Zitat von Datenblatt
    Frame Rate: 10 fps - 30 fps
    Hier dann nochmal mein derzeitiges Programm (liefert auch 16384 Pixel):
    Code:
    'Init:
       $regfile = "m8515.dat"                                   'ATmega8515-Deklarationen
       $crystal = 3686400                                       'Quarz: 4 MHz
       $baud = 115200
    
       Declare Sub Register_laden(addr As Byte , Wert As Byte)
    
    'Variablen:
       Dim Regaddr(8) As Byte
       Dim Regwert(8) As Byte
       Dim Bild(16384) As Xram Byte
       Dim Z As Word
       Dim I As Byte
    
    'Register festlegen:
       Regaddr(1) = 1
       Regaddr(2) = 2
       Regaddr(3) = 3
       Regaddr(4) = 4
       Regaddr(5) = 5
       Regaddr(6) = 6
       Regaddr(7) = 7
       Regaddr(8) = 0
    
    'Register für Positive Image
       Regwert(1) = 0
       Regwert(2) = 0
       Regwert(3) = 60
       Regwert(4) = 3
       Regwert(5) = 0
       Regwert(6) = 1
       Regwert(7) = 4
       Regwert(8) = 128
    
    'Register für 2D Ext.
    '   Regwert(1) = &B11100000
    '   Regwert(2) = 0
    '   Regwert(3) = 60
    '   Regwert(4) = 3
    '   Regwert(5) = 0
    '   Regwert(6) = 1
    '   Regwert(7) = 128
    '   Regwert(8) = 0
    
       Config Scl = Porte.0
       Config Sda = Porte.2
    
       I2cinit
       I2cstart
       I2cwbyte &B10010000
       I2cwbyte &B00000000
       I2cstop
    
    
       Xckpin Alias Portb.0
       Resetpin Alias Portb.1
       Loadpin Alias Portb.2
       Sinpin Alias Portb.3
       Startpin Alias Portb.4
       Readpin Alias Pind.5
    
    'Pins festlegen:
       Config Portb.0 = Output                                  'XCK
       Config Portb.1 = Output                                  'Reset
       Config Portb.3 = Output                                  'Sin
       Config Portd.5 = Input                                   'Read
       Config Portb.2 = Output                                  'Load
       Config Portb.4 = Output                                  'Start
    
    'Pins initialisieren:
       Resetpin = 1                                             'Reset High
       Xckpin = 1                                               'XCK High
       Loadpin = 0                                              'Load Low
       Startpin = 0                                             'Start Low
    
    'Reset:
       Waitus 1
       Xckpin = 0
       Waitus 1
       Resetpin = 0
      Waitus 1
       Xckpin = 1
       Waitus 1
       Resetpin = 1
       Waitus 1
       Xckpin = 0
       Waitus 1
    
    'Register Laden
       Call Register_laden(regaddr(1) , Regwert(1))
       Call Register_laden(regaddr(2) , Regwert(2))
       Call Register_laden(regaddr(3) , Regwert(3))
       Call Register_laden(regaddr(4) , Regwert(4))
       Call Register_laden(regaddr(5) , Regwert(5))
       Call Register_laden(regaddr(6) , Regwert(6))
       Call Register_laden(regaddr(7) , Regwert(7))
       Call Register_laden(regaddr(8) , Regwert(8))
    
    'Start:
       Startpin = 1
       Waitus 1
       Xckpin = 1
       Waitus 1
       Startpin = 0
       Waitus 1
       Xckpin = 0
       Waitus 1
    
     Do
    'Warten Bis Bild Fertig:
       While Readpin = 0
          Xckpin = 1
          Waitus 1
          Xckpin = 0
          Waitus 1
       Wend
    
    'Bild einlesen:
    Z = 0
    I2cstart
    I2cwbyte &B10010001
    I2crbyte I , 8
       While Readpin = 1
          Xckpin = 1
          Waitus 1
          Incr Z
          I2crbyte I , 8
          Bild(z) = I
          Xckpin = 0
          Waitus 1
       Wend
       I2crbyte I , 9
       Incr Z
       Bild(z) = I
    I2cstop
    
    'Bild über die ser. Schnittstelle ausgeben:
       For Z = 1 To 16384
          Printbin Bild(z);
       Next
    
     Loop
    End                                                         'end program
    
    'Register laden:
    Sub Register_laden(addr As Byte , Wert As Byte)
       'Registeraddr übertragen:
       For I = 2 To 0 Step -1
          Sinpin = Addr.i
          Waitus 1
          Xckpin = 1
          Waitus 1
          Xckpin = 0
          Waitus 1
       Next
       'Registerwert übertragen:
       For I = 7 To 0 Step -1
          Sinpin = Wert.i
          Waitus 1
          Xckpin = 1
          Waitus 1
          If I = 0 Then
             Loadpin = 1
          End If
          Waitus 1
          Xckpin = 0
          Waitus 1
          Loadpin = 0
       Next
       Sinpin = 0
    End Sub

  2. #382
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    'Pins festlegen:
    Config Portb.0 = Output 'XCK
    Config Portb.1 = Output 'Reset
    Config Portb.3 = Output 'Sin
    Config Portd.5 = Input 'Read
    Config Portb.2 = Output 'Load
    Config Portb.4 = Output 'Start

    bei mir zeigt Bascom immer fehler an bei obigen routinen.
    hast du das programm, wie du es reingestellt hast tatsächlich zum laufen gebracht.
    mfg pebisoft

  3. #383
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.05.2005
    Ort
    Stuttgart
    Beiträge
    260
    Wäre sehr nett wenn ihr euch ein bisschen um folgendes Thema kümmern würdet: https://www.roboternetz.de/phpBB2/vi...=114924#114924

    Danke!

  4. #384
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi!

    @pebisoft:
    Das ist klar
    >>Config Portd.5 = Input 'Read
    ist falsch es muss
    Config Pind.5 = Input 'Read
    heißen...

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #385
    Benutzer Stammmitglied
    Registriert seit
    20.03.2005
    Ort
    Berne
    Alter
    41
    Beiträge
    47
    Hallo da,

    ich habe diesen Thread einige Zeit verfolgt und nachdem ich es über die Weihnachtstage geschaft habe, meine GB-Cam an zu schließen muss ich mich der Diskussion anschließen und das Thema aus der Versänkung holen.

    Ich wollte die den AVR in C programmieren. Das geht auch alles wunderbar, bis ich zum Punkt SRAM gekommen bin. Da habe ich einen Fehler, der mir kopfschmerzen bereitet... mehrere Tage und immernoch:
    Wenn ich den Ram per Makefile aktiviere, geht der AVR nicht mehr an.
    Das macht leider wenig Sinn. Ich habe schon alles versucht und alles eingestellt.. bin daran verzweifelt.

    Mit dem Ergebnis, dass ich zu Bascom gegangen bin und dort das SRAM testete. Dort lief es auf Anhieb und macht seither überhaupt keine Probleme.
    Allerdings ist Bascom extrem anfällig auf Stackprobleme, weswegen ich jetzt schon wieder haake.

    Im augenblick sieht es so aus, dass ich die Camera auslese und die Daten komplett in ein SRAM mit 32kb schreibe. Anschließend schreibe ich die Daten serial an den PC und kann sie dort auswerten.

    Viel lieber hätte ich jetzt eine Routine, die automatisch die Belichtungszeit ändert, um entsprechend Helligkeitsunterschiede auszugleichen. Mit GAIN wollte ich eigentlich nicht arbeiten.

    Das Problem ist, dass die Camera auf der rechten Seite deutlich heller ausleuchtet, als auf der linken. So ab der Mitte ist das Bild links abnehmend dunkler...

    Hier mal zur präsentation eine gut gelungene Aufnahme meiner Arbeitsplatzdekoration.. (siehe Anhang)

    Da ist netterweise nicht zu erkennen, dass es rechts heller ist als links, allerdings weiß ich, dass die Wand rechts dunkler ist, denn die Lampe hängt links an der Wand Dadurch wird das ausgeglichen.

    So, ich stelle mal meinen C Code auch in den Anhang, damit sich das evtl mal jemand in Bezug auf SRAM-Problem anschaut! Das wäre mir wirklich sehr wichtig, denn ich möchte das so gerne in C programmieren....

    Zusätzlich stelle ich auch meine Bascom Datei online, die eine Funktionierende RS232-Leistung vorraus setzt.

    Vielen Dank
    Timo

    ps. meine Registereinstellungen nach Reihenfolge:

    80
    03
    00
    14
    01
    00
    01
    01
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken gb-cam.png  
    Angehängte Dateien Angehängte Dateien

  6. #386
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi!

    Das sieht ja super aus!
    (Funktionieren die "Intellige Tools" schon?)

    Ich arbeite an einer Belichtungsroutine, muss alerdings erst auf meine Spezialplatine warten, da man zum Belichtung messen das Bild schnell einlesen muss. Ich hab aber schon mal ne Idee...

    Kannst du bitte diene Registereinstellungen posten? Ich habe nämlich oben und unten komische Balken.
    Es kommt auch drauf an, Wie die wände Beleuchtet sind. Auch mit IR!
    Die GBC ist, wie ich festgestellt habe äusserst IR-empfindlich!

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  7. #387
    Benutzer Stammmitglied
    Registriert seit
    20.03.2005
    Ort
    Berne
    Alter
    41
    Beiträge
    47
    Die Registereinstellungen stehe von Reg0 bis Reg7 alle in meinem "ps." des letzten Posts :P

    Mit dem IR: Sehr geil! Ich dachte mir schon soetwas. Ich führte sogar überlegungen an, dass die Camera deswegen so unterschiedlich belichtet, weil die Neonröhren hier an der Decke möglicherweise IR-Licht mit ausstrahlen, was ich selbst ja optisch garnicht erfassen kann.

    Intelligente Tools: Nein, die laufen noch nicht
    Wäre auch zu schön gewesen. Aber ich habe Ideen im Kopf um das umzusetzen. Dauert aber noch.

    Deine Spezialplatine: Hast du vor SRAM zu verwenden, wenn ja wieviel und womit willst du das Proggen? Zufällig in C? Dann könntest du dich nämlich schonmal mit meinem C Problem in Bezug auf mein SRAM auseinander setzen, denn das wirst du warscheinlich auch bekommen...

    Gruß
    Timo

    ps. komische Balken habe ich auch. Allerdings nur unten. Ich bin davon überzeugt, dass es ebenfalls an den registereinstellungen liegt, wie eigentlich alles an der Camera. Im Datenblatt steht übrigens, dass die Camera nur 128*123 Pixel hat! Die Edge-Sharping Funktionen rechnen allerdings mitunter auf 128*128 Pixeln herum. Sehr widersprüchlich das ganze...

  8. #388
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi!

    Ja, das mit dem IR ist auch ein Problem, weil die Camera anscheinend auch auf UV reagiert......

    Haha meine On-Chip-Auswertung läuft schon bis zu nem gewissen Grad....
    *löl*

    Ja, meine Spezialplatine verwendet ein SRAM.
    Das wird in Bascom geproggt, wird aber mit der neuen Platine viel einfacher.
    Das SRAM auf der Platine Version 1 (64kb) funktioniert prächtig. Das ist eigentlich ganz einfach.
    Ich möchte nur keine technischen Datern rausrücken, da es sich dabei um meine Jugend forscht Arbeit handelt.

    Ja, 128*123... das habe ich auch schon gelesen. Aber ich habe auch einen Balken oben. Hm. komische Sache. Das MUSS an der Kamera liegen, weil mein Bild sonst absolut super ist.
    Ist ne komische Angelegenheit.
    Ich werde mal zählen, wann READ auf LOW geht. das müsste man ja deutlich merken.

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  9. #389
    Benutzer Stammmitglied
    Registriert seit
    20.03.2005
    Ort
    Berne
    Alter
    41
    Beiträge
    47
    bei mir geht read entsprechend bei ab 123 auf low.

  10. #390
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    hi

    Hm muss ich mal testen.. *keinezeit*
    vlg...
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

Seite 39 von 51 ErsteErste ... 29373839404149 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad