ATtiny44a und RC522

Hi Leute, hat schon mal jemand von euch versucht ein RC522 mit einem ATtiny44a zu betreiben?
So wie ich das jetzt verstanden habe muss man USI an SPI anpassen. Hat das von euch schon mal jemand getan und kann mir sagen wie ich das am besten bewerkstellige?
Ich habe das RC522 bereits an einem Arduino Nano laufen, möchte aber das Projekt in seiner Größe ein wenig schrumpfen lassen. Danke für eure hilfreichen antworten :wink:

Kann dein RC522 Dingen nicht auch Seriell, oder I2C?
Und SoftSpi implementieren, ist doch auch nicht ganz so schwierig, oder?

Erster Treffer bei Google für Arduino USI SPI

Ja, diese Seite habe ich auch schon gefunden. Nur muss ich feststellen, dass meine Programmierkenntnisse anscheinen noch nicht ausreichen um den ganzen Code zu verstehen, geschweige denn ihn an meine Bedürfnisse anzupassen. Ich dachte es gibt evtl schon fertige Projekte/ Tutorials bei denen genau dieses Problem behandelt wird.

Hi

Du kannst doch auch den ATtiny44 mit der Arduino-IDE programmieren - dann nimmst Du einen 'Arduino as ISP' und brennst das Programm/den Sketch auf den ATtiny - die Pin-Nummern und das 'ATtiny-interne-Zeug' müssen natürlich in Deinem Sketch für den ATtiny passen - entwickelt wird der Sketch ja normal auf einem Arduino.

Selber nehme ich dafür zwei verschiedene Blöcke, Die per Definition und der Prüfung auf Diese entweder die Arduino-Werte, oder die ATtiny-Werte im Sketch einbindet.
Auch werden serielle Ausgaben im ATtiny abgeschaltet, da das 'tiny' seinen Grund in der 'inneren Größe' hat und schnell das Steinchen voll ist.
Hatte aber bisher nur ATtiny45 (4kB) so verarztet.

MfG

Hab Da Mal was vor einiger Zeit zusammen gebastelt - ich war jung und brauchte das Geld Ausrede such :o

//'ATtiny' definieren, damit die Pins ür den ATtiny45/85 gesetzt werden, sonat auskommentieren!!
//Werkzeuge-Board-ATtiny
//Prozessor ATtiny45/85
//Programmer: Arduino as ISP

//sonst Arduino Uno (je nach dem, was vorhanden ist)
//Programmer: AVRISP mkII
#define ATtiny
//DebugALL hat nur auswirkungen, wenn KEIN ATtiny benutzt wird - listet die ablaufende Zeit auf
//#define DebugAll

#if defined ATtiny
const byte PirPin =2;//7;
const byte LedPin =1;//13;
const byte notPin =0;       //PB0 noch unbenutzt, wird IN_PullUp gesetzt

//Pins für die Kommunikation mit den Nachbar-ICs
const byte SoftRX=3;//10;
const byte SoftTX=4;//12;
//somit Pin0/PB0 noch frei
#else

const byte PirPin =7;

const byte LedPin =11;      //Pin13 ist kein PWM-Pin ... tolle WurstSF
const byte notPin =5;       //PB0 noch unbenutzt, wird IN_PullUp gesetzt

//Pins für die Kommunikation mit den Nachbar-ICs
const byte SoftRX=10;
const byte SoftTX=12;
byte temp=0;

//hier wird für den UNO übersetzt, die LED ist die bordeigene.
#endif

Du kannst doch auch den ATtiny44 mit der Arduino-IDE programmieren -

Ich glaube, das ist nicht sein Problem...
Sein Problem ist eher, dass der Tiny keine Hardware SPI Einheit OnChip hat.

Und er sich nicht durch die Literatur/Datenblatt des Tiny wühlen möchte

Vielen Dank @postmaster-ino für deine Antwort. Aber das war leider wirklich nicht meine Frage. Aber trotzdem danke, evtl kann ich deine Info nochmal irgendwann gebrauchen :wink:

combie:
Ich glaube, das ist nicht sein Problem...
Sein Problem ist eher, dass der Tiny keine Hardware SPI Einheit OnChip hat.

Und er sich nicht durch die Literatur/Datenblatt des Tiny wühlen möchte

Ja das ist wohl richtig, denn wüssten alle hier schon so viel wie du, würde wohl niemand dieses Forum benutzen. Da ich wohl im Vergleich zu dir noch ein blutiger Anfänger bin und mit den Datenblättern und von dem oben von dir geposteten Link leicht überfordert bin, wollte ich einfach nur wissen ob es für mein Problem eine Lösung gibt. Das soll nicht bedeuten, dass ich nicht bereit bin mich in irgendetwas einzuarbeiten geschweige denn Neues zu lernen. Man muss ja nur nicht jedes Mal das Rad neu erfinden.

Also....

Diese Tiny44 Board Definition hat eine SPI Implementierung.
Warum die bei dir nicht funktioniert, kann ich dir nicht sagen.
Und testen kann ich auch nicht, da kein t44 erreichbar