die 7-bit-Adresse ist eigentlich die korrekte (bits 1-7), da bit 0 nur für den Controller als Lese- oder Schreibflag verwendet wird:
8-bit
7-6-5-4-3-2-1-rw
geshiftet zu 7-bit:
6-5-4-3-2-1-0
für die reine Adresse ist das 0. bit ntl wurscht, und wie das jetzt zu handhaben ist, ist alleine von der jeweiligen i2c-Lib abhängig: das ist nirgends festgeschrieben, aber in deinem Fall wäre 0x20 absolut korrekt, was sowohl den Datenblättern als auch den Arduino-Wire-Libs entspricht. Aber direkt falsch ist deswegen 0x40 auch nicht, ist halt lib- bzw. Plattform-abhängig.
Lesezeichen