Der Arduino Uno hat PWM-Ausgänge an den Pins 11
, 10
, 9
, 6
, 5
und 3
. Ist es möglich, die PWM-Ausgänge von diesen Pins auf andere Pins umzuordnen?
Dies ist in gewisser Weise möglich. Die PWM-Pins werden von der Mikrocontroller-Hardware definiert, was nicht einfach zu ändern ist (zumindest nicht über Software).
Sie können natürlich einige der Spuren auf dem Brett herauskratzen und Ihre eigenen hinzufügen, aber das ist eine ziemlich eklige Lösung, und Sie könnten am Ende Ihr Brett irreversibel beschädigen 1 .
Eine bessere Lösung besteht darin, eine Abschirmung zu erstellen, die die Pins neu zuordnet. Das ist nicht allzu schwer: Sie erhalten zuerst ein Perfboard und einige männliche/weibliche Kopfleisten in der entsprechenden Größe. Jetzt löten Sie die Stiftleisten an, ausgerichtet mit dem Arduino. Löten Sie dann die weiblichen Berge auf die gegenüberliegende Seite des Perfboards - versetzen Sie sie, aber stellen Sie sicher, dass sie den gleichen Abstand haben wie auf einem Arduino. Machen Sie schließlich die gewünschten Querverbindungen. Beachten Sie, dass Sie die Kopfleisten versetzen müssen
Wenn der Grund, warum Sie die Pins neu zuordnen möchten, darin besteht, dass ein von Ihnen verwendeter Code PWM an den falschen Pins annimmt, erstellen Sie einfach eine Methode, transform()
die eine Pin-Nummer aufnimmt und sie einer anderen zuordnet (verwenden Sie eine switch case-Anweisung ). Ersetzen Sie dann (die meisten IDEs haben eine Funktion zum Suchen/Ersetzen) alle digitalen/analogen Lese-/Schreibmethoden durch einen neuen Satz von Funktionen, zum Beispiel:
void digitalWrite2(int pin, int val){
digitalWrite(transform(pin),val);
}
Und schließlich können Sie die SoftPWM-Bibliothek für Software-PWM auf allen Pins verwenden. Dies ist möglicherweise nicht genau dasselbe wie Hardware-PWM (andere Impulseigenschaften können Ihre Anwendung verlangsamen), aber es ist eine praktikable Option.
1. Nun, Sie beschädigen es so oder so irreversibel, aber es besteht die Möglichkeit, dass Sie zu viele Dinge auskratzen und nicht in der Lage sein werden, das Board wieder in einen halbwegs funktionierenden Zustand zu versetzen. Es ist nicht ratsam, direkt mit dem Board herumzuspielen, es sei denn, Sie wissen, was Sie tun.
Nein, dies geschieht auf der Hardware des Chips, ich habe Software-PWM-Bibliotheken gesehen, aber sie funktionieren nicht so gut wie die Hardwareversion und binden dabei das Mikro.
Anindo Ghosh
Baldingenieur
Anindo Ghosh
Baldingenieur