Pages: [1]   Go Down
Author Topic: Kamera am Arduino ?  (Read 1254 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Leute,

ich bin noch sehr frisch im Thema Arduino usw. Für ein Projekt, was mir so im Kopf herumschwirrt wäre es hilfreich, eine Kamera am Arduino zu haben um ein Bild nach dem Auslösen auf einen Webserver zu übertragen. Im Forum bin ich zwar auf Topics gestoßen zu diesem Thema, jedoch sind diese schon etwas älter.

Beim googeln bin ich auf diese beiden Dinger gestoßen:
http://www.electrodragon.com/?product=ov7670-camera-module-breakout-board-power-cable
http://www.miniinthebox.com/de/arduino-ov7670-kamera-modul_p391024.html

Kennt das wer ? Hat jemand bereits Erfahrung mit einer Kamera am Arduino ?

Ich würde mich sehr über eine Antwort freuen.

Beste Grüße
Lazzard
« Last Edit: January 12, 2013, 04:13:44 pm by Lazzard » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 234
Posts: 20208
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Prinzipiell ist zu sagen daß der Arduino UNO oder MEGA oder dessen Nachbauten zuwenig Rechenleistung und Speicher haben um Videodaten zu verarbeiten.

Was ist die SCCB Schnittstelle?
Grüße Uwe
 
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 52
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote

Zumindest dieses Kameramodul hat eine serielle Schnittstelle. Der Arduino taugt maximal dazu, das Modul zu parametrieren (Auflösung, Farbe/SW, Dateiformat usw.) und die Einzelbild-Aufnahme auszulösen. Danach die Daten irgendwohin zu leiten (seriell, Bluetooth, Ethernet), evtl. auf SD-Karte speichern. Das dauert pro Bild mindestens einige 10 Sekunden. Von "Bildbearbeitung" oder "Streaming" kann also wirklich keine Rede sein ...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich will damit sicherlich keinen Stream verfolgen. Es wäre von Nutzen, wenn ein Bild in einem bestimmten Moment geschossen wird und dann zu einem Webserver oder auf eine SD Karte abgelegt wird. Oder Mailversand mit dem Foto etc. Es würde da auch egal sein, wenn er 15sec zum verarbeiten benötigt.

Mich würde mal interessieren, ob schonmal jemand die Kamera irgendwie verbaut hat etc in Verbindung mit dem Arduino. Oder auch gerne Info's, wenn man damit gescheitert ist smiley
Logged

0
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3420
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Arduino ist das falsche Mittel für sowas. Nimm einen Raspi oder sonstwas in der Leistungsklasse.
Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Edison Member
*
Karma: 21
Posts: 1397
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kleines Rechenbeispiel. Die Kamera leifert 640x480 Pixel. Bei RAW RGB mit 8 Bit pro Kanal reden wir von 640*480*3 Bytes = 900KB pro Einzelbild. Nehmen wir ferner an, das Du die Daten mit 57600 bit/s aus der Kamera gelesen bekommst ( also 7.2kB/s) brauchst Du im Idealfall schon 125 Sekunden um ein einziges Bild zu lesen (selbst bei doppelter Geschwindigkeit noch immer eine volle Minute). Die Frage ist aber wie lange die Kamera die Bilder vorhält (interner Cahce 3M laut Deinem Link). Du musst das Bild aber auch noch auf eine SD-Karte schreiben, denn bei 2KB SRAM passt nur ein winziger Bruchteil der Bilddaten in den Speicher des Arduino. Danach hast Du dann das gleiche Problem mit dem Speicher, wenn Du die Daten weiterschicken willst, z.b. als Email. Dann hast Du aber immer noch ein RAW-RGB Bild und kein JPEG oder ähnliches. Die Verarbeitung musst Du dann auch noch machen und spätestens da ist dann der Arduino komplett überfordert.
Logged

Munich, Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ein Arduino Mega oder Eigenbau auf einem Breadboard mit einem atmega1284 lässt sich schon dafür benutzen. Siehe http://forum.arduino.cc/index.php?topic=159557.msg1194455 und mein Beispiel auf GitHub https://github.com/arndtjenssen/ov7670. Am besten ist eine OV7670 mit FIFO, die das Bild in einen Zwischenspeicher legt, der dann einfach ausgelesen werden kann. Damit lassen sich die aufgenommenen Bilder auf einem Display anzeigen, auf einer SD Karte abspeichern oder auch übertragen...
Logged

0
Offline Offline
Faraday Member
**
Karma: 19
Posts: 3420
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Klar, man kann auch an einen Smart eine Hängerkupplung schrauben. Spaß macht sowas aber nicht wirklich. Mit einem Raspi geht das einfach und der hat auch genug Leistung. Die Zeit die man mit dem Arduino verpulvert um das zum Laufen zu bekommen steht in keinem Verhältnis zu den zu erwartenden Einsparungen (falls sich überhaupt welche realisieren lassen).
Logged

Check out my experiments http://blog.blinkenlight.net

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,
ich beschäftige mich gerade auch mit dem OV7670 und muss den anderen Recht geben, die "Normalen" Arduinos sind deutlich zu schwach für den Datentransfer und die Datenmengen!
Es gibt wohl Projekte die mit der Minimalauflösung arbeiten und die Daten auf ner SD-Karte ablegen aber eine ordentliche Verarbeitung bzw. Weiterleitung ist deutlich zuviel!
Um Uwe's Frage zu beantworten:
SCCB ist eine I2C kompatible Schnittstelle um das Modul zu konfigurieren aber auch die Bilddaten auszulesen!

Ich versuche derzeit das Modul über einen Due anzusteuern um den umgang mit dem SCCB reibungslos hin zu bekommen, probleme bereitet mit noch die Taktgenerierung da ich ein modul ohne fifo benutze!
Schluss endlich aber auch nur ne trockenübung um das ganze auf ein raspberry pi, beaglebone black oder cubieboard 2 zu übertragen, ziel von mir ist es mit den Bildern von 2 Ov7670 räumliche Daten zu erfassen! Sobald ich was handfestes habe werd ich das Projekt mal vorstellen ^^
Logged

Munich, Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mmmh. Kommt ganz darauf an, was der Zweck des Aufbaus / Projektes ist. Mir reichen die mickrigen 16Mhz eines AVRs zur Ansteuerung einer OV760+Fifo, da ich die Bilder nur abspeichern und anzeigen möchte. Alles sehr gemächlich, kein Video, keine JPEG Komprimierung o.ä. notwendig. Ein Raspberry hätte auch zu wenig I/O Ports (im Vergleich zum atmega1284) für die zusätzliche Ansteuerung eines TFTs und anderer Sensoren, die ich für das Projekt benötige. Also mein Antwort auf die Frage: "Kamera an Arduino?" Ja, aber mit Einschränkungen. Die Kommentare anderer Forenteilnehmer fande ich zu absolut und demotivierend.

Die Kamera konnte ich mit der Arduino I2C Library nicht ansprechen, aber ich habe eine bit-banging Variante für SCCP gefunden, die funzt. Siehe SimpleI2C.ccp in meinen code auf github (link weiter oben). Eine OV7670 mit FIFO ist extrem praktisch, da man die Daten aus dem AL422 abholen (auch zwischendurch "stoppen") und weiterverarbeiten kann. Ohne FIFO und dem kleinen SRAM der AVRs wirds kritisch mit der Weiterverarbeitung, z.B. Speicherung auf SD.
Logged

Pages: [1]   Go Up
Jump to: