Probleme mit Arduino Mega und S65 / LAN

Da_Hero User 2009-08-14 09:09:20 Link
Hallo, habe gestern meine Lieferung erhalten.
In freudiger Erwartung habe ich dann erst nur den Arduino Mega angesteckt.
er blinkt, also ist laut Anleitung das Beispielprogramm drauf und
funktioniert anscheinend.

Dann habe ich den S65 Shield aufgesetzt und wieder an USB angesteckt, aber
auch wen nich ein Sample-Projekt reinlade (die LED's am Adruino blinken,
also denke ich er läd wirklich was) bleibt das Shield dunkel.

Ebenso geht es mir wenn ich dne Netzwerkshield anstecke. Da leuchtet auch
keine PowerLED oder sonst eine.

Was mache ich falsch?

Noch eine frage: Ist es richtig, aß der Netzwerk-Shield nur mit dem
Hardware-Hack auf dem Mega funktioniert? (Ich habe das gestern versucht,
aber wie gesagt scheinbar ist kein Strom auf den Shields.

Ich habe auch ein Netzteil mit 7,5V zusätzlich (oder auch nur allein )
angesteckt, aber die Shields bleiben dunkel...


Was ich gesehen habe im Programm zeigt die Serielle Konsole Fehlermeldungen
an wenn ich den Arduino anstecke:

Error inside Serial.serialEvent()
java.io.IOException: Bad file descriptor in nativeavailable
at gnu.io.RXTXPort.nativeavailable(Native Method)
at gnu.io.RXTXPort$SerialInputStream.available(RXTXPort.java:1532)
at processing.app.Serial.serialEvent(Serial.java:206)
at gnu.io.RXTXPort.sendEvent(RXTXPort.java:732)
at gnu.io.RXTXPort.eventLoop(Native Method)
at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)


Dieser Absatz wiederholt sich andauernd.
Ich habe Vista X64, liegt es daran?
Den Treiber für den Arduino hat Windows selbständig installiert. Laut
anleitung soll man ja den aus dme Arduino Verzeichnis nehmen.


Gruß Bernd

Andreas Watterott User 2009-08-14 16:19:43 Link
Hallo Bernd,

Welche Arduino Version benutzt und hast du das richtige Board in der
Software eingestellt?
Kommen beim Flashen eines Sketches auch Fehlermeldungen?

Probiere mal den neusten Treiber von FTDI:
http://www.ftdichip.com/Drivers/VCP.htm

> Noch eine frage: Ist es richtig, aß der Netzwerk-Shield nur mit dem
> Hardware-Hack auf dem Mega funktioniert? (Ich habe das gestern versucht,
> aber wie gesagt scheinbar ist kein Strom auf den Shields.
Ja, soweit ich weiß geht das original Arduino Ethernet-Shield nur über
diesen Hack:
http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/

Beim NKC Ethernet-Shield braucht man das aber nicht:
http://mcukits.com/2009/04/22/nkc-ethernet-shield-for-arduino-assembly-g...

Gruß
Andreas

Da_Hero NoUser 2009-08-15 21:54:31 Link
Oh, Mann. Ich Dapple hab die Shields nur falsch eingesteckt gehabt!
Jetzt geht zumindes das Ethernet Shield, aber beim S65 hjasb ich noch
probleme.
Es bleibt weiß. Bis jetzt habe ich nichts zu sehen bekommen auf dme LCD.
Aber ich versuche noch ein wenig rum.

Gruß Bernd

Da_Hero NoUser 2009-08-18 13:37:29 Link
Hallo, das S65 Shield funktioniert jetzt, ich musste natürlich die drei
abgezweigten Pins (vom Ethernet-Shield) wieder nach oben durchreichen...
Dumm, dumm.

Nun aber das nächste Problem. wenn ich die SD-Card und den Ethernet-Shield
verwenden will muß ich ja mit eurem Beispiel die Quick 'n dirty
initialisierung machen.
Er bleibt mir aber beim initialisieren hängen...

Hier mein test-code:
---
void setup()
{
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 

  //init LCD
  Serial.print("Init LCD..." );
  lcd.init(2); //spi-clk = Fcpu/2

  //init Rotary Encoder
  Serial.print("\nInit Rotary Encoder..." );
  encoder.init();

  //if using Ethernet-Shield this must be init before the SD-Card
  //here is a quick and dirty init:
  Serial.print("\ninit ethernet..." ); 
  DDRB  |=  (1<<2); //SS -> Output
  Serial.print("\ninit ethernet - 1" ); 
  PORTB &= ~(1<<2); //SS -> Low -> Select Ethernet-Shield
  Serial.print("\ninit ethernet - 2" ); 
  SPDR   =  (0xF0);                   
  Serial.print("\ninit ethernet - 3" ); 
  loop_until_bit_is_set(SPSR, SPIF);
  Serial.print("\ninit ethernet - 4" ); 
  SPDR   =  ((0x8000 & 0xFF00) >> 8); 
  Serial.print("\ninit ethernet - 5" ); 
  loop_until_bit_is_set(SPSR, SPIF);
  Serial.print("\ninit ethernet - 6" ); 
  SPDR   =  ( 0x8000 & 0x00FF);       
  Serial.print("\ninit ethernet - 7" ); 
  loop_until_bit_is_set(SPSR, SPIF);
  Serial.print("\ninit ethernet - 8" ); 
  SPDR   =  (0x80);                   
  Serial.print("\ninit ethernet - 9" ); 
  loop_until_bit_is_set(SPSR, SPIF);
  Serial.print("\ninit ethernet - 10" ); 
  PORTB |=  (1<<2); //SS -> High -> Deselect Ethernet-Shield
  Serial.print("\ninit ethernet - ready!..." ); 
  
  //init SD-Card
  Serial.print("\ninit SD Card..." ); 
  sd.init(2); //spi-clk = Fcpu/2

---

Im Serial Monitor bleibt er bei der Ausgabe von "init ethernet - 3" stehen.
d.h. er hängt bei dem Aufruf von 
loop_until_bit_is_set(SPSR, SPIF);

Gibt es eine genauere Erklärung von dem quick and dirty init? vielleicht
kann ich den Fehler finden wenn ich verstehe was da passieren soll...

andere Frage: Kann ich den Ethernet-shield umtauschen gegen den NKC
Ethernet-Shield for Arduino-Mega? Sprich kriege ich das geld wieder zurück
und kann mir den passenden Shield Kaufen?

Der NKC Shield läuft doch mit dem MEGA und dem S65 einwandfrei und ohne
hacks, oder?

Gruß Bernd

Andreas Watterott User 2009-08-18 15:20:25 Link
Hallo Bernd,

Bei Verwendung eines Arduino Mega und dem Ethernet Shield braucht man die
"quick and dirty" Initalisierung nicht. Ich habe die Doku gerade mal
aktualisiert.

> andere Frage: Kann ich den Ethernet-shield umtauschen gegen den NKC
> Ethernet-Shield for Arduino-Mega? Sprich kriege ich das geld wieder 
> zurück und kann mir den passenden Shield Kaufen?
Da musst du direkt bei meinem Bruder nachfragen. Warum hast du eigentlich
das original und nicht das NKC Shield gekauft? Ich hatte damals doch auch 
NKC Ethernet-Shield geschrieben:
http://www.watterott.net/forum/topic/16

> Der NKC Shield läuft doch mit dem MEGA und dem S65 einwandfrei und ohne
> hacks, oder?
Wie bereits oben (http://www.watterott.net/forum/topic/18#147) erwähnt
braucht man beim NKC Shield keinen Hardware-Hack - nur eine Änderung in der
Software.

Gruß
Andreas

Antworten

Name
eMail (wird nicht angezeigt)
Betreff (keinen Text nur mit Großbuchstaben; kein HILFE, HELP...)
Text
HTML Tags werden nicht unterstützt und Links werden automatisch erstellt, wenn sie mit http o. ftp beginnen.
Längeren Sourcecode oder Logdateien bitte als Dateianhang einfügen (nur registrierte Benutzer).
Bitte die Zahl eingeben 9987