I/O Erweiterung für Arduino

Warum zeigst du uns nicht was gekauft wurde und wo. oben schreibst was über SPI das Schema ist für I²C.

Wen du weiter so machst kann dir keiner helfen. Alle Glaskugel sind defekt und Kaffee Satz ist alle.

Wo ist der Link ? hat sich selber gelöscht oder wie?


hier ist die Modul Platine.
Gekauft bei ebay

OK Ist I²C dann passt das Schema so wie vom @derGeppi .
Brauchst keine extra Pull Up Widerstände, sing auf Modul.
Anklemmen, Beispiel aus der Lib starten Staunen :wink:

Ist das ein Bild von Ebay oder von Deiner realen Platine? Was steht auf dem IC?

Gruß Tommy

Scheint das gleiche zu sein.
Der SPI ist MCP23S17.

Wo ist denn da jetzt Dein Problem? VCC und GND sollte klar sein, SCL und SCA ist in jedem PINOUT Bildchen des verwendeten µControllerboards zu finden. Also SCL an SCL und SDA an SDA,RST an VCC und INTA und INTB werden nur benötigt wenn ein Flankenwechsel an den Pins detektiert werden soll (Interrupt) .

Hier gibt es eine ausführliche Beschreibung:

Das ist eigentlich so ziemlich das erste was man findet, wenn man nach dem Baustein googlelt.

Herzlichen Dank

Juchu .. dann habe ich doch unwissentlich alles richtig gemacht :sweat_smile:

Sorry, daß ich den Post so vorschnell gelöscht hatte,.. aber als ich gelesen hatte, daß es von Anfang an um einen MCP23S17 ging und ich mich verlesen hatte, wollte ich peinlich berührt schnell meine in die Irre führenden Spuren verwischen :see_no_evil:

Hier also nochmal mit eindeutigem Bildchen:

...der Quelle, und dem Hinweis, daß die weitere Verkabelung sich nach der Verwendung der neu dazugewonnen IO-Pins richtet (mehr dazu aber in von @Kai-R verlinktem Tutorial). :+1:

Moin,
zu # 24 ich habe nachgelesen es steht MCP23017 drauf.
zu # 26 ja ich habe die Seite aufgerufen und versucht den Sketch zum laufen zu bringen.
Obwohl ich alle Bibliotheken die dazu gehören instaliert habe bekomme ich immer noch diese Fehler Meldeung:
Arduino: 1.8.19 (Linux), Board: "Arduino Uno"

Build-Optionen wurden verändert, alles wird neu kompiliert
Warnung: platform.txt aus dem Kern 'Arduino AVR Boards' enthält veraltete compiler.path={runtime.tools.avr-gcc.path}/bin/ und wurde automatisch zu compiler.path=/usr/bin/ konvertiert. Erwägen Sie eine Aktualisierung dieses Kerns.
/home/thomas/Arduino/libraries/mcp23017_basic_input_output/mcp23017_basic_input_output.ino:1:31: schwerwiegender Fehler: Adafruit_MCP23XXX.h: Datei oder Verzeichnis nicht gefunden
Kompilierung beendet.
exit status 1
Fehler beim Kompilieren für das Board Arduino Uno.
[SocketListener(fe80-0-0-0-cecb-549d-7d13-d698-wlp2s0.local.)] WARN javax.jmdns.impl.DNSIncoming$MessageInputStream - Bad domain name: possible circular name detected. Bad offset: 0x3fff at 0x73
[SocketListener(thomas-R530-R730-R540-fritz-box-fritz-box-fritz-box-fritz-box-fritz-box.local.)] WARN javax.jmdns.impl.DNSIncoming$MessageInputStream - Bad domain name: possible circular name detected. Bad offset: 0x3fff at 0x73
[SocketListener(thomas-R530-R730-R540-fritz-box-fritz-box-fritz-box-fritz-box-fritz-box.local.)] WARN javax.jmdns.impl.constants.DNSRecordType - Could not find record type for index: 65535
[SocketListener(thomas-R530-R730-R540-fritz-box-fritz-box-fritz-box-fritz-box-fritz-box.local.)] WARN javax.jmdns.impl.DNSIncoming - Could not find record type. domain: R530-R730-R540-fritz-box-fritz-box-fritz-box-.box-fritz-boxlocal
Keine Ahnung was ich jetzt machen muß

Das liest sich wie ein fehlerhafte Library Installation.
Ich würde die Library deinstallieren und erneut installieren.
Und wenn du die Library von Wolle verwendest, brauchst du die Ardafruit Library nicht.
Und zeig auch den verwendeten Sketch.

Hier die Library die ich mir von Wolle aus dem Gid hub geladen habe:
mcp23017_basic_input_output.ino (2,5 KB)

ich bin verwirrt... Das ist zum einen ein Sketch und keine Library. Und dieser Sketch greift auf die Adafruit-Library zu:

#include <Adafruit_MCP23XXX.h>
#include <Adafruit_MCP23X08.h>
#include <Adafruit_MCP23X17.h>

Wenn du wirklich die Library von Wolles GitHub heruntergeladen hast (<>CODE => Donwload Zip, danach diese ZIP in der Arduino-IDE über "Bibliothek einbinden" > "Zip-Bibliothek hinzufügen"), sind dort Beispiele, die auf die zur Verfügung gestellte Library zugreifen.

Warum postest du den Sketch nicht so wie es für alle besser lesbar ist, in Code-Tags ?
In der IDE mit rechter Maustaste "für Forum kopieren" und danach hier einfügen.

Sorry Leute,
ich schaffe es nicht den Sketch zum laufen zubringen.
Bin doch zu dumm dazu.

Wo klemmts?

Bitte der Reihe nach:

  • welche Library verwendest du denn nun? Die von Adafruit, von Wolle (_WE) oder eine ganz andere? Da gibt es ja mehr als reichlich Auswahl. Oder scheitert es schon an der Installation der Bibliothek?
  • Egal welche du verwendest.. unter "Beispiele" kommt jede installierte mit mehr oder weniger Sketches zum Testen daher, die mit ihrer Bibliothek auf jeden Fall funktionieren. Zumindest sollten alle fehlerfrei kompilieren und dann auch funktionieren, wenn dein Aufbau stimmt.

Ich habe den sketch von Wolle probiert.
Auch die angegebenen h. Dateien in der Bibliothek zusätzlich instaliert.
Trozdem bekomme ich die o. a. Fehler Meldung.

ich habe einen anderen Sketch probiert:
#include <Wire.h>
#include <Adafruit_MCP23017.h>

Adafruit_MCP23017 mcp1; // Create MCP 1
Adafruit_MCP23017 mcp2; // Create MCP 2

const uint8_t addr1 = 0; // Adresse 0x20 / 0
const uint8_t addr2 = 1; // Adresse 0x21 / 1
void setup() {
mcp1.begin(addr1); // Start MCP 1
mcp2.begin(addr2); // Start MCP 2

mcp1.pinMode(7, INPUT); // Define GPA7 on MCP1 as input
mcp1.pullUp(7, HIGH); // Activate Internal Pull-Up Resistor

mcp1.pinMode(8, OUTPUT); // Define GPB0 on MCP1 as Output
mcp2.pinMode(15, OUTPUT); // Define GPB7 on MCP2 as Output

} // End Setup

void loop() {
// The LED on GPB0 will 'echo' the button on GPA7

if (mcp1.digitalRead(7) == LOW)
{
mcp1.digitalWrite(8, HIGH);
mcp2.digitalWrite(15, HIGH);
}
elseC:\Users\torfi\AppData\Local\Temp.arduinoIDE-unsaved2024210-7856-1w54egq.3avek\sketch_mar10a\sketch_mar10a.ino:2:10: fatal error: Adafruit_MCP23017.h: No such file or directory
#include <Adafruit_MCP23017.h>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1

Compilation error: Adafruit_MCP23017.h: No such file or directory
{
mcp1.digitalWrite(8, LOW);
mcp2.digitalWrite(15, LOW);
}
} // End loop
Dabei erhalte ich diese Fehler Meldung, owohl die Bibliothek diese Datei enthält.

Wenn ich also keine Ahnung habe dann ist das so.
Andernfalls gibt es jemanden der hier Licht ins Dunkel bringen kann?

Die Fehlermeldung deutet darauf hin, dass die Bibliothek die in dem Programm verwendet wird, nicht installiert ist, oder beim Installieren der Bibliothek etwas falsch gelaufen ist.
Die Fehlermeldung sagt ja ganz klar, dass eine Datei aus der im Programm eingebundenen Bibliothek nicht gefunden werden kann.

Wenn Du Wolles Bibliothek installiert hast, dann solltest Du auch ein Beispielprogramm verwenden, welches diese auch nutzt.

Gerne doch!

Bei der Installation der Lib scheint was falsch gelaufen zu sein.
Denn das System sieht sie nicht.

Also noch mal!
Bibliotheksmanager öffnen und Lib installieren.