ich möchte gerne sehr schnell eine Reihe von Bildern an den Arduino schicken, bin aber noch nicht sicher, wie ich das machen soll.
Später werde ich sie wohl auf einer SD-Karte puffern, allerdings möchte ich sie dennoch live übertragen. Nur wie bekomme ich die Bilddaten zum Arduino? Wie würdet ihr das anstellen?
PC-seitig nutze ich C#, nun hatte ich daran gedacht im C# jeweils ein Bild zu laden, einzeln jeden Pixel des Bildes auf R, G und B auszuwerten und jeden Pixel mit jeweils 24bit zu übertragen. Da ich aber gerne etwa 25 Bilder die Sekunde verschicken möchte (Auflösung ist nicht hoch, maximal 500x100), könnte ich je nach PC-Auslastung auf diese Weise in Zeitprobleme geraten. Ich könnte andererseits auch das gesamte Bild direkt an die SD-Karte übertragen, allerdings habe ich von vorherigen Versuchen in Erinnerung, dass das Lesen und Schreiben auf die SD-Karte mit der gängigen Lib ätzend langsam ist...
500x100 Pixel a 3 Byte brauchen 150kByte RAM. Der Arduino UNO hat 2kByte, der Arduino MEGA 2560 8kByte RAM.
Ich würde sagen Du brauchst ein andres System zB Rasberry.
Grüße Uwe
Ich dachte eigtl an den DUE, aber du hast recht, da passts auch schon nicht. Zumindest nicht, wenn ich das gesamte Bild auf einmal übertragen möchte. Ich könnte natürlich die Farbtiefe verringern, sagen wir auf 6bit je Farbe und die Auflösung halbieren. Allerdings könnte ich auch das gesamte Bild in Schritten schicken.
Ich würde gerne beim Arduino bleiben, kann es denn sein, dass es keinen schnellen Weg dibt, die Bilddaten zu übertragen? :-/
Mit dem Due hab ich sowas schon mal probiert, allerdings mit 240x128 Pixeln Auflösung und nur schwarzweiß. Über die Serielle Schnittstelle mit 115200 baud bekommst du selbst da keine 20fps hin.