kennt jemand sich aus mit MC23017 IO-Board

OP #7533437
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..

#7533449
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?

#7533495
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!

Gast #7533638
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.

OP #7533775
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 von einem Moderator gelöscht.
OP #7534103
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
}
#7534107
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.

OP #7534515
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..?

#7534578
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 );
OP #7534614
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 !

#7534628
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.

#7534682
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.

Angehängte Dateien:
#7534711
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.

#7534737
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.

#7534826
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.

#7535091
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.

Gast #7535108
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.

#7535109
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

Gast #7535128
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
#7535149
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?

Gast #7535151
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

#7535156
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

1
 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

Gast #7535159
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)

OP #7535170
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 :-))

Gast #7535172
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.

#7535186
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.

OP #7535204
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

OP #7535217
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...

#7535233
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.

OP #7535271
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 ..

#7535273
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.

#7535290
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

OP #7536160
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..

OP #7536189
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 ?

#7536200
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.

Gast #7536213
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.

#7536221
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.

#7536237
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.

OP #7536492
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..

OP #7536793
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 !

#7536806
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 ;) )

OP #7536855
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 ..

OP #7536861
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

#7537391
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.

Angehängte Dateien:
OP #7537443
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.

#7537470
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.

#7537615
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?

OP #7537931
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 !

#7537971
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
);
#7538093
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren