#include <Adafruit_GFX.h> // librería de Adafruit
#include <Adafruit_NeoMatrix.h> // librería de Adafruit
#include <Adafruit_NeoPixel.h> // librería de Adafruit
#ifndef PSTR // Comprobamos si no hay definiciones
#define PSTR //
#endif // Finalizar el código
#define PIN 6 // Definimos al PIN digital 6 de Arduino para emplearlo como entrada de la matriz
// Aquí definimos el tipo de matriz que estamos empleando, en este caso 8x8
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(24, 8, PIN,
NEO_MATRIX_BOTTOM + NEO_MATRIX_LEFT +
NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
NEO_GRB + NEO_KHZ800);
// Colocamos los colores a elección en escala RGB
const uint16_t colors[] = {
matrix.Color(255, 51, 51),
matrix.Color(255, 255, 0),
matrix.Color(0, 128, 255),
matrix.Color(255, 102, 255),
};
#include <OneWire.h>
#include <DallasTemperature.h>
// GPIO where the DS18B20 is connected to
const int oneWireBus = 7;
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(oneWireBus);
// Pass our oneWire reference to Dallas Temperature sensor
DallasTemperature sensors(&oneWire);
unsigned long startTime;
int x;
int pass = 0;
void setup()
{
matrix.begin(); // Declaramos el inicio de funcionamiento de la matriz
matrix.setTextWrap(false); // Permitir que el texto se desplace hacia la derecha
matrix.setBrightness(20); // Configurar el porcentaje de brillo de los leds
matrix.setTextColor(colors[2]); // Colocar los colores en la matriz
Serial.begin(115200);
Serial.println("Hola mundo");
matrix.setTextColor(colors[0]);
// Start the DS18B20 sensor
sensors.begin();
x = matrix.width(); // Dimensionamos el tamaño de recorrido en el eje x
}
void loop(){
char buffer[9], str[6];
//String buffer;
if (millis() - startTime > 1000UL)
{
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
// Serial.print(temperatureC);
// Serial.println("ºC");
// delay(1000);
// sprintf(buffer, "T=%2.1f C", temperatureC);
//sprintf(buffer, "%2.1f", temperatureC);
temperatureC = 23.45;
dtostrf(temperatureC, 4, 2, buffer);
//buffer = String(temperatureC, 2);
Serial.println(buffer);
// if (++pass > 3)
// {
// pass = 0; // Da un límite de veces en el cual se mostrará para luego reiniciarlo
// matrix.setTextColor(colors[pass]);
// }
startTime = millis();
}
matrix.fillScreen(0); // Apagamos los leds encendidos para poder comenzar
matrix.setCursor(0, 0); // ubicación de inicio de encendido
matrix.print(buffer); // Ingresamos el texto que nos gustaría visualizar
// if (--x < -34)
// {
// // Dirección y distancia que puede recorrer el texto en el eje x
// x = matrix.width();
// if (++pass > 3)
// pass = 0; // Da un límite de veces en el cual se mostrará para luego reiniciarlo
// matrix.setTextColor(colors[pass]);
// }
matrix.show(); // Enviar la programación al Hardware
delay(130); // modificamos el tiempo de retardo de acuerdo a la preferencia
}