/* Proyek #19:Thermometer digital
Menggunakan 4-digit 7-segmen, common anoda
*/
#include "SevSeg.h"
SevSeg sevseg; //Inisialisasi objek seven segment
const float BETA = 3950; // sesuaikan angka ini dg koefecient sensor NTC yang anda gunakan
int pinNTC = 15; //pin 15 untuk output siginal sensor NTC
void setup() {
analogReadResolution(10);
byte numDigits = 4;//jumlah digir seven segment
byte digitPins[] = {4,17,2,0}; //DIG1,DIG2, DIG3,DIG4
byte segmentPins[] = {21, 18, 13, 12, 14, 5, 19, 16}; //A,B, C, D, E, F, G, DP
bool resistorsOnSegments = false; // pilih 'false bila resistor ada di pin digit
byte hardwareConfig = COMMON_ANODE; // gangti tipenya common anoda atau katoda dr 7 segment
bool updateWithDelays = false; // Default 'false' direkomendasikan
bool leadingZeros = false; // Pilih 'true' Jika ingin menmapilkan nol disamping
bool disableDecPoint = false; // pilih 'true' jika pin Dp tidak ada atau tidak dihubungkan
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness(95);//atur tingkat kecerahan 7segmen (0-100)
}
void loop() {
int analogValue = analogRead(pinNTC);
float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
sevseg.setNumberF(celsius,1);//menampilkan nilai count
sevseg.refreshDisplay(); // dijalankan secara berulang
}