Hur du använder ESP8266-01 stiften (2 / 4 steg)
Steg 2: Bästa knep – använda I2C
Den bästa knep för att få extra ingångar in i den ESP8266-01 är att använda ett I2C gränssnitt.
Ett alternativ är att använda GPIO0 och GPIO2 som I2C bussen.
Pullup motstånd behövde få modulen för att starta upp korrekt kan dubbla som I2C bussen pull-up motstånd och andra slav, komponenter på bussen är öppen kollektor och så bör inte dra bussen ner vid uppstart. Men i vissa fall slavar, särskilt de med batteri backup, kan bli stickat och håll bussen ner. I dessa fall måste du isolera bussen tills ESP8266 får genom sin boot steg.
Du kan undvika detta genom att använda TX och RX för I2C bussen
Några saker att notera:
- GPIO1 (TX) används som Data linjen, eftersom du får alltid några debug utgången på GPIO1 på power upp. Det finns inget sätt att undertrycka denna utgång, men klocka linjen (RX) kommer att hållas hög så ingen av dessa data kommer att vara klockad till slavar
- Vid programmering av ESP8266 är RX linje ansluten till programmerarens utdata. I slutet av programplaneringen ESP8266 omstarter och 330 skydd motstånd förhindrar RX kortsluter programmerarens output enhet.
- I2C-serien motstånd ger liknande skydd för TX, RX från shorts till I2C-buss
ESP8266 är 3.3V enheten så helst använda 3.3V I2C slavar. Många, men inte alla, I2C enheter är är 3.3V dessa dagar. "I allmänhet, i ett system där en enhet är på en högre spänning än en annan, det kan vara möjligt att ansluta de två enheterna via I2C utan någon nivå skifta kretsar refuger. Tricket är att ansluta pull-up motstånd till lägre av de två spänningarna." (SparkFun I2C tutorial) För en blandning av 5V och 3.3V enheter ansluta pullup motstånd till de 3.3V linje, som visas ovan.
Med I2C är ett bra sätt att lägga till en flerkanals A-till-D omvandlare till den ESP8266-01 som inte utsätter den enda ADC ingången på den underliggande modulen. Till exempel använder Adafruit 12 bitar I2C 4 kanals ADC eller för analog utgång Sparkfun's I2C DAC Breakout-MCP4725 styrelse. Det finns också många andra typer av sensorer med I2C bussar.
Se http://www.i2c-bus.org/i2c-primer/common-problems... mer information för att lösa I2C problem. Se även Tillförlitlig start för I2C batteri backas RTC för en kort metod att hjälpa rensa bussen