Brauche Hilfe bei Arduino-Mega und USB-Shield

Tom 2010-07-01 21:27:30 Link
Hallo werte Foristen,

ich wollte mal nachfragen, ob noch jemand Probleme mit dem Seeeduino(Mega)
und dem USB-Shield von Sparkfun hat?

Da ich mittlerweile den Wald vor lauter Foren-Bäume nicht mehr sehe, eine
Frage:

In diversen Foren liest man das der Mega seine SPI Ports nicht an der
gleichen Stelle hat wie z.B. der Milanove. Soweit ich das verstanden habe
sind die SPI Pins des Mega/Seeeduino auf den Digiports ausserhalb z.B. des
USB-Shields von Sparkfun. Auch hab ich von einem Hardware-Hack gelesen wo
man die SPI Pins am Shield wegbiegt und sich die Verbindung von den
Digiports mit Jumperkabel legt....

Wenn jemand einen funktionierenden Link/Workaround kennt oder sogar die
Lösung meines Problems parat hat, möge man mich bitte erhellen ;o) 

Vielen Dank im voraus

dl8rds 2010-07-09 05:25:35 Link
Ja, das habe ich auch eben bemerkt, und das ist der Grund, warum das
Ethernet-Shield nicht mit dem Arduino Mega oder dem Seeeduino Mega
funktioniert. 

Es bräuchte halt ein komplett neues zusätzliches Ethernet-Shield das dann
wieder nicht kompatibel mit dem Standard-Arduino wäre, und sowas will
(noch) niemand herstellen. 

Die Lösung wäre, selber mit einem Proto-Shield was zu basteln. Ladyada hat
ja so eine Art Interface-Shield zu einem XPORT-Ethernet-Device, das ein
gutes Stück kleiner ist und daher so eine Art Adapterboard braucht. Sowas
dürfte recht leicht selber herzustellen sein. 

Grüße
Markus

dl8rds 2010-07-09 05:28:20 Link
http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/

Hier gibts einen schön beschriebenen Hack, wo diese vier Pins umgeleitet
werden. Tja, das ist nicht so ganz production-ready, aber was solls. Wenn
es tickt :-)

Tom 2010-07-09 21:39:22 Link
Hi Markus,

Danke für die Antwort. Ja genau, den Hack meinte ich.

Das USB Shield läuft auf dem Duemilanove einwandfrei mit einem BT-Dongle.
Für das Seeeduinoboard hab ich folgendes gemacht.

In der SPI die Defines geändert(gilt nun für beide:-):

#if  defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__)
  #define SCK_PIN   13
  #define MISO_PIN  12
  #define MOSI_PIN  11
  #define SS_PIN    10
#endif

#if defined(__AVR_ATmega128__) || defined(__AVR_ATmega1280__)
  #define SCK_PIN   52
  #define MISO_PIN  50
  #define MOSI_PIN  51
  #define SS_PIN    53
#endif


dann wie in deinem Link beschr. die Jumper gelegt. Jetzt muss ich noch die
Max3421e_constants.h anpassen, mal sehen was das noch wird. Ich werde mir
auch nochmal Oleg`s Sourcen vornehmen und anpassen. Derzeit steck ich
jedoch knietief in C++ und SDL für eine API zu den Boards ;o) ...macht bei
der Brüllhitze aber nicht wirklich Spaß

Gruß und ein schönes Wochenende

Tom

Reply

Name
eMail (not visible)
Subject (no text only in upper case; no HELP, URGENT...)
Text
HTML tags are not supported and links are generated automatically if they start with http or ftp.
Please submit long source code or log files as attachment (only registered users).
Please enter the number 4559