Forum: Mikrocontroller und Digitale Elektronik Ungenutzte Arduino Mega Pins verwenden


von Markus B. (markus_b571)


Lesenswert?

Hallo, ich möchte ein kleines Projekt mit Arduin9 für den Atmega 2560 
erstellen, aber nicht mit dem Arduino Mega.

Bei der Platine werden Ports verwendet, die auf der Arduino Mega Platine 
gar nicht rausgeführt sind wie PD5. Dementsprechend gibt es dafür keinen 
definierten Pin in Arduino.

Ich möchte aber ein Display mit u8g2 ansteuern, das Pins verwendet, die 
in Arduino nicht definiert sind. u8g2 erwartet aber leider Arduino Pins 
und scheint keine normalen Portdefinitionen zu akzeptieren.

Kann ich die ungenutzten Pins irgendwie nutzen?

von Jürgen (Gast)


Lesenswert?

Warum wählst Du für Dein Sketch dann nicht den richtigen Prozessor?

von EAF (Gast)


Lesenswert?

Markus B. schrieb:
> Kann ich die ungenutzten Pins irgendwie nutzen?
Ja!

In dem du eine angepasste Board Definition verwendest!
Du könntest eine eigene hinzubauen, oder eine schon vorhandene verwenden

Die Anpassungen finden sich in der betreffenden 
boards.txt/boards.local.txt und im variants Ordner

Beitrag #7305350 wurde von einem Moderator gelöscht.
Beitrag #7305351 wurde von einem Moderator gelöscht.
von EAF (Gast)


Lesenswert?

Jürgen schrieb:
> Warum wählst Du für Dein Sketch dann nicht den richtigen Prozessor?
Arduino nutzt von Hause aus nicht alle Pins in seiner Nummerierung, da 
sie nicht auf dem Board herausgeführt sind.

Evtl ist https://github.com/MCUdude/MegaCore das richtige...

von Markus B. (markus_b571)


Lesenswert?

Ich verwende den Controller selbst als "Board", aber ich finde nirgendwo 
eine Zuweisung, welcher AVR Port welche Arduino Pinnummer hat.

Ich finde nur die vom Arduino Mega und da gibt es eben kein PD4, PD5 
oder PD6.

Also wo finde ich die Pinnezeichnungen für die Controller direkt?

von Falk B. (falk)


Lesenswert?

Markus B. schrieb:
> Ich finde nur die vom Arduino Mega und da gibt es eben kein PD4, PD5
> oder PD6.

Loht sich der Aufwand WIKLICH? Der Mega hat TONNENWEISE IOs, warum zur 
Hölle willst du ausgerechnet die nehmen, die nicht verdrahtet sind?

von EAF (Gast)


Lesenswert?

Markus B. schrieb:
> Ich finde nur die vom Arduino Mega und da gibt es eben kein PD4, PD5
> oder PD6.

Verwenden kannst du sie trotzdem!
Unter den  PD4, PD5 usw. Bezeichnern....
Nur halt nicht mit digitalWrite() usw.

Wie schon gesagt:
Deine Boarddefinition erweitern, oder eine schon erweiterte nutzen.
Dann gehts auch mit digitalWrite() usw.

Das sind 3 Möglichkeiten, sich dir die schönste aus.

von Markus B. (markus_b571)


Lesenswert?

Falk B. schrieb:
> Loht sich der Aufwand WIKLICH? Der Mega hat TONNENWEISE IOs, warum zur
> Hölle willst du ausgerechnet die nehmen, die nicht verdrahtet sind?

Die Hardware existiert schon. Bei der Entwicklung wurde halt keine 
Rücksicht auf die Befindlichkeiten von Arduino Boards genommen.

Ich hab vergessen zu erwähnen, dass ich PlatformIO verwende, aber mit 
dem Arduino Framework.

Ich habe wie gesagt als Board den Controller selbst ausgewählt, nicht 
das Mega Board. Gibt es für die Controller direkt keine Pindefinitionen?

von Zeno (Gast)


Lesenswert?

Jürgen schrieb:
> Warum wählst Du für Dein Sketch dann nicht den richtigen Prozessor?
Weil in der Arduino IDE der Prozessor über die Bordverwaltung gewählt 
wird. Wenn im offiziellen Mea-Bord, also das welches man fix und fertig 
kaufen kann, die entsprechenden Ports nicht herausgeführt sind, dann 
gibt es diese Ports eben erst mal nicht. Wenn man diese benutzen möchte 
muß man die Borddatei anpassen oder, besser sich seine Boarddatei 
erstellen.

EAF hat bereits die passenden Hinweise gegeben.

von Markus B. (markus_b571)


Lesenswert?

Ich habe in den Tiefen von PlatformIO die Antwort gefunden. Es gibt für 
die 64 Pin und 100 Pin Controller jeweils eine pins_arduino.h, in der 
alle Ports definiert werden. Ich habe es noch nicht getestet, aber ich 
habe zumindest einen Ansatz, den ich weiter verfolgen kann.

von Hausmeister (Gast)


Lesenswert?

> einen Ansatz

Du haettest die ungenutzten Pins auch abzwicken koennen.
Das haette das Problem global geloest.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.