Arduino Uno 3 mit Ethernetschield

Hallo Leute, habe meine alten versuche mit ESP8266 über Board geworfen, weil ich nicht weiter kam.
Nun habe ich ein Ethernet Schield W5100 bekommen und habe auch dazu im Internet ein Ketch gefunden

/**
 * Ethernet shield attached to pins 10, 11, 12, 13
 */

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

// MAC address (printed on a sticker on the shield)
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

// IPAddress server(74, 125, 232, 128);  // numeric IP (no DNS = reduce sketch size)
char server[] = "elektro.turanis.de";    // name address (using DNS)

// Static IP address to use if the DHCP fails to assign (find out in your router)
IPAddress ip(192, 168, 0, 177);
EthernetClient client;

void setup()
{
    Serial.begin(9600);

    if (Ethernet.begin(mac) == 0) {
        Serial.println("Failed to configure Ethernet using DHCP");
        // try to congifure using IP address instead of DHCP:
        Ethernet.begin(mac, ip);
    }

    // waiting for initialize
    delay(1000);
    Serial.println("Connecting...");

    if (client.connect(server, 80)) {
        Serial.println("OK");
        client.println("GET / HTTP/1.1");
        client.println("Host: " + String(server));
        client.println("Connection: close");
        client.println();
    } else {
        // if you didn't get a connection to the server:
        Serial.println("FAILED!");
    }
}

void loop()
{
    // available incoming bytes from the server
    if (client.available()) {
        char c = client.read();
        Serial.print(c);
    }

    // if the server is disconnected, stop the client
    if (!client.connected()) {
        Serial.println();
        Serial.println("disconnecting.");
        client.stop();
        while (true);
    }
}

Sketch überprüft und hochgeladen, Serielen Monitor aufgerufen hipp hipp hurra es läuft.
da ich auch einen Mifare Reader habe, habe ich etwas testen wollen, wie ich nach Chip etwas bewegen kann ( Stepper ( 28BYJ-48 ( ULN2003 ))) . In der beschreibung zum Sketch beim Stepper hätte erdieser die selben Pins wie der Reader genutzt, da ich die Pins nicht doppelt belegen wollte fand ich das in einer bestimmten Datei ich die Pins umbelegen kann, sketch überprüft und hoch geladen, und alles klappt, Belegt sind folgende Pins, Stepper Motor 7, 6, 5, 4, 5V, GND und für Reader 3,3V, GND, 9, 10, 11, 12, 13
Auszug aus CheapStepper.cpp

#include "Arduino.h"
#include "CheapStepper.h"
CheapStepper::CheapStepper () : pins({7,6,5,4}) {
	for (int pin=0; pin<4; pin++){
		pinMode(pins[pin], OUTPUT);
	}
}
#include <SPI.h> // SPI-Bibiothek hinzufügen
#include <MFRC522.h> // RFID-Bibiothek hinzufügen
#define SS_PIN 10 // SDA an Pin 10 (bei MEGA anders)
#define RST_PIN 9 // RST an Pin 9 (bei MEGA anders)
MFRC522 mfrc522(SS_PIN, RST_PIN); // RFID-Empfänger benennen
#include <CheapStepper.h> 
CheapStepper stepper; 
boolean moveClockwise = true; 
String LCard ="24623024560";
String RCard ="319916927";
String MCard ="137226219179";
void setup() // Beginn des Setups:
{
Serial.begin(9600); // Serielle Verbindung starten (Monitor)
SPI.begin(); // SPI-Verbindung aufbauen
mfrc522.PCD_Init(); // Initialisierung des RFID-Empfängers
}
void loop()  
{ 
if ( ! mfrc522.PICC_IsNewCardPresent()) // Wenn keine Karte in Reichweite ist...
{
return; // ...springt das Programm zurück vor die if-Schleife, womit sich die Abfrage wiederholt.
}
if ( ! mfrc522.PICC_ReadCardSerial()) // Wenn kein RFID-Sender ausgewählt wurde
{
return; // ...springt das Programm zurück vor die if-Schleife, womit sich die Abfrage wiederholt.
}
String CardID ="";
for (byte i = 0; i < mfrc522.uid.size; i++) {
  CardID += mfrc522.uid.uidByte[i];
if( CardID == LCard ){
  Serial.println("Card ID = LCard = " + CardID);
    for (int s=0; s<4096; s++){ 
    //Eine volle Umdrehung beinhaltet 4096 Schritte 
    stepper.step(moveClockwise); 
  } 
}
else if( CardID == RCard ) {
  Serial.println("Card ID = RCard = " + CardID);
    for (int s=0; s<4096; s++){ 
    //Eine volle Umdrehung beinhaltet 4096 Schritte  
    stepper.step(!moveClockwise); 
  } 
}
else if( CardID == MCard ) {
  Serial.println("Card ID = MCard = " + CardID);
    for (int s=0; s<4096; s++){ 
    //Eine volle Umdrehung beinhaltet 4096 Schritte 
    stepper.step(moveClockwise);
  } 
  delay (500);
      for (int s=0; s<4096; s++){ 
    //Eine volle Umdrehung beinhaltet 4096 Schritte 
    stepper.step(!moveClockwise); 
  } 
}
else {
  Serial.println("Unbekannt = " + CardID);
}
delay (500);
Serial.print("Weitere Karte");
Serial.print(" ");
}
}

Bevor ich zu sehr ins Details gehe wollte ich mich bei Euch erst mal um Rat bzw Vorabinformation einholen.
Mein Testaufbau war folgendes von unten nach oben:
Arduino Uno 3
Motor Shielt
EthernetShield
Der MotorShielt ist nur als Abstandhalter im Einsatz ( muß mir dan noch ersatz dafür besorgen.
Hardware wo zur Verfügung steht:
AZ-Delivery### Ethernet Shield W5100 mit MicroSD-Karten Slot
Arduino Uno, Arduino AT Mega
Welche Kombination ist zu Empfehlen,
Uno und Ethernet
oder AT Mega und Ethernet
Wenn möglich eine Pinbelegung mit geben umd Sketch kümmer ich mich später, Step bei Step.
Plan ist es immer noch meinen Raspberry mit MFRC zu ersetzen.

Kein Wunder, wenn du auch alle unsere Tipps ignorierst.
Wird das denn hier jetzt besser ?

Z.B.
Wozu ist der Motorshield, wenn du diesen nicht nutzt ?

zu Deinen fragen:
Ich nehme Tipps an aber dann liegt es an mir wenn etwas klappt oder nicht.
Ich bekam die Bibliothek oder Board für E8266 nicht eingebunden oder war zu unfähig das zu tun.
über das Shieltd klappte es ( siehe oben )
als Abstanhalter ist der Motor schield da weil die LAN Buchse direkt auf dem USB-B Buchse aufsitzen würde ( Kurzschluß wohlmöglich ( daher auch Anghängt das ich etwas suche wo ich mehr höhe gewinne ) )
Das problem wo ich zuerst hatte ist ja nun gelöst, dank dem Shield
Ich habe es ja auch hin bekommen mit einem bestimmten Chip den Motor sich drehen zu lassen.
Einer für links einer für rechts und einer wo sich der motor erst links und dann rechts rum dreht.
das waren meine Anfänge, sowas wie ein LED zum leuchten bringen oder blinken das habe ich hinter mir.
Hier und jetzt es um die Pinbelegung.
Als Beispiel habe ich oben das mit dem Stepper gezeigt.
Nur jetzt habe ich nichts gefunden wie ich eine Mehrfachbelegung umgehen kann
Bein UNO ist Pin10 für SS, die anderen wie MISO, MOSI können doppelt belegt werden.
Ist es möglich den SS-Pin von 10 auf Pin 7 zu verlegen ? Habe noch keine Pinouts gefunden wo ich richtig verstehe.

Nein.
Und PIN 4 ist fest mit der SD-Karte vertackert. Wenn Du die also nutzen willst, wirst du schon mal planen müsssen.

Zu jedem shield gibt es eine doku. Da ist auch die Belegung drin und ein Schaltplan.
Das mit der USB-Buchse und dem Netzwerkshielt: Zwei Lagen Tape auf die USB-Buchse.
Das Shield hat im original lange Pins, das passt dann schon, Nachbauten haben meisst kürzere Pins, da sitzt das Shield dann evtl. schief drauf. Muss man genauer hinsehen.

Dein Schild macht sehr oft Probleme mit Mega, und wen du SPI benutzen willst dann vergiss es mit draufstecken, Mega hat SPI auf der seitlicher Steckleiste.
Die USB Buchsen mit tesa abkleben danach gibt's kein Kurzschluss :wink:

Warum fragst du nicht weiter ?

Ich betreibe den Uno und das Ethernetshield direkt aufeinander. Als Isolation habe ich ein Stück dünne Pappe zwischen die Buchsen geklebt.
Das läuft schon einige Jahre so.

Mal langsam zum mit denken.
Behandeln wir erst mal die Pins und Ihre länge.
Von Platine zu Platine passt eine MicroSD Karte in der Länge dazwischen.
Ich nehme an das sind lange Pins, weil ich bei einen anderen Shield sichtbar küreze Pins habe.
Wenn die Pins lang genug sind dann nehme ich gerne Isolierband.
Beim lesen von Sketche sollte Pin 9 und Pin 10 beimMega nicht genutzt werden.
Auf der Suche nach Lösungen hatte ich früh fest gestellt das man mehrere Geräte fast paralell betreiben kann und mir sagte mal jemand man könne die pins selber neu definieren wo zu ich letzeres nichts gefunden hatte.
Ich fasse mal zusammen was ich verstanden habe:
Das Schield auf Mega mach probleme, ich denke das ich den MFRC nicht auf Digitale Pins 9-13 legen kann wie bisher vorgesehen, der Mega bietet Sie ja auch bei Digitalen Pin in 50er an, was ist wenn ich die in den 50er für MFRC nutze ? darüber habe ich noch nichts gefunden

Keine Ahnung von welchen Pins du schreibst.
Sicher ist die Länge der Pins wichtig. Bei mir waren es die Originalen und die passen.

Poste doch mal ein Foto, auf dem die Pins zu erkennen sind.

Man sollte halt nicht alles glauben. Und eine Beschreibung dazu, hat der jenige nicht geliefert.

Er bietet nicht er hat SPI nur dort
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).
wo bei wen du CS Pin braucht kann man den auf jeden Digitalen Pin setzen

Nur der SS-Pin auf dem Expandersockel ist von Interesse.
Alles andere geht mit dem Shield genau so wie mit einem UNO - wennes dann auf dem ISP-Header aufgesteckt ist.

Wenn der Da ist :wink:
Ist ja wie mit dem I2C bei manchen Schilds das die mit A4, A5 verbunden sind, Meine die obere Links am USB,
Und wenn das Schild hat SPI am ISP so wie bei Uno verbunden (10 -13) dann wünsche viel Spaß :wink:

ID_3110_2
www#.xplore-dna.net/mod/page/view.php?id=3110

Das ist der Hintergrund warum ich suche nach Lösung

wwwx.exp-tech.de/blog/arduino-mega-2560-pinbelegung

Das X nach WWW muß weg normal
Hier hätte ich 2 SS Anschlüsse wen ich es richtig verstehe zu einem D10 und D53

#include <SPI.h> // SPI-Bibiothek hinzufügen
#include <MFRC522.h> // RFID-Bibiothek hinzufügen
#define SS_PIN 10 // SDA an Pin 10 (bei MEGA anders)
#define RST_PIN 9 // RST an Pin 9 (bei MEGA anders)
MFRC522 mfrc522(SS_PIN, RST_PIN); // RFID-Empfänger benennen

Sind damit meine Probleme nicht gelöst wenn ich den Mega nehme mit Schield,
oder ist es möglich die Doppel belegung doch nutzen zu können wenn man was man im setup oder oben hat mit in loop nimmt und je nach bedarf anspricht.
Mein Reader soll Karte erkennen und mir ChipID anzeigen ( einzigste Funktion vom Reader) bzw ich möchte diese weiter nutzen dann über das Netzwerk, nach ende des durchlaufes der loop das ich den Reader wieder anprechen kann

Wenn du das so machst wie in der SPI Zeichnung sollte das funktionieren notfalls den SS vom Reader auf 53 klemmen.

Am W5100 Shield sind , egal ob am UNO oder am MEGA 2560, die SS Pins vom W5100 und vom SD-Karte fest auf 10 und 4 verdrahtet. Darum kann der RFID Reader nicht auf das Pin 10 angeschlossen werden. Ein Shield dazwischenklemmen damit es mehr Abstand hat ist das gefährlich. Jedes Shield benutzt Pins und stört so unter Umständen die Shields.

Grüße Uwe

mein Reader ist kein Shield
haben zwar rfid shield aber no nie damit was gemacht
danke werde es nun testen hoffe bekomme alles auch hin
habe auch noch andere ethernet anschluss teile bestellt weil es muß doch gehen
ein bekannter hatte es mal gemacht ohne schields für ein kaffeeautomat
soweit will ich nicht gehen

So klappt alles zumindest auf hardwareseite
auf softwareseite habe ich noch probleme
jetzt wird neu gedacht mal

Ok, du musst auch nich weiter auf unsere Bitten oder Fragen eingehen.
Hat sich also zum vorherigen Thread nichts geändert.

Allso scheint so aus sehen, der TO ist allwissend dann warum fragt er.

Ich seh das mal positiv:
Er will unser Wissen prüfen. :clown_face:

Mit Foto Posten geht nicht so ohne weiteres, frühestens Di komme ich dazu weil ich Mo erst noch Kabel holen muß
Bilder habe ich gemacht mit Mobilfon, aber USB-Ladekabel liegt wohl im Büro oder muß mir neues holen

Ich habe nie was mit programieren zu tun gehabt ich lerne aus lesen und testen

Noch etwas ich prüfe kein wissen
wenn ich das machen wollen würde dann würde es anders aussehen