Merhaba,
Muhtemelen açma/ kapama düğmesi olsa gerek.
Malzemeler;
#include <virtuabotixRTC.h> //Kütüphanemizi ekliyoruz
virtuabotixRTC myRTC(6, 7, 8); //pin tanımlamaları
void setup() {
Serial.begin(9600);
//Bu kısımda saat ayarlamasını yapıyoruz. Kodu atığınız zaman güncelemeyi unutmayın
myRTC.setDS1302Time(00, 48, 11, 4, 10, 1, 2021); //saniye, dakika, saat, haftanın günü, gün, ay, yıl
}
void loop() {
myRTC.updateTime();
Serial.print(myRTC.dayofmonth);
Serial.print("/");
Serial.print(myRTC.month);
Serial.print("/");
Serial.print(myRTC.year);
Serial.print(" ");
Serial.print(myRTC.hours);
Serial.print(":");
Serial.print(myRTC.minutes);
Serial.print(":");
Serial.println(myRTC.seconds);
delay(1000);
}
Saatimiz güncelledikten sonra bu kodları atabiliriz;
#include <MD_Parola.h> //Kütüphanelerimizi ekliyoruz
#include <MD_MAX72xx.h>
#include <virtuabotixRTC.h>
#include "DHT.h"
#define DHTPIN 2 //DHT pin tanımlaması
#define DHTTYPE DHT11 //DHT modeli tanımlaması
DHT dht(DHTPIN, DHTTYPE);
int CLK = 6; //RTC modülümüzün pin bağlantılarını tanımlıyoruz
int DAT = 7;
int RST = 8;
virtuabotixRTC myRTC(CLK, DAT, RST);
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
#define MAX_DEVICES 4 //4 Dot Matrix kullanacağımızdan dolayı 4 seçiyoruz
#define CLK_PIN 13 //Dot matrix board pin tanımlamaları
#define DATA_PIN 11
#define CS_PIN 10
MD_Parola P = MD_Parola(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES);
const long int WAIT_TIME = 1000;
void setup()
{
P.begin();
dht.begin();
}
void loop()
{
myRTC.updateTime(); //Zaman güncellemesi
int h = dht.readHumidity(); //Nem değerini alıyoruz
int t = dht.readTemperature(); //Sıcaklık değerini alıyoruz
if(myRTC.minutes<10 && myRTC.minutes>=0)
P.print(" " + String(myRTC.hours) + ":" + "0" + String(myRTC.minutes)); //Dakika değeri 0-9 aralığındaysa formatı bozmamak için başına 0 ekleyerek yazdırıyoruz
else
P.print(" " + String(myRTC.hours) + ":" + String(myRTC.minutes)); //Saat yazdırma
delay(2000);
P.print(" "+String(t)+" C"); //Sıcaklık değeri yazdırma
delay(2000);
P.print(" %" + String(h)); //Nem değeri yazdırma
delay(2000); //2 saniye bekleme
Kolay gelsin. 