İçindekiler:
- Adım 1: Her Şeyi Sökün
- Adım 2: Dijital Ayarlar için Düğmeler
- Adım 3: Motor Kondansatörü
- 4. Adım: Saatin Yeni Yüzü
- Adım 5: Eski Cep Telefonundan Dijital Ekran
- Adım 6: Devrelerin Bağlanması
- Adım 7: Kolay Bağlantılar için Bağlantı Kartı
- 8. Adım: Gücü Ayarlama
- 9. Adım: Ürün Yazılımını Şarj Etmek ve Güncellemek için Mikro USB
- Adım 10: Son Montaj
- Adım 11: Kod
- Adım 12: Adım Adım Video
- Adım 13: Son Sözler
Video: Eski Alarm ve Arduino Kullanan Hava Tahmini Saati: 13 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Ortada bozuk bir çalar saatim vardı ve onu saat ve hava tahmin istasyonuna dönüştürmek için bir fikir buldum.
Bu proje için ihtiyacınız olacak:
- Eski dairesel çalar saat
- Arduino Nano
- BME280 sensör modülü (sıcaklık, nem, basınç)
- Nokia 5110'dan LCD ekran modülü
- DS1307 RTC saati
- TP4056 Lityum pil şarj cihazı
- Cep telefonundan eski Li-ion pil kurtarıldı
- Küçük 3.7v ila 5v güçlendirici modül
- Işığa Bağlı Direnç (LDR - ışık ölçer)
- Buzzer (eski PC'den kurtarılmış olanı kullanılır)
- 3 basma düğmesi
- Bir grup direnç (2x10k, 270 ohm) ve bir transistör (2N2222A veya benzeri)
- Bazı geniş büzülme tüpü
- Ön plaka dekorasyonu olarak kullanmak için hurda PCB
- Micro-USB uzatma kablosu (dişi ve erkek tarafları Micro-USB'dir)
- 2x8cm prototip kartı ve bazı teller
Adım 1: Her Şeyi Sökün
Önce eski saati söktüm. Ziller, motor, bozuk saat mekanizması…
Adım 2: Dijital Ayarlar için Düğmeler
Yeni saat, içinde mini bilgisayar ile tamamen dijital olacağı için yanlara 3 adet basit hoş görünümlü buton ekledim.
Hurda bir alüminyum parçası kullanarak bir etiket oluşturmak için bindirmeyi kestim. Etiketler için harfler, harf zımbaları ve siyah bir işaretleyici kullanılarak oluşturulmuştur.
Adım 3: Motor Kondansatörü
Alarmı motorla çalıştırmak için eski çanları saklayacağım. Eski bozuk saat mekanizmasında 104 etiketli seramik bir kapasitör vardı. Devre kartından çıkardım ve doğrudan motora lehimledim - bu, alarm sırasında motoru açarken güç sıçramalarını önlemeye yardımcı olacaktır. Ayrıca, motorun transistör üzerinden kontrol edileceğini, ancak daha sonra bunun üzerinde daha fazla duracağını belirtmek önemlidir.
4. Adım: Saatin Yeni Yüzü
Saat için yeni bir yüz yapmaya karar verdiğimden beri - çöplüğümden bir devre kartı aldım ve tüm bileşenleri hızla çıkarmak için bir inşaat tabancası kullandım. Ortadaki delik yeni saatin dijital ekranı için yapılmıştır.
Adım 5: Eski Cep Telefonundan Dijital Ekran
Bu proje için eski Nokia 5110 cep telefonundan bir LCD ekran kullanmaya karar verdim. Bu ekranlar modül olarak yaygın olarak satılmaktadır, çok az güç çekerler ve Arduino için iyi kütüphaneler vardır. 5110 ekranlı yeni bir modül satın alıyorsanız - tüm yeni modüller kurtarılmış 5110, 3110 ve 3210 telefonlardan oluşturulduğu için gezegeni kurtarıyorsunuz!
Adım 6: Devrelerin Bağlanması
Bu saati kontrol etmek için Arduino kartı kullanmayı planladığımı tahmin etmişsinizdir. Kendi devre kartlarımı oluşturmadığım için proje yeni başlayan Arduino hayranları için bile kolayca tekrarlanabilir. BME280 sıcaklık, basınç ve nem sensörü, DS1307 RTC saati, TP4056 Lityum pil şarj cihazı, küçük 3.7v ila 5v güçlendirici modül, Işık Bağımlı Direnç (LDR - ışık ölçer) ve bir sesli uyarı içeren modüllere sahip bir Arduino Nano kartıdır (eski bilgisayardan alınmıştır).
Eskizlere de bir göz atın - tüm bağlantıları gösterirler. Her şeyin okunması ve anlaşılması çok kolay olduğunu düşünüyorum ama herhangi bir sorunuz varsa aşağıdaki yorumlarda sorun.
Kurulum hakkında birkaç not:
- Motor, transistör aracılığıyla doğrudan aküden bağlanır. Arduino, transistörü direnç ve PWM pin D5 aracılığıyla kontrol eder.
- D7-12 pinleri LCD konektörü için kullanılır. Toprak ve VCC, bağlantı panosu üzerindeki raya bağlanır.
- Saat yüzüne LDR takıldı ve saat yüzünün hemen arkasına direnç + 3 giden kablo lehimlendi.
- Düğme bağlantısı için Arduino içinde dahili PULLUP işlevini kullandım. Menü düğmesi kesmeye bağlıdır ve daha sonra, kesme için dahili PULLUP'ı da kullanabileceğinizi fark ettim. Menü düğmesi için kesme, kodun düğmelerin durumunu her zaman taramaması için gereklidir.
- Saat, pilin durumunu da izleyecek ve gösterecektir, böylece pil doğrudan A0 pimine bağlanır. Pil voltajı asla 4.2V'den yüksek değildir, bu nedenle pili doğrudan Arduino analog pinine bağlamak güvenlidir.
- Buzzer doğrudan PWM pin D6'ya bağlıdır. Bu iyi bir uygulama olmasa da, Arduino Nano belirtilenden daha yüksek özellikleri işleyebildiği için ve ayrıca sesli uyarı sürekli çalışmadığı için bundan kurtuldum. Aynı kurulum, ESP kartlarındaki pinleri kolayca yakabilir, bu yüzden bu durumlarda transistör kontrolünü kullanmanızı öneririm.
- Saatin zaten bir anahtarı vardı, ben de onu kullanmaya karar verdim. Arkada doğal duruyor.
Adım 7: Kolay Bağlantılar için Bağlantı Kartı
Tüm modüller pozitif ve toprak bağlantıları gerektirdiğinden 2x8cm prototip kartı kullanmaya karar verdim ve buna 5V ve Toprak rayları lehimledim. I2C arayüzünü kullanan birkaç modülüm olduğu için orada da küçük bir I2C rayı yaptım.
Diğer tarafta, gerektiğinde modülleri takıp çıkarabilmek için standart pinleri lehimledim.
Motor kontrolü için transistör ve direnç ve Interrupt kullanan Menü düğmesi için bir direnç gibi bazı ek bileşenler de burada lehimlenmiştir. Bir önceki bölümde şemaları gösterdim.
btw İlk resimde saat kadranına önceden takılmış olan LDR sensörünü görebiliyor musunuz?
8. Adım: Gücü Ayarlama
Bu saate güç sağlamak için cep telefonumdan eski bir Lityum-iyon pil kullandım. Genellikle değiştirilen cep telefonu pilleri hala iyi kapasiteye sahiptir (yeni olduğunda en az yarısı). Avantajları, yerleşik bir deşarj koruma devresine sahip olmaları ve ayrıca çok ince olmaları ve dolayısıyla küçük alan senaryolarında kullanılabilmeleridir.
Pili bağlamak için kabloları pil üzerindeki + ve - pinlerine lehimlemeniz yeterlidir. Endişelenmeyin, hücreye zarar vermezsiniz çünkü bir kontrolör ve pimler ile hücrenin kimyasalları arasında bir miktar boşluk vardır.
Bu resimde bataryayı ve ayrıca TP4056 şarj kontrol cihazını ve 5V güçlendiriciyi birbirine ve bataryaya bağlı olarak görebilirsiniz. Her şeyi izole ve kompakt hale getirmek için biraz streç film kullandım.
9. Adım: Ürün Yazılımını Şarj Etmek ve Güncellemek için Mikro USB
Her şeyi lehimledikten sonra zili ve sıcaklık/basınç/nem sensörünü arka panele yapıştırdım. Hepsi eski saat kadranı kontrollerindeki mevcut yuvalara güzelce oturdu.
Artık Mikro USB portunu arkaya takmanın zamanı gelmişti. Nano Mini USB kullanıyorsa neden Mikro USB? Basitçe, evdeki çoğu USB kablosu cep telefonlarından geldiği için saatin bunu da alabilmesi uygun olurdu.
Hem şarj hem de saat ve meteoroloji istasyonu işlevlerini güncellemek için kullanmak istediğim için - USB kablosunu çıkardım, güç kablolarını TP4056 şarj cihazından ve Data+/Data- kablolarından doğrudan Arduino Nano'nun USB soketine yönlendirdim. Bunu önceki bölümlerde gösterdiğim şemada görebilirsiniz.
Adım 10: Son Montaj
Artık her şeyi orijinal saatine geri koymanın zamanı gelmişti. Bileşenleri ve modülleri izole etmek için büzülme borusu kullandım. Arduino bile büzülme tüpüne sarılmıştı.
Her bileşenin nereye yerleştirildiğini görmek için ilk fotoğrafın üzerine gelin.
Adım 11: Kod
Gördüğünüz gibi saat tamamen içeride. Bu, sahip olduğum eski saatten daha sofistike bir şey yaratmamı sağladı - elbette bazı programlama becerileri olduğu göz önüne alındığında. İlk kodu yazdım ama arkadaşımdan içeri girip bana yardım etmesini istedim.
Şimdiye kadar, saatin yanı sıra, bu projenin halihazırda desteklediği işlevler şunlardır:
- Saat ve tarih gösterimi (aynı ekranda saat ve alarm aktivasyonunun yanı sıra)
- Karanlık koşullarda veya hareket algılandığında ekran aydınlanır (ışık değişikliklerine bağlı olarak)
- Hava tahmini (Güneşli, Bulutlu, Yağmurlu)
- Sıcaklık, basınç ve nem göstergesi (nem için çok kuru olup olmadığını gösterir)
- Ayarlar menüsü: alarm, saat değiştirme, tarih gösterimini etkinleştirme/devre dışı bırakma, hava durumu değişikliği sesli bildirimlerini etkinleştirme/devre dışı bırakma ve İngiliz ve metrik birimler arasında geçiş yapma
- Alarm ayarları - açık/kapalı, saati ayarlama, bildirimler için melodiyi ve/veya zilleri ayarlama
En son kod:
Kod gelecekte yeni özelliklerle güncellenecektir, bu nedenle üretici yazılımı güncellemelerini tekrar kontrol ettiğinizden emin olun:-)
Arduino dünyasında yeniyseniz, yapmanızı tavsiye edeceğim adımlar şunlardır:
- Anakartınız için USB sürücüsünü kurun (ör. CH340)
- Arduino IDE'yi yükleyin
- Bu projede kullanılan kitaplıkları yükleyin
- GitHub'dan indirin ve en son Proje kodunu Mikro USB kablosunu kullanarak saate yükleyin (birini cep telefonundan kullanabilirsiniz)
Tahmin algoritması aşağıdaki gibidir:
Arduino Nano, her 12 dakikada bir BME280 sensöründen yeni veriler alır. Ölçüm döngüsü 3 saattir. 3 saat sonra basınç izleme aralığı (3 saat boyunca maksimum ve minimum değer), mevcut aralık ve mevcut basınç değeri sırasındaki ortalama değerlere göre değişir. Her saat, mevcut basınç değeri ile basınç değişim yönü kaydedilir. Tahmin hesaplaması için kPa birimleri kullanılır.
Nano'nun bellek sınırlamaları nedeniyle, tahmin algoritmasının basitleştirilmesi gerekiyordu. Ancak basitleştirmelere rağmen, tahmin artık daha karamsar olmasına rağmen önümüzdeki 12-24 saat içinde yağış tahmin edebiliyor - varsayılan değer "Bulutlu Hava".
"Güneşli Hava" - mevcut basınç değeri normalden 7 puan daha yüksek, basınç düşmüyor ve son 3 saat içinde minimum ve maksimum değerler arasındaki fark 2 puandan fazla değil.
Olası yağış "Yağmurlu Hava" - mevcut basınç normdan 15 puan daha düşük ve minimum ve maksimum değerler arasındaki fark 2 puandan fazla VEYA Basınç düşüyor ve mevcut değer ile norm arasındaki fark 3 - 30 puan.
Tahmin kalitesini artırmak için ana kod dosyasındaki "rakımınızı" değiştirmeniz önerilir. Örneğin buradan irtifanızı alabilirsiniz:
Adım 12: Adım Adım Video
Yukarıda yaptığımı takip etmek zor olduysa, tüm adımların gösterildiği bir video versiyonu da burada.
Adım 13: Son Sözler
Genel olarak, benim açımdan, bu projenin zorluk seviyesi yüksek değil ve herkes bunu yapabilir. Eski bir saatiniz yoksa, yerel bir bit pazarında ucuz bir tane bulabilirsiniz.
Tüm bileşenler düşük fiyatlıdır ve Sparkfun/Aliexpress/eBay/Amazon'da mevcuttur.
Umarım bu eğitim sizin için ilginç olmuştur ve ilk Instructable in the Clock yarışmamı destekleyebilirseniz minnettar olurum.
Saatler Yarışmasında İkincilik
Önerilen:
Art Deco Hava Tahmini Ekranı: 9 Adım (Resimlerle)
Art Deco Hava Tahmini Ekranı: Merhaba Arkadaşlar, bu Eğitilebilir Tabloda bu Hava Tahmini Ekranını oluşturmak için sıcakları göreceğiz. Hava tahminini görüntülemek için 1.8” Renkli TFT ekranla birlikte bir Wemos D1 mini kartı kullanır. Ben de bunun için bir muhafaza tasarladım ve 3 boyutlu olarak yazdırdım
ESP8266'yı Kullanan Ağ Saati Dijital Saati: 4 Adım (Resimlerle)
ESP8266'yı Kullanarak Ağ Saati Dijital Saati: NTP sunucuları ile iletişim kuran ve ağ veya internet saatini gösteren küçük şirin bir dijital saatin nasıl oluşturulacağını öğreniyoruz. WeMos D1 mini'yi bir WiFi ağına bağlanmak, NTP zamanını almak ve bir OLED modülünde görüntülemek için kullanıyoruz.Yukarıdaki video t
Hava Tahmini İşaretçisi: 4 Adım (Resimlerle)
Weather Forecast Beacon: Bu projede, bir sonraki günün hava tahminine ulaşmak için 3D baskı, LED şeritler, güç kaynağı ve wifi bağlantılı Arduino kartı kullanarak yaptığım yerel bir meteoroloji fenerinden bir model sunuyorum. Programın asıl amacı
İnternet Saati: NTP Protokolüyle ESP8266 NodeMCU Kullanan OLED İle Tarih ve Saati Görüntüleme: 6 Adım
İnternet Saati: OLED ile Tarih ve Saati Görüntüleme ESP8266 ile NodeMCU Kullanarak NTP Protokolü ile: Merhaba arkadaşlar, bu talimatta internetten zaman alacak bir internet saati oluşturacağız, böylece bu projenin çalışması için herhangi bir RTC'ye ihtiyacı olmayacak, sadece bir çalışan internet bağlantısı Ve bu proje için bir esp8266'ya ihtiyacınız var
Hava Tahmini Bulutu: 11 Adım (Resimlerle)
Hava Tahmini Bulutu: Bu proje, bir Raspberry Pi Zero W kullanarak bir hava durumu bulutu yapar. Yahoo Hava Durumu API'sine bağlanır ve bir sonraki günün hava tahminine bağlı olarak renkleri değiştirir. Çatısında alevi değişen Wisconsin Gaz Binası'ndan ilham aldım