• Ich hab vier MCP 4151 (1-Kanal) Digitalpotis.

    1. Kann ich alle vier an einen Uno anschließen und individuell ansteuern?
      Jeder Poti hat die Digitalanschlüsse CS, SCK und SDI und ich hab leider davon keine Ahnung. Hab einen Poti angeschlossen an Pin 10, 11 und 13 und läuft, aber wie mach ich das mit den anderen? Geht das Überhaupt, oder bestell ich einen 4-Kanal Poti?

    2. So ein Poti hat 256 Schritte. Diese sind linear mit dem Widerstandswert. Ich wollte nun aber mit einem Joystick (1024 Schritte) den Poti logarithmisch “mappen”.
      Wie muss ich den Code nun ändern?
      LautstärkeRechts = map(joyX, 520, 1023, 0, 255)

    3. Ich hab noch paar Fragen zum Projekt und bin noch absoluter Beginner. Könnte mir jemand für 1-2 Std. “nachhilfe” anbieten? 😄


  • Also zu deiner ersten Frage zitiere ich Wikipedia:

    Als Chip Select (CS) wird in der Digitaltechnik ein binäres Signal an einem integrierten Schaltkreis bezeichnet, mit dem man die Funktion eines solchen Schaltkreises ganz oder teilweise an- bzw. abschalten kann. Der Chip Select wird meist als einzelner Pin (digitaler Eingang) realisiert, der an eine Steuerleitung angeschlossen wird.

    Dies wird zum Beispiel gebraucht, um aus mehreren Speicherbausteinen einen größeren zusammenhängenden Gesamtspeicher mit fortlaufenden Adressen zu konstruieren. Hierbei werden Busleitungen parallel an mehrere Speicherbausteine gelegt und mit dem Chip Select-Signal nur ein bestimmter Baustein ausgewählt, mit dem gearbeitet werden soll. Alle restlichen Bausteine am selben Bus sind zu diesem (sehr kurzen) Zeitraum inaktiv, ihre Busleitungen sind dazu intern hochohmig geschaltet.

    Häufig sind Chip Select-Eingänge “Low-Aktiv”, das heißt, der Baustein wird nicht mit einem hohen Pegel “H”, sondern mit einem niedrigen Pegel “L” aktiviert.

    Die Pins SCK und SDI kannst du also alle parallel schalten. Jenachdem welchen Potti du dann ansprechen willst musst du dessen CS Pin dann High oder wahrscheinlich eher Low schalten.

    Zu deiner zweiten Frage:

    int joyStickVal = analogRead(0);
    int val = map(joyStickVal, 0, 1023, 0, 255);
    

    val enthält dann deinen gemappten Wert.

    https://www.arduino.cc/reference/de/language/functions/math/map/


  • Danke für die Aufklärung 🙂
    Zu 2. Muss ich noch eine Formel hinzufügen, damit es logarithmisch wird.

Ähnliche Themen

  • 1
  • 2
  • 9
  • 1
  • 1