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
Probleme mit Arduino Mega und S65 / LAN
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
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
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
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


