#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 4
#define CLK_PIN 13
#define DATA_PIN 11
#define CS_PIN 10
// Constants for the NTC sensor
const int ntcPin = A0;
const float refResistor = 10000.0; 
const float refVoltage = 5.0;
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup()
{
  P.begin(2);
  P.setInvert(false);
  P.setZone(0, MAX_DEVICES - 4, MAX_DEVICES - 1);
  analogReference(DEFAULT); 
}

void loop()
{
  int rawValue = analogRead(ntcPin);
  float voltage = (rawValue / 1023.0) * refVoltage;
  float resistance = (refResistor * voltage) / (refVoltage - voltage);
  float temperatureC = 1.0 / (1.0 / (25 + 273.15) + log(resistance / 10000.0) / 3950.0) - 273.15;
  char tempStr[10];
  dtostrf(temperatureC, 3, 1, tempStr);
  P.displayZoneText(0, tempStr, PA_CENTER, 0, 0, PA_PRINT, PA_NO_EFFECT);
  P.displayAnimate();
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
m1:V+
m1:GND
m1:DIN
m1:CS
m1:CLK
m1:V+.2
m1:GND.2
m1:DOUT
m1:CS.2
m1:CLK.2
ntc1:GND
ntc1:VCC
ntc1:OUT