Forum: Mikrocontroller und Digitale Elektronik kennt jemand sich aus mit MC23017 IO-Board


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Wolf F. (lupus51)


Lesenswert?

moin allerseits,

kennt sich jemand mit dem IO-I2C-Expander MC23017-Board aus ?

krieg das Blink-Beispiel Nicht zum Funktionieren : es ist das 
mcp23xxx_blink.ino
im Ordner Adafruit-MCP23017-Library-master/examples/mcp23xxx_blink

Weiß nicht, ob ich die ino-Datei von Adafruit hier anhängen darf wg 
Copyright !?

d.h. es gibt keine Fehlermeldung von der IDE, und auch ein Test mit 
cppcheckgui.exe ergab keine Fehlermeldung oder Warnung..

freue mich über jeden guten Tipp bzw Link..

von Rahul D. (rahul)


Lesenswert?

Wolf F. schrieb:
> freue mich über jeden guten Tipp bzw Link..

Schaltplan?
DEIN Quellcode?
Compiler-Ausgaben??

Sowas würde Leute freuen, die helfen wollen würden...

von Rainer W. (rawi)


Lesenswert?

Wolf F. schrieb:
> im Ordner Adafruit-MCP23017-Library-master/examples/mcp23xxx_blink

Woher sollen wir wissen, was du auf deinem Rechner installiert hast ;-)
Link zur Bibliothek?

Hast du einmal einen I2C-Scanner laufen lassen, um zu gucken, ob das 
Board überhaupt ansprechbar ist und wenn "ja", auf welcher Adresse. Oder 
fehlen in deinem Aufbau vielleicht Pull-Ups oder andere elementare 
Dinge?

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Rahul D. schrieb:
> Schaltplan?
> DEIN Quellcode?
> Compiler-Ausgaben??

Wolf F. schrieb:
> kennt sich jemand mit dem IO-I2C-Expander MC23017-Board aus ?

Welches Board? Ach daaaas ....  ja dannnnnnnn .... glücklicher-
weise gibt es ja nur das eine Board auf der Welt.

Wie Rahul schon schrub fehlt eigentlich alles an Angaben
um dir vernünftig helfen zu können.

von Wolf F. (lupus51)


Lesenswert?

darf ich denn hier Original-Sketche auflisten und Datasheets
anhängen usw ? wg Copyright..

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> darf ich denn hier Original-Sketche auflisten

Wie sollen wir das wissen wenn wir deine Sketche nicht kennen?
Schaue in deinem Sketch-Archiv nach was über Copyright oder
Copyleft geschrieben steht.

Wolf F. schrieb:
> und Datasheets

... sind im Allgemeinen sowieso öffentlich zugänglich, und der
Hersteller hat ja ein Interesse dass über seine Produkte
informiert wird und sie verstanden werden.

Hier gleich eine Vorwarnung: Längeren Sourcecode nicht im
Text einfügen, sondern als Dateianhang. Siehe unter:
Wichtige Regeln - erst lesen, dann posten!

Sonst werden wir gaaanz böse!

von Rahul D. (rahul)


Lesenswert?

Wolf F. schrieb:
> darf ich denn hier Original-Sketche auflisten und Datasheets
> anhängen usw ? wg Copyright..

manchmal reicht es auch, Links zu den betreffenden Sachen zu posten.

von Philipp K. (philipp_k59)


Lesenswert?

Was misst du denn mit einem Multimeter am "blink" Pin?

Den Code kann man verlinken oder die ino als Datei anhängen.

Der Code ist für jeden zu googeln, aber das macht man nicht wenn nicht 
einmal das blink funktioniert.

An welchem i2c master hängt das denn? Das ist eigentlich viel wichtiger.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?


von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> darf ich denn hier Original-Sketche auflisten und Datasheets
> anhängen usw ? wg Copyright..

Im Zweifelsfall kannst du ja darauf verweisen. Adafruit hat alles im 
Internet veröffentlicht.

Du erinnerst dich: Das Internet ist der große globale 
Informations-Speicher, der von Verknüpfungen (Links) lebt.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Steve van de Grens schrieb:
> Im Zweifelsfall kannst du ja darauf verweisen.

Das wird heute (und an anderen Tagen) nix mehr. Die zögerlichen
TOs wollen eben mit aller Gewalt sich jeden Popel einzeln aus
der Nase ziehen lassen.

Provozierte passive Salami-Taktik.

von Wolf F. (lupus51)


Lesenswert?

hi db1uk,

das ist das ino-file vom github..

"i2c master" : hä ? hab hier nen nano zum testen, da gibts nur pin 4+5
meines wenigen wissens..
und i2c-scanner : hab ich mal gelesen, aber konnt ich nix mit anfangen 
???

wegen presse-job und danach noch musikalischem auftritt
kann ich erst morgen früh näheres posten..sorry !

73 von ex dk4oc

Beitrag #7533810 wurde vom Autor gelöscht.
von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Soo viele Boards von Adafruit mit MCP23017 gibt es auch wieder nicht:

Wer will den hier was von wem?

von Rainer W. (rawi)


Lesenswert?

Wolf F. schrieb:
> und i2c-scanner : hab ich mal gelesen, aber konnt ich nix mit anfangen
> ???

Eigentlich ist die Funktion doch recht ausführlich beschrieben
https://playground.arduino.cc/Main/I2cScanner/

In der Arduino IDE im Menü "Datei" unter Beispiele/Wire/i2c_scanner

: Bearbeitet durch User
von Wolf F. (lupus51)



Lesenswert?

n'abend,
noch schnell gemnacht : i2c-scanner .ino (Dankeeee!) gemacht und
hier schon mal datasheet zu dem board  angehängt..

gute nacht einstweilen

von Rainer W. (rawi)


Lesenswert?

Wolf F. schrieb:
> n'abend,
> noch schnell gemnacht : i2c-scanner .ino

Und - Ergebnis?

: Bearbeitet durch User
von Wolf F. (lupus51)


Lesenswert?

hier der nur geringfuegig von Adafruit-examples
geaenderte Code :
1
// Blinks an LED attached to a MCP23XXX pin.
2
#include <Wire.h>
3
// ok to include only the one needed
4
// both included here to make things simple for example
5
//#include <Adafruit_MCP23X08.h>
6
#include <Adafruit_MCP23X17.h>
7
8
#define LED_PIN 0     // MCP23XXX pin LED is attached to
9
10
// only used for SPI
11
//#define CS_PIN 6
12
13
// uncomment appropriate line
14
//Adafruit_MCP23X08 mcp;
15
Adafruit_MCP23X17 mcp;
16
17
void setup() {
18
  Serial.begin(9600);
19
  //while (!Serial);
20
  Serial.println("MCP23xxx Blink Test!");
21
22
  // uncomment appropriate mcp.begin
23
  if (!mcp.begin_I2C()) {
24
  //if (!mcp.begin_SPI(CS_PIN)) {
25
    Serial.println("Error.");
26
    //while (1);
27
  }
28
29
  // configure pin for output
30
  mcp.pinMode(LED_PIN, OUTPUT);
31
32
  //Serial.println("Looping...");
33
  Serial.println("Setup ready");
34
}
35
36
void loop() {
37
  mcp.digitalWrite(LED_PIN, HIGH);
38
  delay(500);
39
  mcp.digitalWrite(LED_PIN, LOW);
40
  delay(500);
41
  Serial.println("loopy");
42
  delay(1500);
43
}

von Wolf F. (lupus51)


Lesenswert?

lasse grad mal den i2c-scanner laufen :

08:25:42.550 ->
08:25:42.550 -> I2C Scanner
08:25:42.550 -> Scanning...

er scannt noch immer ...

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> gute nacht einstweilen

Wolf F. schrieb:
> es gibt keine Fehlermeldung von der IDE

Wir wissen immer noch nicht welche IDE du verwendest (da
gibt es heutzutage eine Auswahl) und wie du alles verschaltet
hast. Nicht umsonst fragte Rahul bereits ganz am Anfang

Rahul D. schrieb:
> Schaltplan?
> DEIN Quellcode?
> Compiler-Ausgaben??

nach diesen Angaben. Mit Schaltplan ist im Allgemeinen auch
nach einem Aufbau (detailliertes Foto) gefragt bei dem viele
Leute Fehler machen können. Natürlich sollte der Aufbau genau
deinem verwendeten Schaltplan entsprechen.

Bei Compiler-Ausgaben besteht oft das Problem dass Ausgaben
von Warnings ausgeschaltet sind und darin oft noch Fehler-
quellen vermutet werden können. Dann darf man aufgrund deiner
dürftigen Amgaben durchaus mal fragen ob du den Code überhaupt
erfolgreich hochgeladen hast.

Edit: Letzteres hast du dann offensichtlich getan.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> er scannt noch immer ...

Dann wirst du wohl etwas falsch verschaltet haben. Siehe
mein Beitrag vorher. Schaltung und Aufbau.

von Wolf F. (lupus51)


Lesenswert?

ok,ich prüfe jetzt mal die Schaltung durch..evtl ein Wackler
aufm Breadboard..
ausserdem muss ich wohl mal auf  die "MC23017-Expansion-Board-Schematic" 
schauen..na dann..

von Rainer W. (rawi)


Lesenswert?

Wolf F. schrieb:
> ausserdem muss ich wohl mal auf  die "MC23017-Expansion-Board-Schematic"
> schauen..na dann..

Das Ding ist so elementar - da gibt es nicht viel zu schauen.

Nochmal: Zeige deinen Aufbau und deinen Schaltplan.
Besitzt du irgendwelche Messtechnik?

: Bearbeitet durch User
von Wolf F. (lupus51)


Lesenswert?

so,
hab die verdrahtung mal durchgeprüft :

der i2c-scanner meldet jetzt eine adresse 0x27

der blink-sketch meldet nun "error"

an der klink-buchse (oder wie heisst dat dingen ?)
gibt diese pins :

VCC
GND
SDA
SCL
INT A
INT B

die ersten 4 pins denke ich sind korrekt verbunden,
sonst würde der i2c-scanner keine adresse finden ,ok ?

was ist mit den INT.. -Anschlüssen ?

die IO-Pins sind PA0..PA and PB1..PB7
Womit muß  "pin 0" aus dem Sketch zur LED verbunden werden ?
 PA..? oder PB..?

von Wolf F. (lupus51)


Lesenswert?

nach LEsen der Readme.md hat sich das mit Pin-Benennung
der IO-Pins erstmal geklärt;demnach muß die LED mit dem Pluspol
via Vorwiderstand an GPA0 angeschlossen werden.

Hier ist übrigens VCC = 5V .

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> hab die verdrahtung mal durchgeprüft :
>
> der i2c-scanner meldet jetzt eine adresse 0x27

Ach! Das alleinige Überprüfen der Verdrahtung hat den I2C-
Scanner schon zum Funktionieren gebracht? Welch Zauberei!
Du hast also vorher schon alles richtig verdrahtet, nur
die Hardware hat sich magic geweigert korrekt zu arbeiten.

: Bearbeitet durch User
von Christian S. (roehrenvorheizer)


Lesenswert?

Wolf F. schrieb:
> ok,ich prüfe jetzt mal die Schaltung durch..evtl ein Wackler
> aufm Breadboard..

bestimmt sind irgendwo CMOS-Eingänge offen.


mfg

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> der i2c-scanner meldet jetzt eine adresse 0x27
>
> der blink-sketch meldet nun "error"

Nachforschungen auf
https://stackoverflow.com/questions/36954218/how-to-use-multiple-mcp23017-chips-with-the-adafruit-mcp23017-h-library
haben ergeben dass man der Software bzw. Lib sagen kann welche
Adresse angesprochen werden kann. Das funktioniert (je nach Lib)
auf zwei Arten:

Probiers doch mal mit
1
// fuer eine vom I2C Scanner gefundene Adresse 0x27
2
  mcp2.begin_I2C( 0x27 );

oder
1
// Alternative fuer eine vom I2C Scanner gefundene Adresse 0x27
2
  mcp2.begin_I2C( 7 );

von Wolf F. (lupus51)


Lesenswert?

laut Readme.md ist 0x27 voreingestellt und braucht Nicht extra
als Parameter angegeben werden..

ich habe Nicht geschrieben, daß es schon funktiert !?

Da ich selten ungestört über mehr als ne Stunde daran arbeiten kann,
ist halt auch das Posten unregelmäßig, sorry !

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> laut Readme.md ist 0x27 voreingestellt und braucht Nicht extra
> als Parameter angegeben werden.

Seltsam, in meiner Version des Lib-Archivs steht im Readme.md
nichts davon drin. Dagegen finde ich in diesem Archiv die
Datei <Adafruit_MCP23XXX.h> mit der Voreinstellung:
1
#define MCP23XXX_ADDR 0x20 //!< Default I2C Address

Da du es aber hartnäckig unterlässt anzugeben welche Lib du
wirklich verwendest lässt sich darüber trefflich und länglich
streiten.

von Wolf F. (lupus51)


Angehängte Dateien:

Lesenswert?

Wastl,
ich blick nicht ganz , was Du da willst :

im Ordner steht auch nur "Adafruit-MCP23017-Arduino-Library-master",
darin u.a. .github als Ordner und sonst eben die Readme.md
und noch n paar Dateien und Ordner,
anbei Screenshot..

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

> adresse 0x27
Laut Datenblatt (oben gepostet) FIGURE 3-4 auf Seite 15 von 42 kann man 
die Adresse von 0x20 bis 0x27 wählen. Die Adresse wird an Pin 11 bis 13 
(A0-A2) des QFN-Gehäuses fest verdrahtet.
Achtung, die Anschlüsse der Platine A0-A2 haben damit nichts zu tun!

Laut Schaltplan:
https://cdn-learn.adafruit.com/assets/assets/000/109/792/original/adafruit_products_mcp23017schem.png?1647544296
ist die Adresse mit drei pull-down-Widerständen nach GND und drei 
Lötklecks-Jumpern (ADDR0 bis 2) nach plus wählbar. Was da gejumpert ist, 
ist nicht zu ersehen, sie sitzen auf der Unterseite.
Wenn die drei Lötkleckse "bestückt" sind gilt die 0x27, ohne sie 0x20.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Was da gejumpert ist, ist nicht zu ersehen, sie sitzen auf der Unterseite.
> Wenn die drei Lötkleckse "bestückt" sind gilt die 0x27, ohne sie 0x20.

Das ist doch im Moment völlig egal. Da der I2C-Scanner den Chip auf 0x27 
findet, wird er wohl dort sein.

Wolf F. schrieb:
> der i2c-scanner meldet jetzt eine adresse 0x27

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

So ein Scanner findet auch bei fehlenden Pull-down-Widerständen und 
Jumpern irgendeine Adresse, aber es ist doch anzunehmen, dass 0x27 
stimmt. Drunterschauen bringt Gewissheit. Jedenfalls scheint Wastls 
Library mit 0x20 nicht zuzutreffen.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> So ein Scanner findet auch bei fehlenden Pull-down-Widerständen und
> Jumpern irgendeine Adresse

Siehst du irgendwo unbestückte Widerstände?

> Drunterschauen bringt Gewissheit. Jedenfalls scheint Wastls
> Library mit 0x20 nicht zuzutreffen.

Das Drunterschauen bring nur etwas, wenn man den richtigen Schaltplan 
anguckt.

Der von dir verlinkte zeigt Pull-Down Widerstände mit Lötjumpern nach 
VCC, der von Wolf hochgeladene zeigt Pull-Up Widerstände mit Lötjumpern 
nach Gnd.
Falls letzterer stimmt, würde gelten:
Wenn die drei Lötkleckse "bestückt" sind gilt die 0x20, ohne sie 0x27.

Im hochgeladenen Manual steht auf S.4:
"Default address of module is 0x27, you can also change its device 
address by welding
A2, A0, A1. By default, A2, A1, A0 are all High without welded."
RTFM

Wolf F. schrieb:
> Angehängte Dateien:

Da könnte man eher mit einem Multimeter nach der Spannung gucken.
Aber wozu, wenn der Baustein nachgewiesenermaßen auf 0x27 reagiert, so 
wie im Manual beschrieben.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Was ist denn so schwierig mal das Programm mit Adresse
0x20, 0x27, und 0 und 7 auszuprobieren. Ist der Aufwand
so gross dass man das nicht durchführen kann?

Wastl schrieb:
> Dagegen finde ich in diesem Archiv die
> Datei <Adafruit_MCP23XXX.h> mit der Voreinstellung:
> #define MCP23XXX_ADDR 0x20 //!< Default I2C Address

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> ich blick nicht ganz , was Du da willst :

Du hast dein Adafruit-Archiv nicht hochgeladen, daher wissen
wir nicht ob wir genau von der gleichen Version reden. So
einfach ist das. Daher wissen wir auch nicht ob der
Automatismus mit Adresse 0x27 zutrifft oder nicht.

Ausserdem nochmal der Hinweis:

Wastl schrieb:
> Was ist denn so schwierig mal das Programm mit Adresse
> 0x20, 0x27, und 0 und 7 auszuprobieren.

von Wolf F. (lupus51)


Angehängte Dateien:

Lesenswert?

n'abend zusamma,

anbei das von mir benutzte Board, bezogen von Fa. Eckstein GmbH
Clausthal-Zellerfeld

von Wolf F. (lupus51)


Lesenswert?

obwohl wie eben erwähnt bei msp.begin()
nichts eingetragen werden müßte, hab ich es doch gemacht
msp.begin(0x27)
 und siehe da
ES FUNKTIONIERT

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> ES FUNKTIONIERT

Unfassbar! Wunder der Technik!

von Wolf F. (lupus51)


Lesenswert?

Elektronik kennt 3 Zustände : Aus, Ein, Kaputt

von Wolf F. (lupus51)


Lesenswert?

moin,

nun muss ich noch das LCD - Display in Gang bringen..
da es standardmäßig auch auf 0x27 daherkommt, ändere ich
mcp-Aufruf auf mcp.begin(0x28)..müßte eigentlich klappen..

von Julian L. (rommudoh)


Lesenswert?

Wolf F. schrieb:
> mcp-Aufruf auf mcp.begin(0x28)..müßte eigentlich klappen..

Wenn du die Adress-Jumper entsprechend setzt und das Board das 
unterstützt, dann ja.

Laut Manual (findest du im Eckstein-Shop aus dem du es hast, ist wohl 
ein WaveShare-Board) sind aber nur 0x20 bis 0x27 möglich.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Na endlich ein Foto. Eckstein hat zwei MCP23017-Boards, das von Adafruit 
und das von Waveshare:
https://eckstein-shop.de/search/?qs=MCP23017
und der Schaltplan von Waveshare hat tatsächlich pull-up-Widerstände und 
Jumper nach GND:
https://www.waveshare.com/w/upload/5/54/MCP23017-IO-Expansion-Board-Schematic.pdf

Bei Eckstein finde ich aber den Demo-Code von Waveshare nicht.
Aber direkt von Waveshare, hier unter Resources/Code:
https://www.waveshare.com/wiki/MCP23017_IO_Expansion_Board
https://www.waveshare.com/wiki/File:MCP23017-IO-Expansion-Board-Demo-Code.7z
3,85 MByte gezippt, ein .cpp, ein .h und drei Beispiele zu input, output 
und interrupt.
Gut versteckt

Ein Adresskonflikt mit dem Display würde auch Probleme erklären.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Julian L. schrieb:
> Wolf F. schrieb:
>> mcp-Aufruf auf mcp.begin(0x28)..müßte eigentlich klappen..
>
> Wenn du die Adress-Jumper entsprechend setzt und das Board das
> unterstützt, dann ja.

Nein, 0x28 kann nie funktionieren. Das liegt nicht am Board, sondern am 
MC23017. Nur die unteren drei Bits der Adresse können konfiguriert 
werden, also 0x20 bis 0x27 (Datenblatt Kap. 3.3.1).

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Mal angenommen, das Display ist auch von Eckstein gekauft, z.B.
https://eckstein-shop.de/Character16x2LCDDisplayModule1602WhiteonBlue5VI2CInterfaceHD44780

das benutzt einen PCF8574
https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf
und der hat seine Adressen ebenfalls einstellbar auf 0x20 bis 0x27
(Seite 5 Table 4), würde also hinkommen. Wenn die beide auf 0x27 
eingestellt sind und am I2C angeschlossen, findet der Scanner nichts, 
weil beide auf die Anfrage gleichzeitig reagieren.

Die Adresse am Display ist mit drei pull-up Widerständen fest auf 0x27 
verdrahtet (-> Dokument: Development Resources  -> CO02013 neu.zip -> 
Schematic.PDF) also muss die am MC23017-Board umgestellt werden auf eine 
der übrigen, 0x20...0x26.

von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Wenn die beide auf 0x27 eingestellt sind und am I2C angeschlossen,
> findet der Scanner nichts, weil beide auf die Anfrage gleichzeitig
> reagieren.

Unsinn - von beiden kommt gleichzeitig  ein Ack. Da kommt sich nichts in 
die Quere. Folglich sieht der Scanner auch, dass jemand unter der 
Adresse ansprechbar ist.

von Wolf F. (lupus51)


Lesenswert?

hi christoph,

danke für den tipp mit dem display..da brauche ich also
garnicht erst suchen..muß mir das mit dem mcp noch genauer
anschauen mit dem umstellen..

von Steve van de Grens (roehrmond)


Lesenswert?

Christoph db1uq K. schrieb:
> Wenn die beide auf 0x27
> eingestellt sind und am I2C angeschlossen, findet der Scanner nichts,
> weil beide auf die Anfrage gleichzeitig reagieren.

Nein. Der Scanner findet "etwas" auf dieser Adresse, weil mindestens 
einer (in diesem Fall beide) die SDA Leitung zum Bestätigen auf LOW 
zieht. Genau das ist das Signal, dass da "jemand" auf dieser Adresse 
ansprechbar ist.

Sinnvoll benutzen kann es wegen dem Konflikt aber nicht.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

ok, die beiden sind jedenfalls nicht benutzbar. Ich habe einen 
I2C-Scanner zwar mal benutzt, weiß aber nicht mehr, wie er genau 
abfragt.

https://playground.arduino.cc/Main/I2cScanner/
"The i2c_scanner uses the return value of the Write.endTransmission to 
see if a device did acknowledge to the address."
(Schreibfehler - sollte das wire.end heissen?)
https://www.arduino.cc/reference/en/language/functions/communication/wire/endtransmission/
hmm

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Christoph db1uq K. schrieb:
> sollte das wire.end heissen?

Es heißt wire.endTransmission(), und das ist richtig so, weil die 
Funktion den Wert des ACK/NACK Bits zurück liefert:
1
Returns
2
0: success.
3
1: data too long to fit in transmit buffer.
4
2: received NACK on transmit of address.
5
3: received NACK on transmit of data.
6
4: other error.
7
5: timeout

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Also ein Schreibfehler im Kommentar.

Mein Scanner war auf dem Raspi, vermutlich "i2cdetect"
https://learn.adafruit.com/scanning-i2c-addresses/raspberry-pi
das ist etwas komfortabler. Gibt es auch für den Arduino:
https://github.com/mcauser/i2cdetect

"An address in hexadecimal, e.g. "1e", when a chip was found at the 
address"
also etwas mehr als ein detektiertes ACK. Welche Adresse ist das genau?

von Steve van de Grens (roehrmond)


Lesenswert?

Christoph db1uq K. schrieb:
> "An address in hexadecimal, e.g. "1e", when a chip was found at the
> address" also etwas mehr als ein detektiertes ACK.

Verstehe ich nicht. Der I²C Scanner von Arduino zeigt doch auch an, 
welche Adressen er scannt und wo er etwas gefunden hat.

> Welche Adresse ist das genau?

Die Adresse des I²C Slaves.

Vielleicht magst du dir mal anschauen, wie der I²C Bus funktioniert.
http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf
Kapitel 5.9

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Oh ich dachte, die Hexzahl sagt mehr aus, ja klar. Da kann nicht anderes 
stehen, als schon aus den Skalen hervorgeht:

i2cdetect example
Scanning address range 0x03-0x77

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 1e --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Ich dachte, da wird genauer ermittelt, was dran hängt. Die Linuxreferenz 
warnt vor dem Scanner, der kann manche I2C-Bauteile verwirren:
https://linux.die.net/man/8/i2cdetect

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Der I²C  Scanner funktioniert, wie die Anwesenheitskontrolle im 
Klassenzimmer. Der Lehrer ruft nacheinander alle Namen auf. Wenn jemand 
"hier" antwortet, hakt er den Namen ab.

Genau das gleiche macht der I²C Scanner, nur mit Adressen statt Namen. 
Er scannt alle möglichen (ca. 100) Adressen ab.

I²C Kommunikation läuft nach diesem Muster ab:

Lehrer: Achtung (START)
Lehrer: Pascal (Adresse senden)
Pascal: Jawohl  (ACK)
Lehrer: Mach das Licht aus  (Byte senden)
Pascal: Jawohl (ACK)
Lehrer: Gut, setz dich wieder (STOP)

Oder beim lesen:

Lehrer: Achtung (START)
Lehrer: Maria (Adresse senden)
Maria: Jawohl  (ACK)
Lehrer: Wie spät ist es? (Byte senden)
Maria: Verstanden (ACK)
Maria: Es ist 14 Uhr (Byte empfangen)
Lehrer: Weiter
Maria: und 55 Minuten (Byte empfangen)
Lehrer: Weiter
Maria: und 27 Sekunden (Byte empfangen)
Lehrer: Das reicht (NACK)
Lehrer: Gut, setz dich wieder (STOP)

: Bearbeitet durch User
von Wolf F. (lupus51)


Lesenswert?

wenn ich mir das mit A0,A1,A2 so anschaue..von Waveshare wurde ja 
wenigstens
das Schema abgedruckt - ein Beispiel wäre evtl auch nett gewesen - ,
so graut mir nur noch vor dem Lötvorgang, also Überbrücken der jeweils 2 
Lötpunkte..bin nicht mehr der Jüngste und smd-Löten ist nicht mein 
Ding..

was für ne Adresse wird  gültig , wenn ich A0 überbrücke ?
(steckbare Jumper wären da auch netter gewesen !)

bevor ich da was für immer versaue..es soll außer dem Display
auch noch ein ein PCA 9685 mit an den I2C-Bus, also insgesamt
3 Boards, muß ich genau wissen, wo der mcp liegt ..

also try and fly : A0 brücken und mit dem scanner sehen , wo's landet 
:-))

von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> so graut mir nur noch vor dem Lötvorgang, also Überbrücken der jeweils 2
> Lötpunkte..bin nicht mehr der Jüngste und smd-Löten ist nicht mein
> Ding..

Es ist doch nur ein Tropfen Zinn auf zwei dicht benachbarten Lötflächen. 
Mit Entlötlitze oder eine Entlötpumpe kannst du es wieder entfernen.

Wolf F. schrieb:
> was für ne Adresse wird  gültig , wenn ich A0 überbrücke ?

Vielleicht habe ich was verpasst, aber mir ist immer noch nicht klar, 
welches Modul du nun genau hast.

Wenn die Adresse ohne Brücken 0x20 ist, dann ist sie mit Brücke auf A0 
0x21.

Wenn die Adresse ohne Brücke 0x27 ist, dann ist sie mit Brücke auf A0 
0x26.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> PCA 9685
https://www.nxp.com/products/power-management/lighting-driver-and-controller-ics/led-controllers/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685
Da sind 6 Adresseingänge, wenn die auf der Platine alle einstellbar 
sind, sollte das kein Problem sein.
Ein Modul von Adafruit:
https://learn.adafruit.com/assets/36269

> welches Modul du nun genau hast
Er hat das Waveshare-Modul, benutzt aber die Adafruit-Library, daher 
auch die Verwirrung um die Adresse.

https://www.waveshare.com/w/upload/6/69/MCP23018_FAQ.jpg
drei SMD-Lötpads für Null-Ohm-Widerstände in 0805 oder 0603? Jedenfalls 
mit einer spitzen Pinzette und drei Drahtstückchen machbar.

: Bearbeitet durch User
von Wolf F. (lupus51)


Lesenswert?

mcp von eckstein:
1 Pack WS15391 MCP23017 IO Expansion Board, Expands 16 I/O

den PCA 9685 hatte ich auf 0x40 bzw den zweiten auf 0x41
angesprochen, also von daher kein Konflikt mit dem LCD
und nun auch nicht mit dem mcp...

ok, die Löterei mache ich spätabends kurz vor dem
Schlafengehen, da sind meine Hände am ruhigsten :-))

nur net hudele..Ergebnis erst morgen mittag wg Job, sorry

: Bearbeitet durch User
von Wolf F. (lupus51)


Lesenswert?

Es geht ja bei mir um zwei kleine Moodellbahnen mit nur jeweils 3 Loks 
usw.

Eure Meinung zu I2C (mit Arduino) generell :
das ist wohl mehr für kleinere RPojekte, oder ?
sollte man für größere Projekte (z.B. "Wunderland")
CAN-Bus verwenden ? märklin hat ja was realisiert..
ist aber auch anspruchsvoller auch fürn Geldbeutel...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

http://www.skrauss.de/modellbahn/canbus.html
Scheint mir etwas übertrieben.

https://www.miniatur-wunderland.de/
Miniatur Wunderland, die größte Modelleisenbahn der Welt in Hamburg!
ja dafür...

Meine Märklin Spur Null ist Vorkriegsware, ganz ohne Computer. Liegt 
aber seit Jahrzehnten im Keller. Gleich neben dem Metallbaukasten, der 
ist aus den frühen 60ern.

: Bearbeitet durch User
von Wolf F. (lupus51)


Lesenswert?

hi christoph,

der genannte Artikel ist aus 2015..

nachdem es heute shields usw für Arduino u SPI gibt,
scheint sich da was zu tun..

Deine Spur 0 kann heute als Sammlerware viel wert sein :
evtl bei "Bares uznd Rares" anbieten und natürlich inden Foren..
warum im Keller verstauben (und verrosten ?) lasse ..

von Gerald B. (gerald_b)


Lesenswert?

Christoph db1uq K. schrieb:
> das benutzt einen PCF8574
> https://www.nxp.com/docs/en/data-sheet/PCF8574_PCF8574A.pdf
> und der hat seine Adressen ebenfalls einstellbar auf 0x20 bis 0x27
> (Seite 5 Table 4), würde also hinkommen...

Obacht, bei Chinaware kann es auch gut mal sein, das da eben mal 
PCF8574A bestückt werden und der Laie verzeifelt schier daran, das der 
Typ mit dem Suffix A einen anderen Adressaum hat.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das ist ja fies, ich hatte schon das "A" bemerkt, mich aber nicht für 
den Unterschied interessiert.

> "Bares und Rares"
da bekäm ich bestimmt von Horst und Sven dat Händlerkärchtschen.

Für die Waggons habe ich eine Vitrine "angefangen", eines meiner 
unvollendeten Projekte. Bilderrahmen 70*100cm nach hinten verlängert und 
mit dünnen Regalbrettern unterteilt (nachdem ich die professionellen 
Preise für sowas gesehen hatte, gibts alles auch zu kaufen).

Für Spur Null gab es eine Website, alle Teile mit Foto, Beschreibung und 
Preisen, Adresse hab ich verloren. Hier eine ähnliche:
http://www.alte-spur-0.de/start

von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Da sind 6 Adresseingänge, wenn die auf der Platine alle einstellbar
> sind, sollte das kein Problem sein.

Hör doch endlich mal auf, Nebelkerzen zu schmeißen. Beim PCA9685 liegt 
das oberste Adressbit fest auf 1, bei dem MC23017 fest auf 0. Egal, wie 
man die freien Adressbits konfiguriert, kann also überhaupt keine 
Überschneidung entstehen.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Vielleicht verrät uns Wolf demnächst noch, was sonst noch für sein 
Wunderland geplant ist, und welche Adressen da noch gebraucht werden. 
Aber ok, bisher gab es nur die eine Überschneidung.
Man merkt halt, dass Philips den I2C-Bus damals nur für TV-Geräte 
erfunden hatte, um Kanal, Helligkeit und Lautstärke einzustellen. Dann 
wurde es immer mehr.

von Wolf F. (lupus51)


Lesenswert?

n'abend allerseits,

hab jetzt beim mcp23017 A0 "gebrückt" :
mit I2C-Scanner meldet er 0x26 und 0x27, letzteres wohl vom
angeschlossenen LCD-Display..

wenn ich es abmache ,kommt nur noch 0x26..ist mir klar..

und der Blinktest funzt wieder..

LCD wieder angeschlossen..
aber LCD meldet Staus 253, also irgendwas nicht ok..???

schau mer mal..

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> vom angeschlossenen LCD-Display..

Ein LCD-Display ist ein Display das ein LCD anzeigt.

Wolf F. schrieb:
> und der Blinktest funzt wieder.

Ich sag's ja immer wieder:

Wastl schrieb:
> Unfassbar! Wunder der Technik!

Wolf F. schrieb:
> aber LCD meldet Staus 253, also irgendwas nicht ok..???

Was sagt die Bedienungsanleitung dazu?

von Wolf F. (lupus51)


Lesenswert?

soo..habe geschaut und gesehen, daß ich gestern
testweise 0x28 fürs LCD-Display eingegeben hatte..
nun mit 0x27 ist die Fehlermeldung weg und Blinktest funzt..
aber es kommt noch keine Meldung aufm Display..??

von Wolf F. (lupus51)


Lesenswert?

"Bedienungsanleitung" zum LCD-Display hab ich net..
bei forum.arduino.cc auch nix brauchbares gefunden..

Aufruf geändert..error weg..aber KEIN Text sichtbar
mit Code, den ich schon x-mal in anderen Sketchen benutzt habe..

langsam nervt mich der mcp..

hab hier noch PCA 9548 liegen, ist sowas ähnliches wie der mcp..
hab ich damit mehr Glück ?

von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> hab hier noch PCA 9548 liegen, ist sowas ähnliches wie der mcp..
> hab ich damit mehr Glück ?

Unwahrscheinlich, solange die Problemursache unbekannt ist.

von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> langsam nervt mich der mcp

Das Problem sitzt vor deinem Bildschirm und der Tastatur.

Wolf F. schrieb:
> langsam nervt mich der mcp..
>
> hab hier noch PCA 9548 liegen, ist sowas ähnliches wie der mcp..
> hab ich damit mehr Glück ?

Langsam kommt es mir so vor als ob du dich absichtlich dumm
anstellst um hier herumzutrollen. Auf Nachfragen von Leuten
die dir helfen wollen kommt von dir wenig bis keine Reaktion.

von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> Bedienungsanleitung" zum LCD-Display hab ich net..
> bei forum.arduino.cc auch nix brauchbares gefunden..

Warum kaufst du das dann? Man vergewissert sich vorher, dass alle 
nötigen Unterlagen vom Händler oder Hersteller bereit gestellt werden. 
Und ja, das ist bei 90% aller Asia Händler ein K.O. Kriterium.

So wie deine Frau keine Dessous bei Conrad Elektronik kauft, so solltest 
du keine Elektronik bei Dessous-Händlern kaufen.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Wolf F. schrieb:
> langsam nervt mich der mcp..

Langsam nervt mich deine prellende Punkt-Taste.

von Axel R. (axlr)


Lesenswert?

Du musst doch nur die i2c adressen einstellen und im Programm bei begin. 
auf diese verweisen.
(nebenher: ich lese schon n paar Tage still mit. irgendwann ists aber 
mal gut)
Wir brauchen uns nicht wundern, wenn alle hier fluchtartig die Plattform 
verlassen oder sich zurückziehen.

von Wastl (hartundweichware)


Lesenswert?

Alle auf I2C basierenden Character-LCDs mit 1 bis 4 Zeilen für
die Arduino-Welt haben praktisch die gleiche Hardware. Hier
eine Beispiel-Anleitung.

http://www.handsontec.com/dataspecs/module/I2C_1602_LCD.pdf

So etwas kann man auch selbständig suchen und muss nicht in
einem Forum um Hilfe bitten.
Wer es damit nicht schafft sollte sich ein anderes Hobby
suchen. Kegeln, Stricken, Angeln, Häkeln .....

Ausgenommen natürlich Trolle.

von Steve van de Grens (roehrmond)


Lesenswert?

Wastl schrieb:
> Alle auf I2C basierenden Character-LCDs mit 1 bis 4 Zeilen für
> die Arduino-Welt haben praktisch die gleiche Hardware.

Das habe ich anders in Erinnerung  nämlich so:

Beitrag "Re: Schaltplan für i2c Schnittstelle für LCD-Modul"

von Wolf F. (lupus51)


Lesenswert?

moin,

ich weiß nicht, warum manche sich mit abstrakteren, prinzipiellen 
Fragestellungen so schwer tun..und was der Ausdruck "herumtrollen" 
bedeuten soll, ist mir auch unklar !

Wenn ich z.B. einen Schaltplan zeichnen will, muß mir für jede 
Verbindung klar sein, wozu sie dient.
Wenn ich das Nicht weiß, macht das Zeichnen KEINEN SINN !

Man muß erstmal verstehen, was man den Modulen bzw Boards machen
kann und soll und was nicht ! Noch habe ich Nicht den großen Überblick,
zumal laufend Neues hginzukommt !

Ich weiß nicht, warum in deutschsprachigen Foren oft gleich
der große Finger kommt (Zeige..), warum gleich auf dem Fragesteller 
herumgehackt wird..in den anders-sprachigen Foren kommt das zumindest 
nicht so oft - wenn überhaupt vor !

Da gibt es noch Toleranz und Respekt !

Schade hier ! und tschüss..

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Angenommen, es sei das I2C-LCD von Eckstein. Hier die Pläne des Moduls, 
aus den gezippten "Development Resources" entnommen. Ein normales 
2*16-stelliges Textdisplay mit 1602-Controller und einem PCF8574 als 
I2C-Interface.
Aber Wolf will uns die genaue Bezeichnung nicht nennen, Schade!

von Wastl (hartundweichware)


Lesenswert?

Christoph db1uq K. schrieb:
> Aber Wolf will uns die genaue Bezeichnung nicht nennen, Schade!

Ja, denn es handelt sich ja um einen Troll der nur Internet-
Traffic erzeugen will.

von Wolf F. (lupus51)


Lesenswert?

hi ,
also, daß sich ein Forenbetreiber über zuviel Traffic - also zuviel
Beiträge - beschwert, lese ich zum erstenmal !

Ok, werde mir mal die Arbeit machen , alle verwendeten Boards usw
zu dokumentieren :
- Nummern und Bezeichnungen
- Quelle, Beschaffungstermin
- Foto

kann ein paar Tage dauern,sorry, aber ich schaffen das !

von Rahul D. (rahul)


Lesenswert?

Wolf F. schrieb:
> hi ,
> also, daß sich ein Forenbetreiber über zuviel Traffic - also zuviel
> Beiträge - beschwert, lese ich zum erstenmal !
Es geht nicht darum, dass sich der Forehnbetreiber adrüber beschwert, 
sonderen u.a. darum, dass man Bilder auch komprimieren kann, und sie 
trotzdem noch aussagekräftig sind.
Datenblätter kann man i.d.R. auch verlinken, und muss sie nicht auch 
noch in Beiträgen hochladen.
Dafür gibt es hiner auf der Seite sogar eine Funktion.

> Ok, werde mir mal die Arbeit machen , alle verwendeten Boards usw
> zu dokumentieren :
> - Nummern und Bezeichnungen
> - Quelle, Beschaffungstermin
> - Foto

Dinge, die niemanden interessieren...
Wichtig sind dein Schaltplan (und nicht nur Kästchen, die den Namen der 
Boards enthalten).

Schaltpläne sind nun mal ein Kommunikationshilfsmittel für E-Techniker, 
wie Maßbilder für Mechaniker und Quellcode für Informatiker 
(Mechatoniker solten mit allen umgehen können ;) )

von Wolf F. (lupus51)


Lesenswert?

das mit den Schaltplänen :

das Innenleben der auf den Boards verlöteten Chips interessiert wohl
eher kaum jemand, ist evtl aufm Datasheet,

und aussen herum ?
tja, außer evtl Pullup-Widerständen, LED's
und Abblock-Kondensatoren sind da nur viele,viele Linien

das ist doch lange nicht mehr so wie z.B. bei einem Radioschaltplan
(Widerstände, Kondensatoren,Röhren und Transistoren,Spulen,Quarze usw)

aber ok,mach ich auch noch ..

von Wolf F. (lupus51)


Lesenswert?

mit den Links : ok, mach ich auch noch, weiss jetzt noch nicht, wie das 
hier geht
bin mir aber nicht immer sicher,
ob es diejenigen sind , auf die ich mich ggf mal bezogen habe..

da die Modellbahn im Vordergrund stand, hab ich  -leider - nix 
dokumentiert, sondern ,wenns fertig war, gefreut

Schande über mich

von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> das Innenleben der auf den Boards verlöteten Chips interessiert wohl
> eher kaum jemand

Stimmt, aber es interessiert, wie der Portexpander mit dem Display 
verbunden ist. Denn da gibt es mehrere Varianten im Handel, die 
zueinander inkompatibel sind.

: Bearbeitet durch User
von Wolf F. (lupus51)


Angehängte Dateien:

Lesenswert?

moin,

so, hier ist mal ein Schaltplan

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

auweh

> es interessiert, wie der Portexpander mit dem Display
> verbunden ist. Denn da gibt es mehrere Varianten

Hier die acht Ports P0 bis P7 sind mit dem LCD verbunden.
Vier Datenbits, RS = Register select, RW = read/write, CS = chip select
und P3 schaltet die Hintergrundbeleuchtung ein. Ob die anders verbunden 
sind, weiß die Software nicht.

von Wolf F. (lupus51)


Lesenswert?

nur noch zum lcd-display hd4470 : hatte das bei AZ-Delivery
erworben mit der "Huckepack-Platine" und einstellbarer
I2C-Adresse; jetzt erscheinen auf deren Webseite 2 davon,
kann aber nicht erkennen, worin die sich unterscheiden außer beim preis,
und so weiß ich nicht, welche mein Exemplar ist.

von Cyblord -. (cyblord)


Lesenswert?

Wolf F. schrieb:
> moin allerseits,
>
> kennt sich jemand mit dem IO-I2C-Expander MC23017-Board aus ?
>
> krieg das Blink-Beispiel Nicht zum Funktionieren : es ist das
> mcp23xxx_blink.ino
> im Ordner Adafruit-MCP23017-Library-master/examples/mcp23xxx_blink
>
> Weiß nicht, ob ich die ino-Datei von Adafruit hier anhängen darf wg
> Copyright !?
>
> d.h. es gibt keine Fehlermeldung von der IDE, und auch ein Test mit
> cppcheckgui.exe ergab keine Fehlermeldung oder Warnung..
>
> freue mich über jeden guten Tipp bzw Link..

So geht das halt wenn man Elektronik mit Lego verwechselt.

von Wolf F. (lupus51)


Lesenswert?

Cyblord : ja, auch so kann man Traffic erzeugen.
schreibe jetzt hier nix mehr !
Außer dem Tipp mit dem I2C-Scanner NIX, nur zusätzlich nicht
anerkannte Arbeit...

von Cyblord -. (cyblord)


Lesenswert?

Wolf F. schrieb:
> Außer dem Tipp mit dem I2C-Scanner NIX, nur zusätzlich nicht
> anerkannte Arbeit...

Stecke deine Energie in das Verstehen der Dinge mit denen du arbeitest.

Weißt du wie I2C funktioniert?
Schon mal ins Datenblatt deines Expanders geschaut?

VERSTEHEN. Dann Fehlersuche.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> jetzt erscheinen auf deren Webseite 2 davon,

Ich sehe im Online Shop von AZ Delivery mehr als zwei. Ich kann nicht 
für dich raten, was du gekauft hast.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Welches "lcd-display hd4470" ist es hier:
https://www.az-delivery.de/pages/search-results-page?q=i2c%20display&page=1&rb_product_type=Displays
ich nehme an, das sollte HD44780 heißen, der "Standard" für 
Textanzeigen.

Die Suchfunktion von az ist grauslich, da kommt alles mögliche 
unsinnige. Grafikanzeigen und ohne I2C-Bus, alles durcheinander. Ist die 
I2C-Schnittstelle schon auf der Displayplatine enthalten, oder ist das 
ein "Bundle" mit einer zweiten Platine? Hat es 2*16 Zeichen oder mehr?

von Wolf F. (lupus51)


Lesenswert?

moin,

nachdem der mcp23017 durch einen kleinen unfall
unwiderbringlich kaputt ist und ich diesen Nicht ersetzen werde,
hat sich dieser Thread wohl erledigt.

Zum Display : hat bei AZ-delivery die Artikelnummer 14-7 .
Läuft hier im Solo-Betrieb einwandfrei;das es zusammen mit dem mcp..
Probleme gab, lag wohl mehr am mcp, vermute ich. Vielleicht
war das auch "Montagsware" ?

Liebäugele momentan mit dem Analog-Multiplexer 74hc4037, gibts aber erst
Anfang Dezember..

Einstweilen Gute Zeit !

von Steve van de Grens (roehrmond)


Lesenswert?

Wolf F. schrieb:
> das es zusammen mit dem mcp..
> Probleme gab, lag wohl mehr am mcp, vermute ich.

Mit Sicherheit nicht.

> Vielleicht war das auch "Montagsware" ?

Sehr unwahrscheinlich.

Der MCP23017 ist ein einfaches IC dass sich seit mehr als 10 Jahren 
bewährt hat.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Bei az-delivery finde ich keine Artikelnummer "14-7"
Die haben anscheinend nur ein I2C-Interface namens FC-113:
https://www.az-delivery.de/products/serielle-schnittstelle
leider ohne Schaltplan, welcher Port an welchen Pin des LCD führt.
Bei der Bestellung darf man noch ein "Deutsches eBook mit 
Einrichtungsanleitung" kostenlos mitbestellen, ein Download ist nicht 
möglich.

Im "Datenblatt"-PDF ist immerhin ein Arduino-Beispielcode abgedruckt, 
leider nicht kopierbar.
1
//Arduino Code
2
#include <Wire.h>
3
#include <LiquidCrystal_I2C.h>
4
5
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); // Initialize LCD Display at address 0x27
6
// unmodified backpack
7
8
void setup() {
9
// activate LCD module
10
lcd.begin (16,2); // for 16x 2 LCD module
11
lcd.setBacklightPin(3,POSITIVE);
12
lcd.setBacklight(HIGH);
13
}
14
15
void loop() {
16
lcd.home (); // set cursor to 0,0
17
lcd.print(" Hello, world!");
18
lcd.setCursor (0,1); // go to start of 2nd line
19
lcd.print(millis());
20
delay(1000);
21
lcd.setBacklight(LOW); // Backlight off
22
delay(500);
23
lcd.setBacklight(HIGH); // Backlight on
24
25
delay(1000);
26
} // END

ich nehme an, "LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE)"
beschreibt die Reihenfolge der Ports.

https://arduino.stackexchange.com/questions/62317/what-do-the-numbers-behind-lcd-0x27-mean
1
LiquidCrystal_I2C(
2
    uint8_t lcd_Addr, 
3
    uint8_t En, 
4
    uint8_t Rw, 
5
    uint8_t Rs,
6
7
    uint8_t d4, 
8
    uint8_t d5, 
9
    uint8_t d6, 
10
    uint8_t d7,
11
    uint8_t backlighPin, 
12
    t_backlighPol pol
13
);

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Wolf F. schrieb:
> nachdem der mcp23017 durch einen kleinen unfall
> unwiderbringlich kaputt ist und ich diesen Nicht ersetzen werde,

Vielleicht solltest du über geeignete Schutzmaßnahmen nachdenken, um 
"kleinem Unfällen" gar nicht erst eine Chance zu geben.
Bestell dir besser einen kleinen Logikanalysator im Gegenwert eines 
Kantinenessens, um den Signalen auf die Finger gucken zu können und 
lerne zu verstehen, was du dort machst, statt den Kopf in den Sand zu 
stecken und zum nächsten Baustein zu wechseln.

von Cyblord -. (cyblord)


Lesenswert?

Rainer W. schrieb:
> lerne zu verstehen, was du dort machst

Vorschläge dieser Art stoßen hier nur auf taube Ohren.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> Analog-Multiplexer 74hc4037
gibts nicht, CD4037 war ein "CMOS Triple AND/OR Bi-Phase Pairs" von 
RCA/Harris.
74HC4067 ist ein Analogschalter mit 16 Eingängen, der hilft auch nicht 
weiter.

von Wastl (hartundweichware)


Lesenswert?

Christoph db1uq K. schrieb:
> gibts nicht, CD4037 war ein "CMOS Triple AND/OR Bi-Phase Pairs" von
> RCA/Harris.

Trolle werfen irgendetwas in den Raum und die hilfsbereiten,
mit Scheuklappen ausgestatteten Helferlein lassen sich auf
alles ein was ihnen so vorgeworfen wird.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Es ist mir egal ob Wolf ein Troll ist oder einfach etwas hilflos im 
Umgang mit Computertechnik und dem Internet. Es gibt genügend andere, 
die vor ähnlichen Problemen stehen und für Hilfe dankbar sind.

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.