Go Down

Topic: 1284p Ethernet Shield (Read 6008 times) previous topic - next topic

skorpi08

#15
Mar 21, 2013, 11:41 am Last Edit: Mar 21, 2013, 11:44 am by skorpi08 Reason: 1
PIN10 an PB2

Code: [Select]
Chat server address:0.0.32.0
Chat server address:0.0.240.4
Chat server address:2.0.32.0
Chat server address:0.0.0.4
Chat server address:0.32.0.32
Chat server address:0.32.0.32
Chat server address:0.32.0.4
Chat server address:0.4.0.4
Chat server address:0.0.0.4
Chat server address:2.0.32.0
Chat server address:4.0.0.4
Chat server address:255.255.0.4
Chat server address:0.32.0.0
Chat serverÿChat server address:0.4.16.4
Chat server address:0.4.0.4
Chat server addressChat server address:0.0.32.0
Chat server address:2.0.32.0
Chat server address:0.32.0.3Chat server address:0.0.0.4
Chat server address:0.37.0.32
Chat server address:0.32.0.4
Chat server address:0.32.0.32
Chat server address:2.0.16.16
We have a new client
Chat server address:0.32.0.4
Chat server address:85.0.32.0
Chat server address:0.0.32.0


Code: [Select]
/*
Chat  Server

A simple server that distributes any incoming messages to all
connected clients.  To use telnet to  your device's IP address and type.
You can see the client's input in the serial monitor as well.
Using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,178, 177);
IPAddress gateway(192,168,178, 1);
IPAddress subnet(255, 255, 0, 0);


// telnet defaults to port 23
EthernetServer server(23);
boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
 // initialize the ethernet device
 Ethernet.begin(mac, ip, gateway, subnet);
 // start listening for clients
 server.begin();
// Open serial communications and wait for port to open:
 Serial.begin(9600);



 Serial.print("Chat server address:");
 Serial.println(Ethernet.localIP());
}

void loop() {
 // wait for a new client:
 EthernetClient client = server.available();

 // when the client sends the first byte, say hello:
 if (client) {
   if (!alreadyConnected) {
     // clead out the input buffer:
     client.flush();    
     Serial.println("We have a new client");
     client.println("Hello, client!");
     alreadyConnected = true;
   }

   if (client.available() > 0) {
     // read the bytes incoming from the client:
     char thisChar = client.read();
     // echo the bytes back to the client:
     server.write(thisChar);
     // echo the bytes to the server as well:
     Serial.write(thisChar);
   }
 }
}





PIN10 an PB4

Code: [Select]
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat seòChat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Chat server address:255.255.255.255
Nicht Mensch, nicht Tier: Programmierer halt...

mkl0815

Sieht so aus, als wäre Dein 1284p im Dauerreset. Denn eigentlich kommt die Ausgabe der Chat-Server Adresse nur einmal im setup().
Weiterhin wundert mich die Ausgabe nicht die gesetzte IP liefert. Auch die Netzmaske kommt mir komisch vor. Normalerweise ist die ehre 255.255.255.0.
Hast Du das Shield mit genau diesen Sketchen mal auf einem Uno probiert? Nicht, das es ein Netzwerkproblem und kein Chip-Problem ist.

skorpi08

Auf UNO läufts richtig:

ChaChat server address:192.168.178.177

Subnet habe ich auch angepasst, ändert sich nichts.
Nicht Mensch, nicht Tier: Programmierer halt...

pylon

Ich habe soeben bemerkt, dass das ChatServer-Beispiel wirklich die falschen Parameter an die Ethernet-Bibliothek übergibt. Der dritte Parameter von Ethernet.begin() ist die IP des DNS-Servers und nicht der Gateway. Kannst Du das noch ändern?

Aber ich stimme mit mkl0815 überein, es sieht so aus, als würde Dein Breadboard-Rechner ständig resetten. Als erstes würde ich die Glättungskondensatoren näher an den Chip bringen und noch einen hinzufügen, der mind. 10µF gross ist.

skorpi08

Auf UNO:
Cha address:192.168.178.1
Chat server address:192.168.178.1

Auf 1284p:
C32.0.0
Chat server address:0.0.0.4

Ich habe hier nur 0,1µf und 22pf
Nicht Mensch, nicht Tier: Programmierer halt...

skorpi08

Wie siehts denn mit dem AREF PIN aus? Muss der angeschlossen werden oder nicht? weil wenn ja, dann siehts so nach paar mal resett aus.....

Code: [Select]
Ch address:192.168.178.177
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:192.168.240.0
Chat server address:192.168.240.0
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:0.168.178.177
Chat server address:0.168.178.177
Nicht Mensch, nicht Tier: Programmierer halt...

pylon

Quote
Wie siehts denn mit dem AREF PIN aus? Muss der angeschlossen werden oder nicht?


Bei meinen Breadboard-Rechnern habe ich ihn immer verbunden, aber ob das notwendig ist, weiss ich leider auch nicht.
Ich bin aber immer noch der Meinung, dass Du Kondensatoren zur Glättung (englisch decoupling) einsetzen musst. Direkt am Chip sollte ein 100nF sein, in der Versorgung mind. 40µF.

skorpi08

10,11 und 30,31 ist mit einem 0.1 µF (100nF) verbunden. Crystal hat 22pF an 12,13 dran.
Nicht Mensch, nicht Tier: Programmierer halt...

pylon

Quote
Crystal hat 22pF an 12,13 dran.


Ich nehme an, gegen GND.

Einfach zur Sicherheit eine Nachfrage: Die Ausgabe passiert, ohne dass Du den Reset-Taster anfasst, einfach spontan?

Kannst du mal im Betrieb die Spannung von Vcc nach GND messen? Und wenn Du hast, hänge mal einen etwas dickeren Elko zwischen Vcc und GND, so ab 40µF.

skorpi08

Ja gegen GND

Da hab ich reset gedrückt um zu schauen ob die ip sich ändert
Code: [Select]

Ch address:192.168.178.177
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:192.168.240.0
Chat server address:192.168.240.0
Chat server address:192.168.178.177
Chat server address:0.168.178.177
Chat server address:0.168.178.177


Bei den anderen hab ich nicht gedrückt.
Es sind 3.6-4 volt, schwankt immer.
Nicht Mensch, nicht Tier: Programmierer halt...

pylon

Quote
Es sind 3.6-4 volt, schwankt immer.


Was belegt, dass Deine Stromversorgung das Problem ist. Versuche mal, den Arduino mit Strom vom externen Netzteil zu versorgen (7.5 - 9V). Vielleicht liefert Dein Rechner auf dem USB nicht genügend Strom für dieses Dreiergestirn.

skorpi08

Mit 12V sind es auch nicht mehr als 4.2V

Welchen pin brauch die Sd karte? Hab an pin 4 und PB0 probiert, Serial Monitor findets nicht.
Nicht Mensch, nicht Tier: Programmierer halt...

mkl0815


Mit 12V sind es auch nicht mehr als 4.2V

Und wo sind die 12V angeschlossen? Wie betreibst Du denn den 1284P?

skorpi08

Als Programmer nutze ich das UNO Board ohne den 328 Chip. An dem UNO Board sind die 12V auch angeschlossen. Gemessen habe ich an 10 und 11 bei dem 1284p.
Nicht Mensch, nicht Tier: Programmierer halt...

pylon

Wenn Du den 1284p abhängst, was misst Du dann zwischen 5V und GND am Ethernet Shield?

Quote
An dem UNO Board sind die 12V auch angeschlossen.


Was heisst hier auch? Wo denn sonst noch?

Go Up