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.

Pin out pcf8574

schema pcf8574

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 Wire 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 Analyzer.
  3. Sluit op P4 een drukknop aan naar de ground.
  4. Lees via de Arduino de stand van de schakelaar uit en 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.