Na sowas, die Pins gibts ja gar nicht.
Naja, dann schreiben wir das Programm halt um, und suchen uns die Pins selbst aus.
Wir können im Prinzip alle Digital-Pins (0-53) als Digitalausgang benutzen.
Vorschlag: Statt 57, 56, 54 nehmen wir 47, 46, 44.
Sähe dann so aus:
Code:
/*
Matrix
LED-Matrix zeigt ein Bild
Dieses Beispiel aus dem Fritzing Creator Kit: www.fritzing.org/creator-kit.
*/
// Pinbelegung für Arduino MEGA
int reihenPins[8] = {9,3,2,12,55,11,7,6}; // Anschlüsse der Reihenpins am Arduino
int spaltenPins[8] = {13,8,47,10,5,46,4,44}; // Anschlüsse der Spaltenpins am Arduino
...
Was ist zum Beispiel der unterschied zwischen digital Pin und mapped Pin?
Mapped bedeutet, dass sich die Arduino-Entwickler eine eigene Pin-Bezeichnung überlegt haben.
Sie nennen die Pins des Boards z.B. Analog- oder Digitalpins. Das dient der Vereinfachung.
In Wirklichkeit liegen die Pins an unterschiedlichen Ports und haben andere, kryptische Bezeichnungen.
Diese kann man im Datenblatt des Microcontrollers finden.
Unter der Haube wird also z.B. Digitalpin 40 über eine Art Tabelle (Map) in eine Adresse überführt,
die den Port direkt adressiert. Man kann auch nicht direkt ein Bit eines Ports setzen, sondern nur alle 8.
Das geht über eine Bitoperation, die im Hintergrund ausgeführt wird, und für den Arduino-Programmierer
nicht sichtbar sind.
Für den normalen Arduino-Nutzer reicht daher zu wissen, wieviele Pins sein Arduino hat,
und welche davon durch sein Programm schon belegt sind.
Die Grundidee von Arduinos: Dem Programmierer den Low-Level Kram abzunehmen,
sodass er eigentlich kein Datenblatt des Microcontrollers lesen braucht, und sich stattdessen auf das
Lösen der eigentlichen Aufgabe konzentrieren kann (z.B. Ansteuerung einer Led-Matrix).
Lesezeichen