1 puan yazan GN⁺ 2026-02-10 | 1 yorum | WhatsApp'ta paylaş
  • Ucuz bir analog kuvars saat, ESP8266 modülü ve Arduino sketch ile kontrol edilerek internet saatiyle senkronize edilen bir proje
  • Doğruluğu korumak için her 15 dakikada bir NTP sunucusundan zamanı alır ve yaz saati otomatik ayarlama özelliğini içerir
  • Saatin Lavet step motor bobini ayrılarak ESP8266’nın kontrol edebileceği şekilde modifiye edilir ve EERAM çipi kullanılarak güç kesildiğinde bile saat, dakika ve saniye ibrelerinin konumları saklanır
  • İlk kurulumda ESP8266’nın sunduğu web sayfası arayüzü üzerinden ibre konumları belirlenir; sonrasında durum sayfasında saat durumu SVG veya HTML Canvas ile görselleştirilir
  • Ucuz donanımla doğru ağ senkronizasyonlu bir saat gerçekleştirilebileceğini gösteren açık kaynaklı bir örnek olarak, gömülü IoT kontrol teknolojisinin pratik bir uygulamasını sergiler

Proje genel bakışı

  • ESP8266 WiFi Analog Clock, WEMOS D1 Mini ESP8266 modülü ve Arduino sketch kullanarak NTP(Network Time Protocol) sunucusundan yerel saati otomatik alıp gösteren bir sistemdir
    • Saatin doğruluğunu korumak için her 15 dakikada bir NTP sunucusuna yeniden bağlanır
    • Yaz saati uygulaması (Daylight Saving Time) için otomatik ayarlama özelliği içerir
  • Proje, ucuz bir analog kuvars saat temel alınarak donanım modifikasyonu ile yazılım kontrolünü birleştirir

Donanım yapısı

  • Kullanılan saat, Walmart’tan 3,88 dolara satın alınmış bir analog kuvars saattir
  • Saatin kuvars mekanizması açılarak içindeki Lavet step motor bobini kuvars osilatörden ayrılır ve her bir uca ESP8266 bağlantısı için kablo lehimlenir
    • Mekanizmaların çoğu vida yerine geçmeli şekilde monte edilmiştir
    • Bobin telleri saç telinden daha ince olduğu için kullanım sırasında çok dikkat edilmesi gerekir
  • Tamamlanan devre, EERAM IC ve diğer bileşenlerle birlikte perfboard üzerine kurulmuştur

Yazılımın çalışma şekli

  • AnalogClock.ino sketch’i, ESP8266’nın gerçek zaman ile saatin gösterdiği zamanı saniyede 10 kez karşılaştırmasını sağlar
    • Saat geri kalıyorsa saniye ibresi hızlı hareket ettirilerek senkronize edilir
    • Saat ileri gidiyorsa gerçek zaman yetişene kadar beklenir
  • Saniye ibresinin hareketi, Lavet motor bobinine iki kutuplu darbe (bipolar pulse) uygulanarak sağlanır
    • Motorun özelliklerine göre PULSETIME sabitinin ayarlanması gerekir; deneysel olarak 30ms uygun bulunmuştur
  • Ucuz saatlerde ibre konumu geri bildirimi olmadığından güç kesildiğinde konum bilgisi kaybolur
    • Bunu çözmek için Microchip 47L04 Serial EERAM(4Kbit SRAM + EEPROM backup) kullanılır
    • Saat, dakika ve saniye ibrelerinin konumları her saniye kaydedilir ve yeniden enerji verildiğinde geri yüklenir

İlk kurulum ve web arayüzü

  • Sketch ilk çalıştırıldığında ESP8266, kullanıcının saat ibrelerinin başlangıç konumunu belirleyebilmesi için basit bir web sayfası sunar
  • Sonrasında ESP8266, EERAM’e kaydedilmiş verileri kullanarak ibre konumlarını hatırlar
  • Çalışma sırasında bir durum sayfası (status page) sunar ve aşağıdaki üç görüntüleme modunu destekler
    • SVG tabanlı saat kadranı grafiği
    • HTML Canvas tabanlı saat kadranı gösterimi
    • Yalnızca metin durum gösterimi

Lisans ve teknik bilgiler

  • Proje MIT lisansı ile yayımlanmıştır
  • Başlıca dil dağılımı C++ 64.1% ve C 35.9% şeklindedir
  • GitHub deposu 252 yıldız (star) ve 2 fork barındırmaktadır
  • İlgili konu etiketleri: arduino, esp8266, clock, analog-clock, ntp, hardware-construction

Önemi

  • Ucuz bir saati Wi-Fi senkronizasyonlu akıllı saate dönüştüren pratik bir örnek
  • ESP8266 ve Arduino ortamı kullanılarak hassas zaman kontrolü ve web tabanlı arayüz uygulaması geliştirilmesine dair bir örnek
  • IoT donanım modifikasyonu ve firmware senkronizasyon tekniklerini öğrenmek için açık kaynaklı bir başvuru materyali

1 yorum

 
GN⁺ 2026-02-10
Hacker News yorumları
  • Gerçekten harika bir proje
    Özellikle ilginç bulduğum kısım “SRAM with EEPROM backup” çipiydi
    Bu çip, saat ibrelerinin konumu her değiştiğinde bunu kalıcı olarak kaydetmeyi sağlıyor, ama normal EEPROM gibi yazma ömrünü tüketmiyor
    Birim fiyatı da 1 doların altında, bu yüzden hobi ya da küçük ölçekli projeler için faydalı bir parça
    • Bu çipin çalışma mantığını şöyle özetliyorum
      SRAM ve EEPROM, denetleyiciyle birlikte tek bir paket içinde bulunuyor ve yakınında küçük bir kondansatör (4.7µF) yer alıyor
      SRAM, güç verildiği sürece veriyi koruyor; EEPROM ise güç kesilse de veriyi kalıcı saklıyor ama yazma sayısı sınırlı
      Denetleyici, voltajın düştüğünü algıladığında SRAM içeriğini anında EEPROM’a döküyor
      Kondansatör de bu anda EEPROM’a veri yazılabilmesi için güç sağlıyor
      Güç geri geldiğinde ise EEPROM’daki veri yeniden SRAM’e kopyalanıyor
      Dezavantajı kapasitenin 4 kilobit gibi küçük olması, ama bu sorunu 1 dolara çözebiliyorsanız bence fazlasıyla değer
    • Aynı teknoloji mi emin değilim ama Adafruit’in ürün bağlantısı da ilginç
    • Ben bu tür kullanım için FRAM’i de seviyorum
      Özellikle debug loglarını ring buffer şeklinde saklarsanız, geliştirme PC’sine bağlı olmasa bile gömülü sistemin çökme loglarını tutmak mümkün oluyor
  • Walmart fiyatı $3.88 gibi görünüyor ama bölgeye ve kullanıcıya göre değişen dinamik fiyatlandırma yüzünden benim bölgemde $5.92 görünüyor
    ürün bağlantısı
  • Evimde, WWVB sinyaliyle otomatik zaman düzeltmesi yapmasını beklediğim bir Seiko atom saati var
    Ama şu an yaşadığım yerde sinyal çok zayıf, bu yüzden elle ayarlamak çok zahmetli
    Ben de ESP32 ve NTP sunucusu kullanarak dünyanın farklı atom saati sinyallerini emüle eden Arduino kodunu kendim yazdım
    Farklı ülkelerdeki atom saati yayın sinyallerinin tarihini ve farklarını incelemek de oldukça ilginç
    • Yalnız, WWVB ile aynı frekansta yayın yapmak büyük ihtimalle yasa dışıdır, dikkat etmek gerekir
  • Birinin böyle bir projeksiyon saatini modladığını görmek isterdim
    Kırmızı projeksiyon parlaklığı gece için tam kıvamında ama Wi-Fi senkronizasyonu olmadığı için zamanı NTP ya da GPS ile ayarlayamıyor
    Projektör kısmı ana gövdeye ribbon kabloyla bağlı, bu yüzden tersine mühendislikle uğraşmak eğlenceli olabilir
    İdeal olarak tavanda, saat dışında başka bilgileri de gösteren bir LED matris olsa güzel olurdu
    Böyle ürünler var ama buyfrixos.com örneğinde olduğu gibi çok pahalılar
    • Ben de düşük parlaklıklı bir sürüm yapmıştım
      yapım notlarımın bağlantısı
    • Bağlantı verilen üründe “Atomic Time” özelliği var, yani WWVB sinyaliyle senkronize oluyor gibi görünüyor
      Ben de bu tür ucuz duvar saatlerinden birkaç tane kullanıyorum ve zaman sapmaları neredeyse yok
      Hatta NTP’den daha az jitter’a sahip olabileceğini düşünüyorum
    • Ben de WWV/WWVB saatlerini seviyorum
      Hiç saat ayarlamak gerekmiyor ve NTP saatleriyle de 1 saniye içinde aynı oluyorlar
      Yalnız fırın ya da mikrodalga saatlerini kapatmak istiyorum
    • Aslında bu tür modifikasyonlara girince, parça maliyeti ve harcanan zaman yüzünden sonunda hazır ürün fiyatının makul olduğu sonucuna varılıyor
    • Temu’dan aldığım birkaç dijital saat var ve zamanları giderek ileri kayıyor
      Bir ayda yaklaşık 1 dakika öne geçiyorlar; keşke Wi-Fi senkronizasyonu olsaydı
  • Bu tür hack kültürü hissini çok seviyorum
    Ürünler giderek daha kapalı hale gelirken, basit ve hacklenebilir şeyleri kendin yapma duygusunu özledim
    Bir gün geçim derdinden kurtulursam, basit, güvenilir ve hacker dostu ev aletlerini kendim yapmak isterim
    Böyle projeleri görünce gerçekten hayran kalıyorum
  • Elinizi o kadar kirletmek istemiyorsanız Crazy Clock öneririm
    Kızım için almıştım ama düzensiz tik tak sesi ders çalışırken dikkat dağıttığı için şu anda kullanılmıyor
    Yine de oldukça keyifli bir deneyimdi
    • “Early clock” modu, saati 0 ila 10 dakika ileri tutuyor; bu da geç kalmayı önlemek için güzel
      Ama evde birden fazla saat varsa etkili olması için sadece birini esas almak gerekiyor
  • Biraz daha bütçeniz varsa, her 30 saniyede bir ‘küt’ sesi çıkaran büyük saatler de var
    Gents Turret Movement tanıtımı
    Ben bunu kullanarak tuning fork tabanlı elektromekanik bir saat yaptım
    Hassas bir zaman kaynağı yerine tuning fork ve 74xx mantığı ile çalışıyor
    • Bu tür tuning fork saatler gerçekten harika
      Accutron neden hâlâ böyle saatler yapmıyor diye merak ediyorum
      Rezonans frekansı kullanmaları, kuvars saatlere benziyor ama görsel olarak daha çekici
  • Step motor için H-köprüsü devresi tasarlarken ters akımı mutlaka hesaba katmak gerekir
    Aksi halde ani gerilim sıçramaları hatalı çalışmaya yol açabilir ya da mikrodenetleyiciye zarar verebilir
    Opto transistör ile gate voltajını izole etmek ve motor beslemesini ayrı vermek ideal olur
  • “€0’lık atıktan €400’lük video düzenleme deck’i yapmak” başlıklı YouTube videosunu izledim
    GitHub projesi de var
    • VCR denetleyicisini dijital giriş aygıtı olarak yeniden kullanma fikri müthiş
      Eski deck’ler ya da LANC denetleyiciler hâlâ ortalıkta bolca bulunduğu için değerlendirmeye çok uygunlar
  • Bu proje harika ama zaman kayması yaşanma ihtimali var gibi görünüyor
    Saat doğru zamanı biliyor olsa bile, gerçek çalışma hızı biraz saparsa biriken hata büyüyebilir
    Özellikle PULSETIME sabiti 1 ms bile yanlış ayarlanmışsa bir gün içinde fark oluşabilir
    Elbette Lavet step motor teoride sabit bir frekans tabanlı adım düzeni korur, ama aşınma ya da gürültü kaynaklı sapma olabilir
    Yine de bir duvar saati düzeyinde bu hata ihmal edilebilir olabilir
    • Lavet tipi step motorlarda çalışma darbe sayısıyla kontrol edilir; bu yüzden darbe genişliğinden çok adet önemlidir
      Wikipedia açıklamasına bakarsanız anlamak daha kolay olur
    • pulsetime sadece tek bir adımı ilerletmek için gereken süredir
      Adım kaçırılmadığı sürece birikimli hata oluşmaz
      Yani adım sayısını doğru tutmak yeterlidir