Attiny841 und RC522 über SPI

Mahlzeit, Ich habe vor Kurzem einen Arduino Nano und einen RC522 (RFID) erfolgreich zum Laufen gebracht. Der RC522 wird per SPI an den Arduino angeschlossen. Jetzt wollte ich mein Projekt etwas "verkleinern" und möchte statt des Nano einen Attiny841 nutzen, welcher SPI voll unterstützt. Zum Programmieren habe ich einen alten Nano hergezogen der diese Aufgabe übernimmt (erfolgreich). Jetzt habe ich den RC522 den Pinout-Diagramm entsprechend an den Tiny angeschlossen, in meinem RFID-Testprogramm entsprechend den neuen Pins angepasst und es passiert leider gar nix. Zum Test möchte ich erstmal eine LED anschalten sobald der richtige Tag an den Sensor gehalten wird. Aber irgendwie scheint gar nix zu funktionieren. Muss ich im Bezug zum Tiny noch andere Dinge beachten oder habe ich etwas übersehen?

HerrMatze:
…habe ich etwas übersehen?

Wie sollen wir das Wissen ?
Zeige ein Schaltbild, wir du alles angeschlossen hast, dann sehen wir evtl. was du falsch machst.
Und poste den aktuellen Sketch, den du verwendest.
Setze den bitte in Code-Tags.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar, auch mobile Geräte.

Warum hast Du irgendwas geändert?

Ich bin jetzt einen Schritt weiter, nachdem ich meine Verkabelung nochmal überprüft habe, bin ich auf zwei kleine Fehler gestoßen… naja Anfängerfehler^^
Ich habe das RFID-Modul jetzt zum Laufen gebracht, nach dem Übertragen des Sketches auf den Tiny wird die LED auch eingeschaltet sobald die richtige Tag rangehalten wird. Nur habe ich jetzt das Phänomen, dass wenn ich die Versorgungsspannung abziehe und wieder anlege, die LED ausbleibt, auch wenn ich die Tag an den Sensor halte. Sprich, die LED schaltet sich nur ein nachdem ich das Programm frisch übertragen habe, also quasi nur einmal. Ich vermute einen weiteren Anfängerfehler aber blicke da momentan noch nicht durch. Danke für eure Hilfe

#include <SoftwareSerial.h>         // import the serial library
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 1
#define RST_PIN 11

MFRC522 mfrc522(SS_PIN, RST_PIN);
int LED = 2;                     // LED an Pin0
long code = 0;                      // Code der RFID Karte
                      
void setup() {
  SPI.begin();
  mfrc522.PCD_Init();
  // starte Serial Kommunikation
  Serial.begin(9600);

  //initialisiere Pinmodes
  pinMode(LED, OUTPUT);
}

void loop() {
  
  if (!mfrc522.PICC_IsNewCardPresent()){
  return;
  }
  if (!mfrc522.PICC_ReadCardSerial()){
  return;
  }
  for (byte i = 0; i < mfrc522.uid.size; i++){
  code = ((code+mfrc522.uid.uidByte[i])*10);
  }

// Code ist korrekt, Schaltbefehl für LED
while (code == 2392770){
  digitalWrite (LED, HIGH);
  Serial.println("Karte korrekt"); 
}
}

Mach die RFID-Code-Abfrage mal mit einer if-Abfrage, dann sollte das auch funktionieren.

Nein, keine Besserung. Habe den Verdacht, dass ich eine Einstellung falsch gesetzt habe. (siehe Anhang)
Wie gesagt, das eigentlich Problem ist, dass die LED nur einschaltet wenn ich das Programm frisch übertragen habe. Also Power aus, Power ein, Tag an Sensor, LED bleibt aus.

Bist du sicher, dass das richtig ist?

#define RST_PIN 11

Der Pin 11 ist der Reset-Anschluss des ATtiny841.
Wenn ich das richtig verstehe, dann wird Pin 11 aber zum Reset des MFRC522 verwendet. Das wird mMn. nicht funktionieren.
Versuche doch mal einen anderen Pin.

Hab ich gerade probiert, dann funktioniert nix mehr, weder programmieren noch die LED anzusteuern.

Könntest du bitte einen Schaltplan deines Aufbaus zeigen (ein Foto einer Handzeichnung reicht völlig).

Fotos deines Aufbaus, wo die Kabelverbindungen zu sehen sind, wären auch super.

Funktioniert denn alles mit dem ATtiny841 grundsätzlich? Hast du die richtigen Fueses gesetzt? Lade doch mal das "Blink-Beispiel" auf den ATtiny (LED 1 Sekunde lang an und 1 Sekunde aus) und schau, ob das funktioniert, also ob die Led auch im richtigen Intervall blinkt.