Arduino ile zaman ayarlı mama kabı projesi yardım.

mertg54

Yeni Üye
Katılım
15 Mayıs 2025
Mesajlar
1
Merhaba iyi forumlar arkadaşlar projem olan arduino ile zaman ayarlı mama kabım için yardımınıza ihtiyacım var pek fazla bilgim yok arduinoda projenin amacı rtc modül ile tft lcd ekrandan 12 saatlik geri sayım olacak sayım bitince servo motor ile bir mekanizma döndürüp mama dökecek sorum şu kodumu kendim ve internetten örnekler ile yazdım daha test edemedim dişi-erkek jumper kablolarım eksik olduğu için kodu aşşağı bırakıyorum. bir kaç tane daha sorum var.
-rtc olmadan geri sayım mümkün, peki eeprom ile sağlıklı olur mu?
-servo motorum sg5010 arduino mega kartı ile hem ekrana hem servoya güç verebilir miyim zorlanma olur mu?
-lcd tft ve servo için direnç bağlantısı yapmalımıyım internette görüğüme göre direnç bağlayan yok.
-servonun alacağı elektrik yetersiz kalırsa adaptör ile servoyu beslesem ama megaya pil bağlantısı yapsam devre için mantıklı olur mu?


C++:
#include <Wire.h>
#include <RTClib.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
#include <Servo.h>

// TFT ekran pinler
#define TFT_CS     53
#define TFT_RST    49
#define TFT_DC     48

Adafruit_ST7735 ekran(TFT_CS, TFT_DC, TFT_RST);
RTC_DS3231 rtc;
Servo motor;

const int MOTOR_PIN = 6;  // servo motor sinyal pini
DateTime sonTetiklemeZamani; // en son servo motorun çalıştığı zaman
bool sayacAktifMi = true;     // sayaç şu anda çalışıyor mu sorgusu

void setup() {
  Serial.begin(9600);
  Wire.begin(); // I2C haberleşmesi

  // TFT ekran başlatma
  ekran.initR(INITR_BLACKTAB);
  ekran.setRotation(1);
  ekran.fillScreen(ST77XX_BLACK);
  ekran.setTextSize(2);
  ekran.setTextColor(ST77XX_WHITE);

  // RTC modülü başlatma
  if (!rtc.begin()) {
    ekran.setCursor(0, 0);
    ekran.println("RTC bulunamadi!");
    while (1); // RTC yoksa kod kesilir
  }

  if (rtc.lostPower()) {
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }

  // servo motor 0 dereceye ayarlama
  motor.attach(MOTOR_PIN);
  motor.write(0);

  // başlangıç zamanı çalıştığı saat
  sonTetiklemeZamani = rtc.now();
}

void loop() {
  DateTime simdi = rtc.now();  // Şu anki zamanı oku

  //yeni gün sorgusu
  TimeSpan kalanSure = TimeSpan(0, 12, 0, 0) - (simdi - sonTetiklemeZamani);

  // TFT ekran temizle yazdır
  ekran.fillScreen(ST77XX_BLACK);
  ekran.setCursor(10, 10);

  if (kalanSure.totalseconds() > 0) {
    // sayaç hala devam ediyorsa geri sayımı yazdır

    int saat = kalanSure.hours();
    int dakika = kalanSure.minutes();
    int saniye = kalanSure.seconds();

    ekran.print("Geri Sayim:");
    ekran.setCursor(10, 40);
    yazSaatiYaz(saat, dakika, saniye);
  } else {
    // motor çalıştır ve sayaç sıfırla

    if (sayacAktifMi) {
      ekran.setTextColor(ST77XX_GREEN);
      ekran.setCursor(10, 20);
      ekran.println("MAMA VAKTİ!!");
      ekran.setCursor(10, 50);
      ekran.println("MAMA DÖKÜLÜYOR!");

      delay(1000);

      // servo motoru 0 - 180
      motor.write(180);
      delay(2000);
      motor.write(0);
      delay(2000);

   
      sonTetiklemeZamani = simdi;

      sayacAktifMi = false;
    }
  }

  // sayaç kapalıysa ve tetiklemeden 10 saniye geçerse baştan başlat
  if ((simdi - sonTetiklemeZamani).totalseconds() > 10 && !sayacAktifMi) {
    sayacAktifMi = true;
  }

  delay(1000); //ekranı her saniye güncelle
}

// saat biçimi saat dakika saniye örnek 10:27:54
void yazSaatiYaz(int saat, int dakika, int saniye) {
  if (saat < 10) ekran.print("0");
  ekran.print(saat); ekran.print(":");

  if (dakika < 10) ekran.print("0");
  ekran.print(dakika); ekran.print(":");

  if (saniye < 10) ekran.print("0");
  ekran.print(saniye);
}
 
Son düzenleme:

Forum istatistikleri

Konular
7,739
Mesajlar
128,757
Üyeler
3,125
Son üye
adnancoskun

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Back
Top