TI-S2

I2C aansturing van de PCF8574

Deze opdracht is je “Hello World” oefening voor het werken met I2C. Ook voor de volgende semesters zal dat een essentiele ervaring zijn.

De PCF8574 heeft een I2C interface waarmee je 8 I/0 pinnen kan uitlezen of aansturen. De 8 I/O pinnen van de chip zijn open-collector, met ingebouwde, zwakke pull-ups.

  1. Lees eerst de gehele opdracht voordat je aan de slag gaat.
  2. Gebruikt het internet: wat is een open-collector? Waarom is het handig?
  3. Zoek op internet naar de datasheet van de PCF8574.
  4. Sluit de PCF8574 chip aan:
  1. Sluit LEDs (met weerstanden) aan op P0, P1, P2 en P3 (naar de VDD/power, dus actief laag).
  2. Gebruik de hwlib I2C library om de chip aan te sturen.
    Zoek in de chip datasheet op wat het I2C adres van de chip is. Let op: de PCF8574 en de PCF8574A zijn verschillend. Bedenk je of het genoemde adres in de datasheet met of zonder het r/w bit is. Bedenk je of Wire een adres met of zonder het r/w bit verwacht. Laat de LEDs in Kitt patroon (heen en weer) oplichten.
    Debug en/of controleer de I2C signalen met behulp van je logic analyser.
  3. Sluit op P4 een drukknop aan naar de ground.
  4. Lees via de Arduino de stand van de schakelaar uit een bestuur
    daarmee een of meer LEDs.

Wat lever je in?

Vergeet niet de code van commentaar te voorzien, zodat duidelijk is wat de bedoeling is.