PCF8574 als I/O uitbreider

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 3
Geregistreerd: 24 Mei 2019, 08:54

PCF8574 als I/O uitbreider

Berichtdoor Stefan.M » 07 Jun 2019, 15:42

Beste Forumleden,

Ik ben nieuw op dit forum dus om te beginnen zal ik mijzelf even voorstellen.
Ik ben Stefan M en nieuw in deze hobby. Ik kan frezen en draaien maar electronica...

hoe dan ook, Ik heb een paar leuke projecten wat ik wil gaan doen om mijn vaardigheden
met elektronica te verbeteren. Om dit te doen heb ik gekozen voor de arduino.

voor het project wat ik wil gaan doen moet ik via de ardiuno een stappenmotor, keypad,
end switch en een LCD scherm aansturen. je raad het al, ik heb te weinig pinnen.
nu hebben ze op werk veel PCF8574P IC chips liggen en laat dit toevallig gebruikt kunnen
worden om een I/O pin uitbreiding te maken (tenminste dat las ik op internet).

deze heb ik aangesloten op een breadboard die opzichzelf verbonden is met de arduino.
(van de IC heb ik draad lopen tussen de SCL en de SDA van de arduino en de IC).
vervolgens de ground aangeloten op grount (in totaal 4 0 draden )

Met deze opstelling heb ik een LED lampje kunnen laten knipperen via de IC.

nu zoek ik het juiste proggrama om het LCD scherm op te kunnen laten draaien.

kan iemand mij helpen?

Met vriendelijke groet,
Stefan M

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: PCF8574 als I/O uitbreider

Berichtdoor Koepel » 07 Jun 2019, 16:42

Wat voor LCD scherm is het ?
Er zijn LCD schermen met een I2C aansluiting, dan hou je nog genoeg pinnen over voor andere dingen.

Voor de keypad is er een Keypad library.

Wat heb je om de stappenmotor aan te sturen ?

Berichten: 3
Geregistreerd: 24 Mei 2019, 08:54

Re: PCF8574 als I/O uitbreider

Berichtdoor Stefan.M » 07 Jun 2019, 17:27

Bedankt voor je reactie.

Het is een 16x2 lcd scherm. op het printplaatje van het LCD scherm zitten 16 pinnen. van die pinnen heb ik de eerste 6 en laatste 6 aangesloten. ( 1 verbonden met een potentiometer).

Ik vraag me af hoe ik het proggrama moet schrijven om ervoor te zorgen dat de arduino weet naar welke pinnen van de PCF8574 hij een singaal moet sturen.

voor de stappenmotor heb ik een L298N.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: PCF8574 als I/O uitbreider

Berichtdoor Koepel » 07 Jun 2019, 17:52

De L298N is een soort Flintstones auto vergeleken met de mooie drivers die er tegenwoordig zijn.
De L298N is voor kleinere 12V DC motors. Misschien dat het voor de stappenmotor ook werkt, dat hangt van de stappenmotor af.

Dus het je hebt het scherm achter de PCF8574 ?
De LCD schermen met een I2C aansluiting hebben een klein printje op de achterkant met een PCF8574.
Als je ergens een schema kunt vinden, dan zou je dezelfde pinnen gebruiken en dan kun je de library gebruiken voor the I2C display.

Als je zelf aan de slag wilt, dan maak je het jezelf wel heel erg moeilijk.
Je kunt de broncode van de LiquidCrystal library pakken, en dan alles wijzigen naar code voor de PCF8574.
https://github.com/arduino-libraries/LiquidCrystal/blob/master/src/LiquidCrystal.cpp
Iedere pinMode() en iedere digitalWrite() vervolgens omzetten.
Er zijn libraries voor de PCF8574, die vergelijkbare functies hebben. Kijk eens in de Arduino IDE in de Bibliotheek Beheer.

Dit is de gewone aansluiting van een LCD display: https://www.arduino.cc/en/Tutorial/HelloWorld.
Dit is een LCD display met I2C aansluiting: https://www.adafruit.com/product/714.
Dit is zo'n "backpack" om een I2C aansluiting op een LCD scherm te maken met een PCF8574: https://www.aliexpress.com/item/1PCS-SAMIORE-ROBOT-Serial-Board-Module-Port-PCF8574-IIC-I2C-TWI-SPI-Interface-Module-1602-LCD/32984942286.html
Dit is een LCD display met backpack, op de derde foto zie duidelijk het backpack: https://iprototype.nl/products/components/led-lcd/lcd16x2-I2C-BL

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: PCF8574 als I/O uitbreider

Berichtdoor shooter » 07 Jun 2019, 19:37

zoek op internet naar wat je hebt icm i2c
paul deelen
shooter@home.nl

Berichten: 3
Geregistreerd: 24 Mei 2019, 08:54

Re: PCF8574 als I/O uitbreider

Berichtdoor Stefan.M » 08 Jun 2019, 08:08

Koepel: Ik zal er naar kijken! Heb nu een library gedownload (PCF8574) en die geupload in de IDE deze heb ik naar de arduino gestuurd en werkt zonder problemen. dus de pinnen werken van de PCF8574. nu aan de gang met de LiquidCrystal_I2C. als het goed is moet ik defineren aan welke pinnnen ik deze verbind toch? Maar als ik aangeef dan bijvoorbeeld rs op p1 zit geeft die aan dat p1 niet declared is. iemand een idee?

shooter: Wat moet ik precies uitzoeken?

Bedankt voor de reactie's

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: PCF8574 als I/O uitbreider

Berichtdoor Koepel » 08 Jun 2019, 09:07

Je kunt een I2C display kopen, daar zit al zo'n backpack met een PCF8574 bij.

Als je jouw eigen PCF8574 wilt gebruiken, definieer dan de pinnen goed in de sketch voor de LiquidCrystal_I2C library.

Ik vond onder andere deze schema's:
https://www.electroschematics.com/12459/arduino-i2c-lcd-backpack-introductory-tutorial/ (halverwege)
https://arduinoinfo.mywikis.net/wiki/LCD-Blue-I2C (onderaan de pagina)
De schema's hebben dezelfde aansluitingen, alleen de labels voor D0..D3 zijn bij de andere D4..D7, maar ze bedoelen dezelfde signalen.
Dus blijkbaar is daar een soort van standaard voor, maar je kunt zelf in de sketch de juiste pinnen definiëren.
Dat zijn deze regels:
Code: Alles selecteren
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);


Als je een library gebruikt om zelf de pinnen hoog en laag te maken, en je wilt zelf de gewone LiquidCrystal library omzetten naar een LiquidCrystal_I2C library, dan maak je het jezelf onnodig moeilijk. Doe dat maar niet.

P.S.: Ik heb deze post flink zitten wijzigen omdat ik eerst dacht dat de schema's verschillend waren.

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten