zweiter MCP3008 an ESP 8266

  • Hallo an alle,


    kurz und knapp ich würde gern einen weiteren MCP3008 an meinem ESP8266 anschließen.

    Der erste MCP3008 ist natürlich wie so oft beschrieben an wie folgt angeschlossen:

    Code
    #define CS_PIN 15
    #define CLOCK_PIN 14
    #define MOSI_PIN 13
    #define MISO_PIN 12
    MCP3008 adc(14, 13, 12, 15);

    Ich nutze einen ESP8266 von Az Delivery:

    NodeMCU_Lua_Lolin_V3_Pinout_Diagram.pdf


    Hier finde ich noch neben dem "HSCLK" GPIO 14 noch einen SCLK. Kann ich den SCLK für den zweiten MCP3008 nutzen? Wenn ja wie spreche ich den an? Oder kann ich vielleicht auch den GPIO 14 für beide MCP3008 nehmen? Oder habe ich einen Denkfehler und ich brauche nicht nur einen zweiten Taktgeber?!


    Danke schon mal vorab für eure Hilfe.

  • Sorry, aber das habe ich trotz Feiertag nicht gerafft. So einen "CS" Pin hat ja mein 8266 noch(auf der anderen Seite). Meinst du den? Oder kann ich jeden Pin so etwas "beibringen"? Alles andere verwende ich ja wie beim ersten MCP3008?! richtig verstanden?

    Mein Master ist der ESP8266 und der Slave ist der MCP - habe ich das auch richtig verstanden?

    Edited once, last by tutter (June 9, 2025 at 10:12 PM).

  • Der Master gibt den Takt (CLK) vor und bestimmt über CS (Chip Select) den Slave, mit dem kommuniziert werden soll.

    Vergiss das Kaskadieren (Bild 1) und orientiere Dich an Bild 2 des Wikipedia Links. Lesen musst Du aber selbst.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Danke euch allen schon mal!

    Ich habe auf Grund des neuen Wissens nun beide MCP3008 wie folgt verkabelt.

    CLOCK_PIN = D5 bzw. GPIO14

    MOSI_PIN = D7 bzw. GPIO13

    MISO_PIN = D6 bzw. GPIO12

    CS_PIN (MCP3008 der erste) = D8 bzw. GPIO15

    CS_PIN (MCP3008 der zweite) = D9 bzw. GPIO3


    Wenn ich es richtig verstanden habe kann ich jeden PIN zum CS-Pin machen.

    Ich schau mir das morgen dann mal Programmiertechnisch an. Oder hat jemand Einwände oder Verbesserungsvorschläge?

    Danke schon mal vorab.

    Edited once, last by tutter (June 19, 2025 at 12:09 AM).

  • Moin tutter,

    eigentlich ist es, unter der Arduino-Ide, relativ einfach.
    Da unter der Oberfläche mit C++ gearbeitet wird, schaffst du 2 Klassen die die beiden SPI-Geräte. Da werden dann alle benötigten Pins eingetragen. Die sind bis auf SPI-CE gleich. Die Klassennamen müssen sich halt auch unterscheiden. Dann beim Schreiben oder Lesen immer den richtigen Namen nutzen.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!