-
Thread
I2C - bestimmen welcher ic-typ angeschlossen
Sorry, blöde handytastatur... meinte MCP23017. 16bit Port expander für i2c. der pca9605 ist ein 40bit port expander. Diese muss ich dann software technisch von einander unterscheiden können.
Nur so eine Idee ... Wenn du lesend auf ein Register außerhalb der MCP23017 Register ( 00-1A ) zugreifst müstest du einen Fehler bekommen. Ergo hast du einen PCA9505 angeschlossen.
-
Thread
MCP23S17 an STM32F4 Problem
funktioniert und auch die Datenpakete gehen rüber. Ich hab schon diverse Registereinstellungen des MCP durch, aber ich weiß leider nicht ob er das überhaupt annimmt. Der Resetpin ist auch auf 5V, bzw wurde auch shcon weg gelassen. Eine Unbekannt: Der MCP läuft auf 5V und der STM auf 3. So weit ich aus
braucht der aber nur TTL-Logig von daher müsste es funktionieren. http://www.adafruit.com/datasheets/mcp23017.pdf IOCON.BANK hab ich schon auf 1 und 0 laufen lassen und dementsprechend die Adressen angepasst. Ich komm einfach nicht weiter. Hier dann noch die Codes: SPI-init: [c] void init_SPI1
-
Thread
Zentrale für Hausbus
liefert bei high nur 100uA. > Das könnte für den ULN2803 zu wenig sein. Stimmt. Ein Microchip MCP23017 wäre die bessere Wahl. Davon braucht es dann auch nur einen, weil der zwei 8-Bit Ports hat. Und die MAX485 müssen wirklich mit 5V betrieben werden. fchk
-
Thread
Hilfe zur Auswahl eines geeigneten Bus-Systems
16 Ports reichen einfach sowas nehmen: http://www.microchip.com/wwwproducts/Devices.aspx?product=MCP23017 Alternativ wenn mehr benötigt werden die SPI Version: http://www.microchip.com/wwwproducts/Devices.aspx?product=MCP23S17 Da muss halt für jede Erweiterungskarte noch ein eigenes CS vom Controler
mehr benötigt werden die SPI Version: > http://www.microchip.com/wwwproducts/Devices.aspx?product=MCP23S17 > Da muss halt für jede Erweiterungskarte noch ein eigenes CS vom > Controler generiert werden. Den benutzen wir, störfest ist anders. CAN wurde ja schon genannt, wenn Du Dich da rein nicht
-
Thread
Zwei Signale - eine Leitung
Jalousien fahren. PIRs gibts auch einige. Auf dem Pi hab ich dazu I2C in Verwendung mit Porterweiterungen (MCP23017) - also 5V Logik statt 3,3V von den Pi GPIOs schonmal. Das gibt ne Menge Ports, die es aber auch braucht. Aufgrund meines Anfängertums gibt es nur simple Schaltungen, die aber auf Haussteuerung
-
Thread
I2C-Bus Therotisch verkürzen
Zentralen Knotenpunkt per Optokoppler und und Kondensator (zum Entprellen) die 24V auf die Eingänge eines MCP23017 zu legen. Dies sollte aber 24V=High geschehen. Für Lösung 2 welchen Optokopler sollte ich dafür benutzen? Zur Information CAT-5 Kabel laufen nicht koplett Zentral zusammen, habe 2 UP Klemmenkästen
Bausteins. Nicht ganz. Die Interrupt-Signale sollten genau so funktionieren, wie SCL und SDA. Beim MCP23016 weiß ich z.B. dass der Interrupt-Ausgang L-aktiv und Open Drain ist. D.h. du musst das Signal genau so mit einem Pullpu-Widerstand versehen, und du kannst ggf. auch mehrere Chips zusammen an eine
-
Thread
Ist der Signalverlauf bei I2C so üblich?
beobachtet. Dort fielen mir einige Signalverläufe auf, die ich durch eine Minimalvariante (Raspi <--> MCP23017) auf dem Breadboard bestätigen konnte. Dort tauchen ab und zu so halbe Spitzen auf. Nach stundenlagem Draufschauen viel mir auf, dass diese Spitzen immer an der gleichen Stelle auftauchen, nämlich
zusätzlich zwei I2C-Buffer PCA9600 dazwischen geschaltet. Also Raspi <--> PCA9600 <--> PCA9600 <--> MCP23017. Die Kommunikation läuft stabil, aber der Signalverlauf sieht ganz anders aus. Der erste Screenshot zeigt die Messung am Master, der zweite die Messung am Slave. Die Buffer scheinen den
-
Thread
Projekt: SerialComCNC Serielles Frontend für CNC GRBL mit ATMega
// (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD #define NEWPANEL #define ULTIPANEL #ifndef ENCODER_PULSES_PER_STEP
connected to the Arduino // BTN_ENC pin (or set BTN_ENC to -1 if not used) #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) #define NEWPANEL #define
-
Thread
I2C Scanner an MC
dargestellt werden. Unter anderem wären das: - PCF8574(A) - PCF8591 - PCF8583 - DS1307 - MCP23008 - MCP23017 - Speicher 2408 - MAX518 Meine Gedanken wären dass ich das Bauteil über die Adresse anspreche und das ACK abwarte. Was mein Ihr geht das einfacher? Grüße Ingo
-
Thread
Leiterplatten-Layout
hier im Forum. Nun möchte ich für mein FEZ Rapptor Board ein "Gadgeteer" DI-Board bauen mit einem MCP23017 und 16 Digital-Eingängen. Dieses soll in meinen Wohnwagen diverse Dinge automatisieren. Der MCP23017 wird mit 3,3V betrieben und über I²C angesprochen. Die 16 Eingang-Pins sollen mit 14V über
dem Pinn, wenn der Widerstand eingelötet wird. Habe ich nur für den Fall vorgesehen, sollte ich den MCP23017 für eine 3,3V Anwendung benötigen 4. Widerstandswerte hab ich eingepflegt. Der Spannungsteiler ist ---> 100k --> MCP23017 ---> 20k ---> GND
-
Thread
MCP230XX - GPIO vs OLAT
genau ist der Unterschied zwischen den Ports GPIO und OLAT. Ich konnte in einem Beispielsketch einen MCP23008 mit OLAT beschalten, den 23017 aber nicht. Jetzt gehen plötzlich beide mit GPIO. Aber egal: was genau ist der UNterschied, ich verstehs nicht. Im Datenblatt steht (bei beiden identisch): "The
kann, oder? Warum sonst sollte man das machen? Das letztere ist doch nur dann wichtig, wenn ich den MCP als Inputexpander nehme, oder? Vielleicht steh ich hier auf dem Schlauch, weil ich ihn eigentlich nur als Output-Expander benutze. Und daher bleibe ich bei meiner ursprünglichen Fragestellung: was genau
-
Thread
Sammelbestellung WLAN2Serial ESP8266
Aber dafür wird es fülliger: -> Webserver -> Telnet -> GPIO AT -> HC4051 MUX/DEMUX -> SPI MCP23S17 -> I2C MCP23017 -> CAN MCP2515 ( Controller ) -> CAN SN65HVD230DR ( Transreceiver ) -> OLED SPI -> OLED I2C -> I2C Portexpander + LCD Display -> SPI Portexpander + LCD Display -> SPI
-
Thread
12V bidirectional I/O über i2c
im QFN-Gehäuse einsetzen. Zustimmung. Eine Alternative sind die (besser erhältliche) Microchip MCP 23017/8/9(I2C)/23S17/8/9(SPI) fchk
Einen MCP23017 und diesen Chip dahinter tun: http://www.ichaus.de/keyword/I/O%20Circuits
-
Thread
MCP23017 - Ansteuerungsproblem
Ich habe jetzt schon seit einiger Zeit mit dem MCP23017 rumprobiert, aber ich komme nicht zu einen richtigen Ergebnis. Hat vielleicht jemand eine Idee in welcher Reihenfolge man etwas (und WAS) via I2C senden muss damit die Ports gesetzt werden können
-- b2 int pin open end procedure -- setup mcp23008 as required all ouputs procedure mcp23008_lcd2_init(byte in opcode) is mcp23008_register_write(opcode,0x0A,0b0000_0000) -- OLAT O/P (0000_0000 no latching on all pins) mcp23008_register_write
-
Thread
EMV und uC (.)
weiteren Baustein) - seriell mit AtMega328 der dann die 2x8 Pins liest und schreibt - per I2C mit MCP23017 Dies liest sich somit mit nahezu jeden uC bzw uP steuern.
-
Thread
Graphik LCD mit I2C-Bus und PCA9555
Ich hab das schon mit nen MCP23017 und nem T6963 Display gemacht und verworfen. Viel zu langsam für Grafik und der PCA9555 kann nur 400kHz.
-
Thread
Raspberry Pi HD44780 an MCP23017 mit LCDproc
(HD44780) bisher über GPIO genutzt und über LCDproc angesteuert. Der Pi hat zwangsläufig nun 4 MCP23017 gekriegt. Die Arbeiten wunderbar, also dachte ich mir ich bin schlau, und habe den Bildschirm vom Pi an einen MCP23017 angeschlossen, doch leider fühlt sich der HD44780 nicht angesprochen, sprich er startet, aber macht nichts. [pre] Display ¦ Funktion ¦ MCP ------------------------------ 4 ¦ RS ¦ GPB7 6 ¦ Enable/Strobe ¦ GPB6 11 ¦ Data 4 ¦ GPB4 12 ¦ Data 5 ¦ GPB3 13 ¦ Data 6 ¦ GPB2 14
-
Thread
MCP23S17 (RPi) per Python schalten
fertig: http://elinux.org/RPi_SPI Es gibt sogar im Linuxkernel einen Treiber für den Expander: > * MCP23S08 SPI/I2C GPIO gpio expander driver > * > * The inputs and outputs of the mcp23s08, mcp23s17, mcp23008 and mcp23017 are > * supported. https://github.com/torvalds/linux/blob/master/drivers/gpio/gpio-mcp23s08.c (allerdings weis ich nicht, wie man den benutzt..) [EDIT] Es gibt auch eine fertige Python-Bibliothek: http://wiringpi.com/extensions/spi-mcp23s08-mcp23s17/
-
Thread
Viele MCUs via SPI-CS Multiplex ansprechen
wenn Dir bidirektional lieber ist und weniger CS-Leitungen nehmen. Intersil macht das z.B. bei den MCP23017/23S17 so.
-
Thread
bistabiles Relais für AVR/Arduino
Bastelerfahrung, aber ich vermute, dass man das mit einem Expander lösen muss, der nur wenig Strom liefert (z.B. MCP23017) und dahinter muss ein Treiber den Strom verstärken. Wenn man pro Relais nur einen IO-Ausgang verwenden will, dann braucht man einen Elko und der Treiberausgang muss Push-Pull können.
reicht nur der Mix PCF8574 (8x8) + PCF8574a (8x8) also 128/2 max. 64 Relais. oder man nimmt einen MCP mit 16 Kanäle (oder mehrere)
-
Thread
MCP23017 nach Zeit kein ACK
Ich habe ein Testprogramm für den MCP23017 geschrieben, welches den PortA auf 0x00 und dann auf 0xFF in einer Endlosschleife setzt. Mein Problem ist, wie in den angehängten Bildern zu sehen, dass nach ca 1 sec. der Expander kein ACK mehr
-
Thread
Output pin status vom MCP23017 lesen
N'abend, ich versuch grad den Status von Output Lins am MCP23017 herauszufinden. Das Problem ist nämlich, das ich irgendwo am Anfang des Skripts ein paar Pins HIGH setzte und dann später, bei Bedarf, ein paar dazuschalte. Also: irgendwo am Anfang des Codes: [code] MCP.write_byte_data(adress, port, 0b00001111)[/code] > damit sind die ersten 4 Pins des MCP HIGH und die anderen LOW später dann: [code] MCP.write_byte_data(adress, port, 0b11000000) > [/code]hier
-
Thread
4 stepper am raspi ansteuern
Ich hab eine Idee, ich möchte mit meinem Raspi V2 und der WiringPi2 Library 2 MCP23017 ansteuern die dann wiederum 4 L293Ds ansteuern, von denen jeder 1 Stepper kontrolliert. Nur müssen die 4 Stepper gleichzeitig angesteuert werden und mit unterschiedlichen Geschwindigkeiten.
-
Thread
Mehrere Theras an I2C (Raspi)
einem Python Script(Thread Library) 4 Threads offen -> jeweils zwei dieser Threads nutzen je einen MCP23017 am I2C. Also Thread A&B greifen auf MCP23017(1) zu und C&D greifen auf MCP23017(2) zu. Kann ich per Lock den den gleichzeitigen Zugriff auf die I2C Devices verhindern?
gleichzeitig locken, immer nur einen. Somit müsstest du den aktivien Thread locken der auf deinen MCP23017 zugreift. (So macht mans eig. immer bei zeitkritischen Schleifen oder Prozeduren die beim Thread erst einmal durchlaufen müssen da sie sonst falsche Werte an andere Threads oder ans Hauptprogramm
-
Thread
Register für Kommunikation mit 2 MCP23017
ich schon soweit kapiert. Aber meine Frage ist: wie bekomme ich registeradressen für 0x24(zweiter MCP23017)?
>Aber meine Frage ist: wie >bekomme ich registeradressen für 0x24(zweiter MCP23017)? Das sind die gleichen wie beim ersten. Du verwechselst hier die I2C Adresse mit der der MCP23017 angesprochen wird und die internen Adressen bzw. vieleicht nennen wir sie einfach mal Offsets
-
Thread
Welche Eingangskapazität hat ein MCP23017
Hallo, Ich erkenne im Datenblatt vom MCP23017 keine Angabe über die Eingangskapazität, um die Buskapazität abschätzen zu können. Für den LM75 finde ich 20pF, für den PCF8574 finde ich 7pF. Im Datenblatt finde ich verschiedene Kapazitätsangaben
-
Thread
mehrere MCP23017 an raspi
Hallo, ich weiß und hab auch schon oft gelesen, das man mehrere MCP23017 an eine I2C Leitung am Raspi ankabelt. Aber wie mach ich das a) in python? b) Aufbau des Schaltplans? Mit einem bekomme ich das ja noch hin, aber bei zwei hab ich keine Ahnung.
-
Thread
I2C funktioniert (aber nur mit Oszilloskop)
Hallo, ich treibe einen MCP23017 (IO Expander mit I2C) bei 100kHz I2C-Takt mit einem XMC4500 (Relax Kit Light). Die Settings im µC sind ok, denn die Verbindung zum MCP23017 klappt mit angeschlossenem Oszilloskop. Ich kann eine
>Kondensator an der RESET-Leitung des MCP23017? Ich dachte eher an den zwischen VCC und GND.
-
Thread
Welchen Strom kann der IC treiben
Hallo MCP23017/MCP23S17 http://www.pollin.de/shop/downloads/D101139D.PDF Finde ich einfach nicht?
-
Thread
MCP23017 - Einzelne Pins auf High schalten
MCP23017_IODIRA); wiresend(0xFF); // all inputs on port A Wire.endTransmission(); Wire.beginTransmission(MCP23017_ADDRESS | i2caddr); wiresend(MCP23017_IODIRB); wiresend(0xFF); // all
= MCP23017_GPIOA; } else { olataddr = MCP23017_OLATB; gpioaddr = MCP23017_GPIOB; p -= 8; } // read the current GPIO output latches Wire.beginTransmission(MCP23017_ADDRESS | i2caddr
-
Thread
LED Treiber für 16 (oder mehr) LEDs gesucht - Arduino / Teensy
Hallo, verwende doch einen I²C Expander MCP23017 von Mirochip. Der kann 16 Ports, und ist relativ leicht zu implementieren. Zum anderen gibt es den auch im DIP-Gehäuse. Eine Lib für einen Arduino gibt es bestimmt auch. Das Eagle Bauteil gibt
-
Thread
Arduino Shield to BeagleBone Black Cape
als GPIO Level Shifter. - 1x TXS0102 DQSR als I²C Level Shifter. - CAT24C256WI-G als EEPROM. - MCP23017 als I²C Portexpander. - Diverses Hühnerfutter, ein DX276S02 DIP Switch, 5 LED und natürlich Pinheader. Sooo das wars, jetzt würde ich gerne Eure Meinung hören. Was haltet Ihr von meiner
-
Thread
Einfaches Beipsiel für I²C
Der MCP23017 wäre eine 16bit Porterweiterung mit I2C. Mit Atmegas kann ich dir leider nicht helfen.
-
Thread
MCP23017 'verliert' writes to GPIOn
Ich schreibe in Testmodus an OLATB & GPIOB (hier als Output) den Wert 0x28, und prüfe was im MCP23017 ankommt - nämlich NICHTS!! IOCON.BANK=1 modus (ACHTUNG), & GPIOB ist als 8x output definiert write test pattern 0x28 to GPIOB & OLATB (0x19, 0x1A) Diagnostic-Meldungen eingeschaltet
-
Thread
I²C-Expander MCP23008 verliert ständig seine ID
vom PCA und steuern die Beleuchtung. Die blaue Seite ist die, auf die man von oben draufguckt. Der MCP ist gespiegelt, weil er auf der anderen Seite sitzt!
Ich habe 2 x MCP23017 auf einem Shield (kostet 12 GBP als Bausatz von ModMyPi-Shop in UK), das auf dem Raspi sitzt und mit 3 V betrieben wird (120V???) . Es gab keinerlei (elektrische) Probleme, die MCP's erscheinen
-
Thread
(AVR-gcc) Lesen vom PCF8574 I2C-Port-Expander gelingt nicht
Ich werde mich bei der Thematik MCP 23017, Page read beim EEPROM, AVR als Slave und ähnlichem noch genügend damit austoben können. MfG
-
Thread
ATmega32 - LCD mit Adafruit Breakout - Code portieren
Hallo, Ich habe von Adafruit vor längerer Zeit ein 2x16 negative LCD gekauft welches den MCP23017 als Erweiterung verbaut hat auf dem Breakout. Der Code für die Ansteuerung liegt nur in Python (für Raspberry Pi) und C (für Arduino-Library) vor. Das LCD habe ich mit meinem Raspberry Pi und
-
Thread
Raspberry Pi I2C SDA Problem
überhaupt nichts, lässt nur die LED blinken (SCL/Rx). Lässt sich aber immerhin über UART ansteuern. Meine MCP23017 habe ich noch nicht ausprobiert. Ich hoffe ihr könnt mir helfen. Wenn ihr weitere Informationen braucht, kann ich die euch auch liefern. Danke schon mal im Voraus.
-
Thread
Fleury LCD-Library plus mjkdz Port Expander?
#if use_twilcd72 //uint8_t mcp23017_72_A,mcp23017_72_B; //lcdbyte d7-d6-d5-d4-en-rs-//-// mcp23017_72_A= (mcp23017_72_A & 0b00000011) + (lcdbyte & 0b11111100); //mcp23017_72_B= (mcp23017_72_B & 0b00111111) + (((lcdbyte & 0b00000100)<<5)); set_mcp23017_outAB(mcp23017_72_A, mcp23017_72_B); set_mcp23017_outAB((mcp23017_72_A + WERTpinE), mcp23017_72_B ); set_mcp23017_outAB(mcp23017_72_A, mcp23017_72_B); #endif #if use_twilcd72x set_mcp23017
-
Thread
PCF8574/5 push pull
Du suchst also einen MCP23017. Der hat 22 Register, davon für jeden Port ein Datenrichtungsregister, kann Interrupts bei Pegelwechsel an Pins auslösen und noch einiges mehr. Vorwiderstände für die LEDs brauchst Du aber trotzdem
PCA9555. Der hat aber auch mehr als nur zwei Register, wenn auch nicht so viele Möglichkeiten wie der MCP23017. Vielleicht ist das eher was für Dein Niveau. Anscheinend muss ich halt entweder Widerstände vor die > Taster oder die LEDs machen. Aber was ist die einfachste Beschaltung? Solange Du
-
Thread
Platinenentwurf für Heizungsregelung mit Raspberry Pi - Kritik?
Die Kommunikation mit dem Raspi soll ausschließlich über I2C erfolgen. Die schaltenden Bausteine (MCP23017) habe ich über einen N-Kanal-Mosfet an ein Schaltsignal gekoppelt, damit die Schaltungen nicht weiterlaufen, wenn der Raspi abbstürzt, von der Spannungsversorgung getrennt wird oder ein Update
für weitere Ideen. Die vielen LEDs sollen als Schaltzustandsanzeige dienen. 8 Ports des dritten MCP23017 dienen als einfache Schalteingänge. Daran sollen z. B. Funkschalter angeschlossen werden. Als Verpolschutz habe ich einen P-Kanal-Mosfet eingesetzt. Der I2C-Port wird über den Buffer PCA9600
-
Thread
Heimautomation mit Raspberry PI - Einige Fragen zur Schaltung (Strommessung, Funk-Sensoren etc.)
) * Echtzeituhr (Bereits Erledigt) * IO-Erweiterung: Taster, Reed-Kontakte, 2 Status-LEDs über MCP23017 via i2c (Wie anschließen?) * Temperatur- und Luftfeuchte-Sensor * Lichtsensor (Ist es denn auch wirklich Dunkel und soll ich das Licht anmachen?) * Bewegungsmelder am MCP23... (Gibt schaltkontakt
für Schalterdosen (433MHz) * Ansteuerung der Schalter direkt am GPIO des PIs * Ansteuerung des MCP23017 (Denke bekomme ich heute fertig) Folgende Fragen tun sich mir nun auf, da ich eher aus dem Software-Bereich als aus der Hardware komme: Bevor ich was kaputt mache frage ich bei folgenden Themen
-
Thread
schieberegister
schnellen Antworten, bin auf den Artikel gestoßen: http://www.elektronx.de/tutorials/porterweiterung-mit-mcp23017-und-i2c/ meint ihr das dieser vielecht auch geeignet ist? http://de.farnell.com/microchip/mcp23017-e-so/16bit-expander-i-o-i2c-i-f-smd/dp/1332087
Glenn Rathke schrieb im Beitrag #3316892: > meint ihr das dieser vielecht auch geeignet ist? > ... mcp23017 ... Klar, aber der fällt unter die Kategorie: Εrnst B✶ schrieb im Beitrag #3316803: > Tut's auch ein "Port Expander" über I2C oder SPI? die dir zu teuer war.
-
Thread
Line Laser + LDR Array
www.ebay.de/itm/261230138428?var=560206169140&ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649 MCP23017 möglich unter 20µs alle Ports per I2C aus zu lesen und in den Atmega speicher zu schreiben oder auszuwerten?
-
Thread
eigenes Z80 Mainboard - geht das so?
nicht verwenden, der kann nur nach low treiben und hat schwache Pullups. Nimm besser den Microchip MCP23017. Der kann wesentlich mehr, z.B. hat er eine manuelle Richtungsumschaltung und echte Push-Pull-Treiber, die 20mA sowohl nach VCC als auch nach Ground treiben können. Zudem hat er zwei 8 Bit Ports
-
Thread
Tasten Multiplexen mal anders?
mcp23017