İçindekiler:
- 1. Adım: Astronomi Bilgilerine Kaydolma
- 2. Adım: Bileşenler
- Adım 3: Bilgisayar Yazılımı
- Adım 4: Devre
- Adım 5: Kod
- Adım 6: Son Montaj
Video: Kablosuz Ay Fazı İzleyici: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Ay evresi izleyicisi, Ay hakkında kritik bilgiler toplamanıza olanak tanıyan küçük, yarı taşınabilir bir cihazdır. Cihaz, görünür aydınlatma, evre, ayın yükselişi ve ayar süreleri ve daha fazlası gibi parametreleri geri bildirir.
Bu cihaz, bilime veya astronomiye ilgi duyan herkes için gereklidir ve harika bir masaüstü ofis dekorasyonu sağlar ve kesinlikle bir konuşma başlatıcıdır.
Proje oldukça basittir ve ESP32 gibi internete bağlı bir cihaz gerektirir, ancak kodu her zaman bir WiFi kalkanı, Ethernet kalkanı veya sahip olabileceğiniz herhangi bir internet bağlantılı cihazla çalışacak şekilde uyarlayabilirsiniz. Lunar Phase Tracker, Lityum-Polimer pillerle çalışacak ve sadece bakmak için harika bir ekran sağlamakla kalmayıp aynı zamanda güç kesilse bile son görüntüyü tutan çok güç verimli E-ink ekranla çalışacak şekilde tasarlanmıştır!
1. Adım: Astronomi Bilgilerine Kaydolma
Bilgilerimizi toplamak için çevrimiçi bir API kullandığımız için bu adım (sıkıcı olsa da) kesinlikle gereklidir. Ayın evrelerini, aydınlatmayı vb. hesaplamak mümkün olsa da, bunu yapmak sıkıcı bir iştir. Kullandığımız API, canlı hava durumu istasyonundan ve izleme sistemlerinden güncel bilgiler sağlar, bu nedenle aldığımız veriler gerçek dünya sonuçlarıdır ve hesaplanan değerler değildir.
Weather Underground'a gidin, "kaydol" u tıklayın ve tüm bilgilerinizi doldurun. Hesap tamamen ücretsizdir ve dakika başına çok fazla sonuç istemediğiniz veya günde 500 isteği aşmadığınız sürece API çağrılarınız da ücretsizdir. Bu sayfayı favorilerinize eklediğinizden emin olun, daha sonra her zaman geri gelebilir ve hava durumu istatistikleri ve diğer harika bilgiler için API'yi kullanabilirsiniz. Hesabınızı oluşturduktan sonra, API Sitesine gidin, "satın alma anahtarı"na tıklayın ve ücretsiz planı seçin, sadece birkaç ayrıntı girmeniz yeterlidir ve geliştirici Anahtar Kimliği ile ilgili sorunlar yaşarsınız. Bu kimlik size özeldir ve gizli tutulmalıdır. Anahtarımı biraz sonra inceleyeceğimiz örnek Arduino kodunda verdim. Anahtar Kimliğimi test amacıyla kullanabilirsiniz, ancak kendiniz için kaydolmanızı şiddetle tavsiye ederim.
Benzersiz kimliğinizi aldıktan sonra, dürüst olmak gerekirse çok çıplak olan Astronomi API bilgilerine gidebilirsiniz. Buna benzeyen basit bir örnek bulacaksınız:
api.wunderground.com/api/8c6dc2e5c6f36de9/a…
Bu URL son derece önemlidir, çünkü projemizi yapmak için ihtiyaç duyduğumuz tüm bilgileri bize veren budur. Devam edin, bağlantıyı tıklayın, Sidney için ay evresi, aydınlatma ve diğer iyi bilgiler gibi sonuçları göreceksiniz. URL'ye bir göz atın, Sidney, Avustralya ve "8c6dcwe…" ile başlayan uzun bir kod göreceğiz. Bu kod, daha önce aldığımız Anahtar Kimliğinizdir. Bu kodu benzersiz kimliğinizle değiştirin ve nasıl çalıştığını görün, tam olarak aynı sonucu almalısınız. Konumlarla oynamayı deneyin. Güney Afrika'da kendim için Johannesburg ve ZA kullanıyorum.
2. Adım: Bileşenler
Şimdi ilginç şeyler için. Birkaç bileşene ihtiyacımız olacak, çok değil ve hiçbiri aşırı pahalı değil ve kullandığım bileşenler için Amazon bağlantıları sağladım. Programlama konusunda iyiyseniz, elinizdeki herhangi bir ekranı veya internet cihazını kullanmaktan çekinmeyin. Yapım için aşağıdakileri kullandım:
Waveshare E-Mürekkep SPI 4.2" SPI Ekran
- ESP32 Geliştirme Kartı (Genel)
- Adafruit Güç Arttırıcı 500
- 5000mAh Lipo Pil Paketi
- Stripboard (Protoboard)
Elbette aşağıdakiler gibi temel araçlara ihtiyacınız olacak:
- Havya
- Lehim
- multimetre
- Kaliperler
- Protoboard üzerindeki parçaları ayırmak için matkap ucu
- Tel
- Tel Snips
- Tutkal (Sıcak tutkal işe yarayacaktır)
- Arduino IDE yüklü dizüstü bilgisayar
İhtiyacınız olabilecek tek gelişmiş araç, muhafazayı yapmak için bir 3D yazıcıdır. Eğer bir tane yoksa, sorun değil, muhafazanızı ahşaptan ve el testerelerinden veya elinizdeki herhangi bir şeyden yapın. Ve evet, 3D yazıcım eski ve tozlu lol.
Adım 3: Bilgisayar Yazılımı
Devre ve programlama üzerinde çalışmaya başlamadan önce, öncelikle Arduino IDE'nin burada bulunabilecek en son sürümüne ihtiyacımız olacak.
ESP32'yi Arduino çekirdeği ile kullandığımız için bu çekirdeği Arduino IDE'ye kurmamız gerekecek. ESP32 geliştirme kartınızı Arduino IDE içinde kullanabilmeniz için hangi yazılımı ve yapılandırmayı yapmanız gerektiğini gösteren Github'daki bu basit kılavuzu izleyin.
Ayrıca sistemimizin çalışması için iki ekstra kütüphaneye ihtiyacımız olacak. Birincisi, Weather Underground'dan tam olarak aldığımız JSON isteklerini okumamıza ve ayrıştırmamıza izin veren bir Arduino JSON kütüphanesidir. Bu iki kütüphaneyi kişisel Dropbox'ımdan veya aşağıdan indirebilirsiniz. Dosyalara sahip olduğunuzda, onları çıkarın ve Arduino kütüphane klasörünüze yerleştirin. Genellikle C:\Users\YOUR_NAME\Documents\Arduino\libraries konumunda bulunur. IDE'nizi yeniden başlattığınızdan emin olun, aksi takdirde Arduino yeni eklemeleri almaz. Ana Arduino SRC kodu da bu klasördedir. Kitaplık ayrıca Waveshare ekranlarından sağlanan örneğin değiştirilmiş bir sürümünü içerir. Dosyalar, GPIO'ları ile ESP32 modülünde çalışacak şekilde değiştirildi ve ayın çeşitli evreleri için tüm görüntüleri içeren yeni bir "yazı tipi" uyguladım.
Adım 4: Devre
Tamam, bunun için devre son derece basittir ve sadece birkaç bileşen ve kablo gerektirir.
Genel fikir, bir Lipo şarj devresine, bize 5V verecek bir boost dönüştürücüye ve ardından voltajı 3.3V'a düşüren ESP32 Dev Kit'e sahip olmamızdır. Bu 3.3V, Waveshare E-Ink ekranı için de kullanılır. Evet, lineer bir regülatör ile hızlandırma ve ardından düşürme nedeniyle bu biraz verimsizdir, ancak ESP32 çok korkunç bir voltaj aralığında çalışır. 2.5 - 3.6V civarında bir yerde. Bu, özellikle lityum polimer pil kullanan pil projeleri için uygun değildir.
Temel kablolama aşağıdaki gibidir:
- ESP32 Dev Kit üzerinde dönüştürücü 5V çıkış Vin & GND'yi artırın
- ESP32 3.3V 3.3V & GND E-Mürekkep Ekranı
- ESP32 PIN 18 CLK E-Mürekkep Ekranı
- ESP32 PIN 23 DIN/MOSI E-Mürekkep Ekranı
- ESP32 PIN 5 CS/SS E-Mürekkep Ekranı
- ESP32 PIN 32 DC E-Mürekkep Ekranı
- ESP32 PIN 33 RST E-Mürekkep Ekranı
- ESP32 PIN34 MEŞGUL E-Mürekkep Ekranı
Kablolamanın çok basit olduğunu ve DIY panolarımın yapımının sadece 15 dakika sürdüğünü görebilirsiniz. Güç vermeden önce bir multimetre ile kısa devre olup olmadığını kontrol ettiğinizden emin olun.
Ayrıca uyku modunda yaklaşık 40mA güç tasarrufu yapmak için LED'leri ESP32 ve Lipo boost kartımdan çıkardım. Bu, pillerin biraz daha uzun süre dayanmasına yardımcı olacaktır. Dilerseniz bir güç anahtarı, güç tasarrufu devresi, otomatik bağlantı kesme vb. uygulayabilirsiniz. Bu projeyi genişletebilir ve istediğiniz kadar karmaşık hale getirebilirsiniz.
Adım 5: Kod
Kod, 3. adımda sağlanan klasörde bulunabilir veya.ino dosyasını aşağıdan indirebilirsiniz. Her şeyin birlikte çalışmasını sağlamak için 3. adımda belirtildiği gibi ilişkili kitaplıkları yüklemeniz gerekecektir. Kod çalışır durumda sağlandığı için bu adım için söylenecek fazla bir şey yok. Programı test etmeden önce SSID'nizi ve ağ şifrenizi girdiğinizden emin olun, yakındaki kablosuz ağları algılamak için her zaman ESP32 WiFi Taramasını çalıştırabilirsiniz, ancak programımda ağ bilgileri yalnızca kod ve kod olarak ayarlanmıştır. Belki hangi ağa bağlanmak istediğinizi sormak için değiştirebilirsiniz:)
Kod oldukça basit ve önümüzdeki birkaç hafta içinde yorum yapmak ve geliştirmek için biraz zaman harcayacağım. Temelde bir ağa bağlanıyoruz, benim durumumda ev ağım. Ardından Weather Underground'a bağlanmaya ve web sayfasından JSON metnini almaya çalışırız. ArduinoJSON kütüphanesi daha sonra çıkarmak için kullanılır. veya JSON kodunu, kullanıcıya göstermeden önce değerleri değiştirmemize izin veren karakter dizilerine veya dizelerine ayrıştırın. Son kod parçası kesinlikle GUI'yi programlamak içindir ve deneme yanılma yoluyla yapılmıştır. Ekrana baktım, bir varlık konumunu artırdım veya azalttım ve yazı tipi boyutu, düzeni ve görüntülerin nasıl göründüğünden memnun olana kadar kodu tekrar çalıştırdım.
ESP32'nin güç tasarrufu yapması için derin bir uyku rutini uyguladım. Varsayılan değer 60 saniyedir, ancak güncellemeler en az birkaç saat boyunca gerçekleşmediğinden değeri bir veya iki saat gibi bir değere değiştirmenizi öneririm. Örnek saniye kabul eder, bu nedenle dönüşümleri doğru yaptığınızdan emin olun.
Yeni bir yazı tipi için onaltılık diziler oluşturmak için The Dot Factory programını da kullandım. Bu yazı tipi, ayın evreleri için "görüntüler" oluşturmak için kullanılır. Yazı tipi dosyasını düzenlemek istiyorsanız, yukarıda belirtilen programı oluşturma için kullandığınızdan emin olun. E-Mürekkep kitaplığı iyi belgelenmediği için biraz kafa karıştırıcı ve başarımın çoğu deneme yanılma sayesinde oldu. Bu kodla daha fazla zaman geçirdiğimde, bulgularım hakkında daha fazla bilgi sağlamak için Talimatları güncelleyeceğim.
Ayın evreleri için kullanılan yazı tipi standart bir ASCII düzenine göre yapılmalıdır. EPD-master klasöründe font24'ü açarsanız, 1. grafiğin beyaz bir boşlukla tanımlandığı düzeni görebilirsiniz, ikincisi bir "!" (ünlem işareti) vb. Kodun son bitinde (getLunarChar işlevi) 3 numarayı veya bir hashtag sembolünü kullanarak ilişkili yazı tipini çektiğimi göreceksiniz. Bunun nedeni, Arduino'nun ASCII standardını 32'den 127'ye kadar beklemesidir. Gerçek yazı tipleriyle ilgisi olmayan yazı tiplerini ve bunun yerine bir ay evresi grafik matrisini kullandığımız için, ASCII karakterinin seçtiğimiz ay evresi görüntüsüne atıfta bulunduğundan emin olmamız gerekir. Bu, bir ! işareti, ay evresi yazı tipimiz bize o listedeki ikinci ay evresi grafiğini gösterir. Ay evresi yazı tipine bakarsanız, hepsi farklı aydınlatma seviyelerine sahip bir sürü ay evresi görürsünüz. Gelecekte, uyguladığımız tüm grafiklerden yararlanmak için daha fazla kod ekleyeceğim. Şu anda sadece birkaç tane kullanıyoruz, ancak grafikler zaten ay evresi yazı tipinde uygulanmış ve bundan yararlanmak için kodda uygulanması gerekiyor.
Adım 6: Son Montaj
Yapının son ve en tatmin edici kısmı montaj sürecidir. Kartıma uyan bir kasa tasarladım ve 3D yazdırdım. Proje çok DIY, profesyonel PCB'ler veya tek bir standart düzen yok. Çoğunlukla, kullandığım kutu, kullanmayı seçtiğiniz herhangi bir lipo şarj cihazını veya dönüştürücü dönüştürücüyü barındıracak kadar büyük. Bu Eğitilebilir Tabloda belirtilen aynı temel işlevleri sağladıkları sürece, iyi olmalısınız.
Muhafazanın üst ve alt yarısını bir arada tutmak için 4 vida ve DIY devremi monte etmek için sıcak tutkal kullandım. Pili tutmak için çok küçük damlalar halinde yapıştırıcı kullandım ama daha fazla zamanım olsaydı, tüm elektronik parçalar için özel bir braket yapardım.
Ayrıca arkada kilitli bir basma düğmesi için bir delik açmaya karar verdim. Bu, cihazı 7/24 çalıştırmayı planlamıyorsanız yararlı olan güçlendirici dönüştürücüden pilin bağlantısını keser. Ne yazık ki, destek dönüştürücü, ESP32'niz derin uyku modunda olsa bile hala güç kullanıyor.
Genel olarak sonuçtan çok memnunum. ESP32'yi kullanırken çok şey öğrendim ve gelecekte çeşitli projeler için kullandığımı görebiliyorum.
Herhangi bir sorunuz varsa, sormaktan çekinmeyin, yardım etmeye istekli olacağım ve bu Eğitilebilir Tabloda herhangi bir hata bulursanız lütfen bana bildirin.
EDIT: Öne çıkan resimlerde gördüğünüz gibi 3D baskılı versiyon yerine aslında CNC makinesini küçük bir kasa yaptım.
EDIT: Öne çıkan görüntülerde %99 aydınlatma ile dolunay görüyoruz. Dolayısıyla beyaz daire, Ay tipik evrelerinden geçerken, ayın görüntüsü de buna göre değişecektir. Ayın evreleri boyunca ilerledikçe daha fazla görüntü yüklenecek, böylece grafiklerin bir temsilini elde edebilirsiniz.
Uzay Yarışmasında İkincilik
Önerilen:
Geri Dönüştürülmüş Ay Fazı Lambası: 15 Adım
Geri Dönüşümlü Ay Fazı Lambası: Bu lamba plastik bir kavanozdan yapılmıştır ve kapağı sıktığınızda yanar. Ayın farklı evrelerini göstermek için silueti değiştirebilirsiniz
HC12 Kablosuz Modülü Kullanan Kablosuz Arduino Robotu: 7 Adım
HC12 Kablosuz Modülünü Kullanan Kablosuz Arduino Robotu: Merhaba arkadaşlar, tekrar hoş geldiniz. Bir önceki yazımda, H Köprü Devresinin ne olduğunu, L293D motor sürücü IC'sini, yüksek akım motor sürücülerini sürmek için bindirme L293D Motor sürücü IC'sini ve kendi L293D motor Sürücü Kartınızı nasıl tasarlayıp yapabileceğinizi,
Film İzleyici - Raspberry Pi Destekli Tiyatro Yayın İzleyici: 15 Adım (Resimlerle)
Film İzleyici - Raspberry Pi Destekli Tiyatro Yayın İzleyici: Film İzleyici, fıçı tahtası şeklinde, Raspberry Pi ile çalışan bir Yayın İzleyicidir. Bölgenizdeki gelecek filmlerin posterini, başlığını, çıkış tarihini ve genel bakışını belirli bir zaman aralığında (örn
Elli Metre Menzilli Kablosuz Erişim Noktası TP Bağlantılı WN7200ND Raspbian Stretch Üzerinde USB Kablosuz Adaptör: 6 Adım
Elli Metre Menzilli Kablosuz Erişim Noktası TP Link ile Raspbian Stretch üzerinde WN7200ND USB Kablosuz Adaptör: Raspberry Pi, Güvenli Kablosuz Erişim Noktaları oluşturmak için harika ama iyi bir menzile sahip değil, genişletmek için bir TP Link WN7200ND USB Kablosuz Adaptör kullandım. Nasıl yapıldığını paylaşmak istiyorum Neden router yerine ahududu pi kullanayım?
DIY Kablosuz Mikrofondan Kablosuz Gitar Sistemine: 4 Adım
DIY Kablosuz Mikrofondan Kablosuz Gitar Sistemine: Bazı videolar ve bazı gruplar izliyorum ve neredeyse çoğu gitarda kablosuz bir sistem kullanıyor. Delirmek, hareket etmek, yürümek ve ne isterlerse yapsınlar kordon olmadan bu yüzden bir tane olmasını hayal ediyorum.. Ama