personas:johnny:proyectos:esp8266
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| personas:johnny:proyectos:esp8266 [2019/06/04 15:16] – [Conexión relevador] kz | personas:johnny:proyectos:esp8266 [2019/06/04 19:14] (actual) – [Conexión pantalla oled SSD1306] kz | ||
|---|---|---|---|
| Línea 1161: | Línea 1161: | ||
| ===== Conexión LM35 ===== | ===== Conexión LM35 ===== | ||
| - | En este caso hemos optado por un sensor bastante normal que detecta temperaturas desde -55ºC a 150ºC, 1ºC equivale a 10mV y soporta voltajes de entre 4V y 30V. Todo esta información se ha obtenido de la ficha técnica del LM35. | + | [[https:// |
| + | a toda la información. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | <code c++> | ||
| + | /* | ||
| + | Creado: Luis del Valle (ldelvalleh@programarfacil.com) | ||
| + | https:// | ||
| + | */ | ||
| + | |||
| + | // Declaracion de variables globales | ||
| + | float tempC; // Variable para almacenar el valor obtenido del sensor (0 a 1023) | ||
| + | int pinLM35 = 0; // Variable del pin de entrada del sensor (A0) | ||
| + | |||
| + | void setup() { | ||
| + | // Cambiamos referencia de las entradas analógicas | ||
| + | analogReference(INTERNAL); | ||
| + | |||
| + | // Configuramos el puerto serial a 9600 bps | ||
| + | Serial.begin(9600); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // Con analogRead leemos el sensor, recuerda que es un valor de 0 a 1023 | ||
| + | tempC = analogRead(pinLM35); | ||
| + | |||
| + | // Calculamos la temperatura con la fórmula | ||
| + | tempC = (1.1 * tempC * 100.0)/ | ||
| + | |||
| + | // Envia el dato al puerto serial | ||
| + | Serial.print(tempC); | ||
| + | // Salto de línea | ||
| + | Serial.print(" | ||
| + | |||
| + | // Esperamos un tiempo para repetir el loop | ||
| + | delay(1000); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Conexión pantalla oled SSD1306 ===== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Links con información interesante: | ||
| + | |||
| + | - [[https:// | ||
| + | - [[https:// | ||
| + | - [[https:// | ||
| + | |||
| + | Este es el esquema de conexión: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Este código funciona con la librería de adafruit. | ||
| + | |||
| + | <code c++> | ||
| + | /* | ||
| + | * Demo for SSD1306 based 128x64 OLED module using Adafruit SSD1306 | ||
| + | * library (https:// | ||
| + | * | ||
| + | * See https:// | ||
| + | * for more information. | ||
| + | * | ||
| + | */ | ||
| + | |||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | // If using software SPI (the default case): | ||
| + | #define OLED_MOSI | ||
| + | #define OLED_CLK | ||
| + | #define OLED_DC | ||
| + | #define OLED_CS | ||
| + | #define OLED_RESET 10 | ||
| + | |||
| + | Adafruit_SSD1306 display(OLED_MOSI, | ||
| + | |||
| + | void setup() | ||
| + | // Serial.begin(9600); | ||
| + | display.begin(SSD1306_SWITCHCAPVCC); | ||
| + | display.display(); | ||
| + | delay(1000); | ||
| + | display.clearDisplay(); | ||
| + | display.setTextSize(1); | ||
| + | display.setTextColor(WHITE); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | static unsigned long thisMicros = 0; | ||
| + | static unsigned long lastMicros = 0; | ||
| + | display.clearDisplay(); | ||
| + | display.setCursor(0, | ||
| + | display.print(" | ||
| + | display.print(" | ||
| + | display.print(thisMicros - lastMicros); | ||
| + | display.print(" | ||
| + | display.display(); | ||
| + | lastMicros = thisMicros; | ||
| + | thisMicros = micros(); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
personas/johnny/proyectos/esp8266.1559661369.txt.gz · Última modificación: por kz
