Paso 2: Mejor truco: utilizar I2C
El mejor truco para obtener entradas extras en el ESP8266-01 es utilizar una interfaz I2C.
Una opción es usar GPIO0 y GPIO2 como el bus I2C.
La pullup resistencias necesarias para conseguir el módulo para poner en marcha correctamente pueden doblar como las resistencias de pull-up de bus I2C y el otro esclavo, componentes en el bus son de colector abierto y así deben no tire el autobús hacia abajo al encender. Sin embargo en algunos esclavos de los casos, particularmente aquellos con batería de respaldo, puede atascarse y pulsado el autobús. En estos casos necesita aislar el autobús hasta que el ESP8266 obtiene a través de su etapa de arranque.
Puede evitar este problema mediante el uso de TX y RX para el bus I2C
Algunas cosas en cuenta:
- GPIO1 (TX) se utiliza como la línea de datos, porque siempre obtendrá algunos debug salida GPIO1 en energía para arriba. No es posible suprimir esta salida, pero la línea de reloj (RX) se llevará a cabo alta por lo que ninguno de estos datos se registran a los esclavos
- Al programar la ESP8266, la línea de RX está conectada a la salida del programador. Al final de la programación se reinicia la ESP8266 y 330 resistor de protección evita RX unidad de salida del programador se ponga en cortocircuito.
- Los resistores de la serie I2C ofrecen una protección similar para el TX, RX de cortos en el bus I2C
El ESP8266 es 3.3V dispositivo así que preferentemente utiliza 3.3V I2C esclavos. Son muchos, pero no todos los dispositivos I2C son 3.3V estos días. "En general, en un sistema donde un dispositivo está en un voltaje más alto que otro, es posible conectar los dos dispositivos vía I2C sin cualquier nivel cambio de circuitos entre ellos. El truco es conectar las resistencias de pull-up en la parte inferior de las dos tensiones". (Tutorial de SparkFun I2C) Para una mezcla de 5V y 3.3V dispositivos conectan el enderezamiento los 3.3V de línea, como se muestra arriba.
Usando I2C es una gran manera de añadir un convertidor de A D de varios canales a la ESP8266-01 que no expone la única entrada de ADC del módulo subyacente. Por ejemplo usando Adafruit 12 bits I2C 4 canales ADC o para analógica salida I2C DAC Breakout – Junta de MCP4725 de SparkFun. También hay muchos otros tipos de sensores con buses I2C.
Ver http://www.i2c-bus.org/i2c-primer/common-problems... para más información de superar problemas de I2C. Ver también Arranque confiable para I2C RTC de respaldo de batería para un método corto para ayudar a limpiar el bus