PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hat jemand Erfahrung mit der Game Boy Kamera?



discostu
12.01.2004, 21:20
Habe neulich diese Internetseite hier gefunden, auf der jemand beschreibt, wie er die Game Boy Kamera (sehr günstig z.B. ca. 5 € bei ebay) in Verbindung mit der C-Control 2 zum Fotografieren einsetzt.

http://www.angelfire.com/de3/juliprograms/amr/gbcam.htm

Sicherlich reicht die Qualität der Bilder nur für den Hausgebrauch, scheint mir aber eine günstige Alternative zu sein, wenn man auf dem Gebiet erstmal etwas rumprobieren will.

Hat jemand von euch bereits Erfahrung mit der Kamera?

Kjion
12.01.2004, 21:43
Ich hab mir ein Board dafür gebaut, bin aber noch nicht dazu gekommen es zu testen. Besteht hauptsächlich aus einem AVR + 32Kb RAM + schneller A/D Wandler....

Ansonsten sollte sich die GBCam durchaus zum Linienverfolgen und zur einfachen Objekterkennung eignen. Ich werd in der Richtung in der nächsten Zeit mal ein bißchen experimentieren....

MfG Kjion

12.01.2004, 21:57
Berauschend sind die Bilder ja nicht gerade

NumberFive
05.02.2004, 00:40
Hallo hat hier jemand erfahrungen mit verwerten von Bild infomationen ?

Trabukh
15.09.2004, 17:58
Hier hat zwar lange keiner mehr reingeschrieben, aber hat jetzt jemand das Ding zum Laufen gebracht? Würd mich echt mal interessieren, ist ja schließlich ne recht billige Lösung...

Gruß, Trabukh

DerInder
15.09.2004, 18:48
Hi,
ich hab die GBCam schon seit ca. einem Jahr am laufen. Die Schaltung entspricht der von Daniel Harrington (falls jemand seine neue I_Net Adresse kennt bitte melden), sie ist mit nem 8515 aufgebaut. Desweiteren hab ich einen Belichtungs-Algorithmus (von ??? müsste ich nach suchen) integriert. Das Problem der Cam ist das starke Rauschen bei schwacher Beleuchtung. Ansonsten (grade wegen der geringen Auflösung) ist es schon ein geniales Teil. Mit der integrierten Kanten-Extraktion lässt sich eine Menge machen. Ich bin gerade dabei die Cam mit einem Strich-Laser zur Hinderniserkennung/Raumerkundung auszubauen.
Als kleines Beispiel mal ein Bild von mir ;)

Trabukh
15.09.2004, 20:08
Na das ist doch schon mal was, danke! Könntest du vllt mal genau erklären, wie du das gemacht hast? Und welche Sprache hast du zum programmieren benutzt?

Gruß, Trabukh

EDIT: Ist die Kamera eigentlich IR-tauglich?

DerInder
15.09.2004, 20:18
Hallo,
also ich programmiere nur in Assembler ;)
Wie gesagt, die Programme sind nicht alleine auf meinem "Mist" gewachsen, sonder überwiegend nur angepasst. Ich werd mal schauen ob ich die Quellen wiederfinde.
IR-tauglich? Klar, wie eigentlich jede Billig-Cam, zum überprüfen einer Fernbedienung ideal :)

Trabukh
15.09.2004, 20:28
Ich würde das ganze gerne über Bascom realisieren, wenn das überhaupt möglich ist. Allerdings habe ich keinen blassen Schimmer, wie...

Gruß, Trabukh

DerInder
15.09.2004, 20:35
Hallo,
ich glaube Bascom wird problematisch, weil man bei der Kommunikation mit der GB-Cam, ein recht kritisches Timming einhalten muss.

Trabukh
15.09.2004, 20:37
Oh oh, nicht gut. An ASM trau ich mich nicht ran, und extra dafür C lernen ist mir doch etwas zu viel Arbeit, zumahl jetzt 5 Klausuren anstehen...

Gruß, Trabukh

DerInder
15.09.2004, 20:41
Ach ASM ist eigentlich simpel, an C trau ich mich auch nicht ran ;)
Wie gesagt den Code hab ich selbst auch nur angepasst, sonst würde meine GB-Cam warscheinlich irgengwo vor sich hin gammeln :)

BSweet!
19.09.2004, 21:20
Ach ASM ist eigentlich simpel, an C trau ich mich auch nicht ran ;)
Wie gesagt den Code hab ich selbst auch nur angepasst, sonst würde meine GB-Cam warscheinlich irgengwo vor sich hin gammeln :)

lol, wie meine ;)

MrNiemand
25.11.2004, 20:36
auch wenn der thread schon etwas älter ist, hab es mit bascom realisiert (wenn den source jemand will einfach mailen) das mit dem timing is sau eifnach, wenn die pegel in der richitgen reihenfolge gesetzt werden, kann man leicht den takt wechseln so setz ich manchmal 0,4uS (Pegeldauer laut Datenblatt ein) und wenn ich mehr Zeit hab unter umständen auch 10uS. Mein uC schickt auch erst einSignal wenn der AD Wandler fertig signalisiert. wie lang das dauert hab (ich schick die befehle in der shleife gleich noch per rs232 raus) ich nich wirklich ne ahnung aber egal, hauptsache es funzt.

pebisoft
26.11.2004, 07:44
günstiger ist eine cmoskam von conrad für 12 euro und einen video-empfänger/sender-set für 37 euro von reichelt. man kann bilder bis über 30m reichweite aufnehmen. ich habe diese auf meinem küchenbrettroboter gebaut und schicke die bilder zum pc, wo wintv läuft.
kann standbilder machen und diese dann per programm auswerten.
mfg ebisoft

Joerg
26.11.2004, 09:33
Hallo,

ich habe hier vor geraumer Zeit eine Leiterplatte für die GB-Cam gewonnen (siehe https://www.roboternetz.de/phpBB2/viewtopic.php?t=1006&highlight=gbcam).

Da ich das Teil aus Zeitgründen nicht aufbauen werde, möchte ich die Platine verschenken, da es zu schade ist, die versauern zu lassen.

Also wer das Teil möchte weil er es wirklich braucht um das Board aufzubauen, schreibt mir ne Mail (keine PN) mit subject gb-cam, der erste kriegt es.

Viele Grüße
Jörg

nestler
26.11.2004, 10:21
interessantes angebot ;-)

wenn du das board wirklich nicht mehr brauchst...

Joerg
26.11.2004, 10:33
Hi Simon,

wie schon per Mail geschrieben, Board ist unterwegs.

Viele Grüße
Jörg

WielandW
04.01.2005, 19:57
Hallo Joerg

Wo gibt es Pläne zu der GB-Cam-Platine? Ich würde mich für einen eigenen Nachbau auch interessieren da ich mit der GBCAM schon Versuche gemacht habe. Ich dachte ich nehme die für eine bessere Linienerkennung am Boden meines Bots. Hab die eben noch herumliegen ud dachte ich setz die mal ein. Oder weis jemand genauer Bescheid über die Platine die daran normal angeschlossen ist? Ist ja ein Speicher und ein Microcontroller drauf. Die 32 Pins weis ich in der Belegung aber kein Protokoll. Konnte da auch nach langem Suchen nichts finden. Mit dem Z80 bin ich auf jeden Fall sehr gut vertraut wenn es sein muss.

Grüsse Wieland

Joerg
05.01.2005, 12:24
Hi Wieland,

sorry kann dir nicht weiterhelfen. Habe die Platine auch nur hier gewonnen (siehe oben genannten Link) und wegen Nichtbedarf zur Verfügung gestellt.

Viele Grüße
Jörg

Trabukh
05.01.2005, 13:21
Ich glaub' das war http://www.kreatives-chaos.com/index.php?seite=gbcam

Gruß, Trabukh

ACU
05.01.2005, 14:08
Gibt es eine Altnative zur Gameboy Cam?
Ich will die Daten nicht übertragen, sondern direkt auf dem Roboter auswerten (kein OnbOard PC).


MfG ACU

andi84
05.01.2005, 21:32
Ich glaub, dass ein AVR mit etwas RAM (32kB reicht zweimal) für einfachere Aufgaben ausreichend sein sollte (Linienverfolgen oder auch einen Lichtpunkt vefolgen)
Ich betreibe die GB-Kamera übrigens mit einem MEGA32 und dem in diesem eingebauten AD-Wandler.
Der MEGA32 ist effektiv überdimensionier, war aber halt grad auf dem Experimentierboard drauf.
Ein 90S4433er sollte auch reichen, allerdings ist der ADC da etwas schlechter.

MrNiemand
06.01.2005, 08:55
zum auswerten der Bilder, die Cam hat ja bei der richtigen Belichtung schon einiges drauf, wie Kantenerkennnunug usw. aber man braucht schon einiges an Performance, ich habe z.b. eine MMC Karte (leider noch ohne Dateisyystem(weis nicht wie ich es programmiern soll)(deswegen leider nicht einfach in den PC einsteckbar zum anschauen )angeschlossen um meine Bilder speichern zu können. Das ist ziemlich kostengünstig und die MMC ist auch ziemlich schnell.
Beim auswerten muss man halt darauf achten möglichst viel vom AVR weg zu bringen, denn der hat bei unkomprierten bildern ja immerhin 16k zu verarbeiten.

zum internenen AD: ich nehm dafür lieber einen externen AD Wandler, der fällt dem AVR nicht so zur Last, auserdem ist er schneller, und man kann die DAten vom AD direkt in einen RAM o.ä. laden, mann muss nur die Seicheraddressierung vom AVR machen lassen.

Linienfolgen: ich finde da schießt man doch mit der GBCAM auf Spatzen oder nicht ;)

Marco78
02.04.2005, 22:18
auch wenn der thread schon etwas älter ist, hab es mit bascom realisiert (wenn den source jemand will einfach mailen) das mit dem timing is sau eifnach, wenn die pegel in der richitgen reihenfolge gesetzt werden, kann man leicht den takt wechseln so setz ich manchmal 0,4uS (Pegeldauer laut Datenblatt ein) und wenn ich mehr Zeit hab unter umständen auch 10uS. Mein uC schickt auch erst einSignal wenn der AD Wandler fertig signalisiert. wie lang das dauert hab (ich schick die befehle in der shleife gleich noch per rs232 raus) ich nich wirklich ne ahnung aber egal, hauptsache es funzt.
Kannst du den Code nicht hochladen? Ich denke, da hättest du auch weniger Arbeit mit. Oder ist die Nachfrage nicht so groß? Zumindest ich hätte Interesse. Kannst du die Schaltung etwas erläutern? Welcher ADC usw. Oder hast du ein Schaltplan?

MrNiemand
02.04.2005, 22:34
ich versteh nicht was ihr für probleme habt mit dem source??? ist doch einfach nurn stures aptippen ausm datenblatt notwendig!

und wenn ich den code hochlade hesits nur weieder son mist oder sonst was ;)

ich vernwede den adc0820 als ad wandler schaltplan hab ich keinen hab halt gbcam schön mit avr verbunden und die pins vom adc0820 (wandlung fertig signal usw.) auch an den avr

Marco78
02.04.2005, 22:45
Warum bietest du denn an das Programm zu mailen, wenndu nicht verstehst, wo da unser Problem ist ;)

Ok, das du es aus diesem Grund nicht hochladen willst, kann ich leider verstehen und nachvollziehen.

Ein weiteres Problem ist, aus welchem Datenblatt zur Cam oder zum ADC? Zur Cam hab ich keins und den ADC wusste ich ja noch nicht.
Nächstes Problem wird die Verfügbarkeit des ADC0820/TLC0820 aber das wir wohl zu lösen sein.

MrNiemand
03.04.2005, 10:00
am anfang hab ich den code auch hergegebn, aber mitterweile frägt scheinbar jeder mit einer GBCAM und meinem source wieso das bild unterbleihtet ist, wieso ich dies und jenes im source gemacht hab was doch total umständlich ist usw.

UNd es ist jja nicht so, das ich den Leuten mit Problemen nicht helfe, nur macht es eben wenig sinn nur den source von mir auf nen avr zu packen und dann jammern das es nicht funzt.

Sorry aber das musste mal raus ;)

und irgendwie dacht ich mal es gibt mehr Leute im Forum, die dei Cam erfolgreich benützen.

zum ADC0820 es müsste auch mit dem internen ADC des AVR gehen aber der ist halt um einiges langsamer. Und du braucht mehr Operationen zum auswerten, der ADC0820 legt das ergebnis ja gleich an einem 8bit Port bereit.

bekommen kann man ihn schon, z.b. bei http://www.w-r-e.de/shop/index.html

Und es gitb ja auch noch jede Menge andere AD Wandler die schnell genug sind man muss ja nich unbedingt den ADC0820 nehmen.

das Datenblatte zur Cam bekommt man auf http://www.angelfire.com/de3/juliprograms/amr/gbcam.htm ganz unten rechts!!!

Marco78
03.04.2005, 10:35
Die Seite habe ich schon gefunden. Und es ist schön zu sehen, das Herr Rompel wieder wohl auf ist.

Andere haben diese Cam wohl auch. Aber anscheid hat es noch keiner mit BASCOM versucht. Du musst ja auch nur schreiben, Nein, den Code gibt's nicht mehr. Ist doch auch ok.

Ich suche auch weniger ein Code, um die digitalisierten Werte in denSpeicher zu bringen, sonder mehr das was danach kommt. Die Möglichkeiten der Auswertung.

Es ist aber auch schön zu sehen, wie unterschiedlich die Meinungen sind. Wenn jemand ein Ladegerät bauen will, werd er gefragt, warum er das Rad neu erfinden weil, weil es dafür fertige ICs gibt und auch Source für diverser µC.
Und wenn mal jemand das Rad nicht neu erfinden will, wird er gefragt, warum er sich nicht selbst gedanken dazu macht ;)

MrNiemand
03.04.2005, 14:55
naja ich helf dir ja bei den Problemen mit der Cam wenns Fragen gibt, auch bei der Ansteuerung usw.

Der Shop von Herrn Rompel ist der einzige den ich finden konnte der den ADC0820 fürn bezahlbaren Preis hat, wenn du den verwendest, helf ich dir gerne beim Source ;)

Marco78
03.04.2005, 15:22
Ich werde wohl ein PCF8591 nehmen. Der ist bei Reichelt lieferbar und erspart mir doppelte Versandkosten. Vielleicht auch ein anderen falls ich noch welche hier rumliegen habe.

Bei Problemen meld ich mich dann.

Ein Problem ist aber schonmal die Auswertung.
Als erstes wollte ich das Bild zum PC schicken um zu sehen ob es überhaupt geht. Das ist aber noch nicht das Problem.

Eine Art Bewegungsmelder geht ja auch noch.
Ein Bild im Speicher ablegen, ein zweites dazu und dann die 16kb Punkt für Punkt durchsuchen, ob sich was um mind. x% geändert hat zu Vorbild.
Und wenn es mind. y Änderungen war, hat sich was bewegt, oder es war zuvor dunkel und jemand hat das Licht eingeschaltet :D

Aber Linien verfolgen, Hindernisse erkennen, Hindernissen folgen. Da seh ich programmtechnisch mehr Aufwand und habe keine geeignete Lösung wie ein AVR das ausrechnen soll. Das liegt aber nicht am AVR sondern an der Auswertelogik.

MrNiemand
03.04.2005, 15:25
bewegungsmelder is au nich so einfach ;) aber du musst nich jeden pixel auswerten sondern du kannst ja alle zamzählen oder so!

die cam hat ja ne recht passable kantenerknnung damit lässt sich meiner Meinung nach viel anstellen. UNd vorallen dingen bringt sie dann nur noch 1bit pro Pixel das ist schon einiges an Daten weniger.

andi84
03.04.2005, 23:45
Noch mal zum Thema ADC.
Der ADC im AVR kann (zumindest beim MEGA8535, MEGA8 und einigen anderen) problemlos mit 1MHz ADC-Takt betrieben werden. Dann kann man noch das ADLAR-Bit in den ADC-Steuerregistern setzen und braucht fortan nur noch zu schreiben "Ergebnis=adch" Dann hat man die oberen acht Bit im ADCH-Register.
Bei einem MHz ADC-Takt kommt man übrigens auf etwa 70.000 Samples pro Sekunde. Das reicht für etwa 4 Frames/sek.
Zum testen reicht der ADC im AVR allemal. Vor allem kostet er halt keinen Cent extra.
Die folgenden Code-fragmente sind für einen MEGA32 mit 16MHz Takt

Ich initialisiere meinen ADC mit folgenden Befehlen:


Admux = &B00100000
Adcsra = &B10000111
Adcsr.6 = 1

Die Kameraregister werden mit den folgenden Werten geladen.
Register | Wert
%00 %80
%01 %0E
%02 %06
%03 %00
%04 %01
%05 %00
%06 %01
%07 %07
Die Werte hab ich aus dem Datenblatt des Kamerachips abgeleitet.

Ein datenblatt des Chips habe ich unter
http://geocities.com/vjkemp/M64282FP.PDF
gefunden.

MrNiemand
04.04.2005, 15:43
laut Datenblatt arbeitet der ADC mit max. 200khz

und es steht auch drin das wenn ich mch recht errinner der ADC zwischen 15 und 25 Zyklen braucht bis eine Wnadlung fertig ist!

andi84
04.04.2005, 19:14
Das der ADC eigentlich mit 200kHz arbeitet stimmt auch. Bei höheren Frequenzen verringert sich die effektive Auflösung. Eine A/D-Wandlung brauch auf dem Mega32 13 Takte plus 1,5 Takte für das Sample&Hold

Marco78
04.04.2005, 19:24
Eine A/D-Wandlung brauch auf dem Mega32 13 Takte plus 1,5 Takte für das Sample&Hold
Abhänig vom Modus Single oder Free ;)

Morgen fahr ich auf Montage und komme Freitag erst wieder, dann sollte die Cam auch da sein.
Wenn ich kein A/D-Wandler hier rumliegen habe, probier ich es mit dem internen und werde berichten ob es ging.