İçindekiler:

NeoPixel Saat: 10 Adım (Resimlerle)
NeoPixel Saat: 10 Adım (Resimlerle)

Video: NeoPixel Saat: 10 Adım (Resimlerle)

Video: NeoPixel Saat: 10 Adım (Resimlerle)
Video: Eleco Oturum 8 2024, Kasım
Anonim
Image
Image
Gerekli Elektronik Parçalar
Gerekli Elektronik Parçalar

*********************************************************************************************************

BU MİKRO KONTROLÖR YARIŞMASINA GİRİŞTİR, LÜTFEN BENİM İÇİN OY VERİN

********************************************************************************************************

Birkaç yıl önce Tayland'dayken bir NeoPixel sonsuzluk aynası yaptım ve BURADAN görülebilir.

Arduino kullanarak değil, tek başına bir mikro işlemci olan PIC18F2550 kullanarak zor yoldan yaptım. Bu, bazıları derlemeyi içeren kodu yazmak için Micro'nun kayıtlarını ve zamanlamalarını kazmayı içeriyordu.

Bu, Arduino'nun çocuk oyuncağı ile çalışmayı kolaylaştırdığı için beni iyi durumda tutan harika bir bilgi. Ben kendi kütüphane kodumu yazmadan önce, işin çoğu üçüncü şahıs kütüphaneleri kullanılarak yapıldı.

Bu saat, WS2812B ayrı ayrı adreslenebilir RGB LED'leri metre başına 144 aralıklı kullanılarak, çevreden bağlı olduğu duvara ışık yaymak üzere tasarlanmıştır. Bu bana 200 mm'lik bir saat çapı verdi, 3D yazıcımda kendim yapabileceğim bir şey.

Özellikle geceleri veya karanlık bir odada çarpıcı bir etkiye sahiptir, ışık yaklaşık 500 mm parlar ve toplamda bir metre çapında kamaştırıcı bir kamaşma sağlar. Desenler harika.

Saat, saati (mavi), dakikayı (yeşil) ve saniyeyi (kırmızı) görüntüler. Ayrıca 8 haneli 7 segmentli ekranda tarih ve liste şeklinde haftanın günü de görüntülenir.

Saat, Blynk uygulaması ve bir RPi 3 üzerinde çalışan yerel bir Blynk sunucusu kullanılarak WiFi üzerinden akıllı telefon tarafından kontrol edilir.

Blynk için yerel bir sunucunun kullanılması isteğe bağlıdır ve bunu ayarlamak bu talimatın bir parçası değildir. Web'de barındırılan Blynk, www.blynk.cc adresinde bir hesap oluşturup uygulamayı indirdikten sonra kullanılabilir.

Web sitelerinde Blynk'i kullanma hakkında bir sürü bilgi var, bu nedenle bu talimatın bir parçası değil.

Bu talimatın sonraki bir adımında, taranacak bir QR kodu var, ardından uygulamam telefonunuzda olacak.

Uygulama, saati veya kalıpları (uygulamadaki LCD geri bildirimi ile) göstermek için kontrollere, dünyanın neresinde olursanız olun saat diliminizi ayarlama ve bir NTP sunucusu aracılığıyla saati alma özelliğine sahiptir. Ayrıca uykuya da ayarlanabilir.

Arduino'ya saat/tarih fonksiyonları sağlayan pil yedeklemeli bir Gerçek Zamanlı Saat modülü vardır.

Saatteki NodeMCU-E12 üzerindeki bellenim kablosuz olarak güncellenebilir (OTA).

Şimdi başlayalım……

Adım 1: Gerekli Araçlar

İyi bir havya ve lehim

tel striptizci

küçük tel kesiciler

küçük uzun burunlu pense

vero tahtasını kesmek için küçük testere

keskin hobi bıçağı

makas

kağıt tutkalı

2. Adım: Gerekli Elektronik Parçalar

Gerekli Elektronik Parçalar
Gerekli Elektronik Parçalar
Gerekli Elektronik Parçalar
Gerekli Elektronik Parçalar

BURADAN 1 x NodeMCE-12E modülü

1 x RTC saat modülü BURADA

1 x 8 haneli 7 segment Max7219 modülü burada

1 x DC güç girişi burada

2 adet seviye değiştirici (Arduino 3.3v ve RTC & 7 segment display 5v olduğu için gereklidir) burada

Burada bir WS2812B 114/mtr LED şeridinin 68 LED'i.

DC 5v 10A güç kaynağı burada.

10kOhm 1/4W direnç.

Gerektiği gibi bağlantı teli.

Tüm modülleri monte etmek ve kabloları bağlamak için yaklaşık 77mm x 56mm Vero kartı.

Aslında, I2c güvenli olması gerektiği için RTC modülü I2c hatları için bir Adafruit seviye değiştirici kullandım!

Ancak, çoğu 3.3v ila 5v çift yönlü mantık seviye değiştiricisinin çalışması gerektiğini düşünüyorum.

60 LED şeridin her iki ucunu lehimlemek için pedler gerekli olduğundan ve 7 LED şeridinde pedler gerekli olduğundan, LED şeridini kesmek bir LED'i boşa harcadı.

3. Adım: Basılı Parçalar

Baskılı Parçalar
Baskılı Parçalar
Baskılı Parçalar
Baskılı Parçalar
Baskılı Parçalar
Baskılı Parçalar

Üç adet 3D baskılı parça vardır; ana saat gövdesi, ön kapak ve arkadaki pil kapağı.

Pil kapağı atlanmış olabilir.

Ayrıca ön kapağın altında üzerinde haftanın günleri yazan baskılı bir 'Maske' bulunmaktadır. Bunu sıradan bir kağıda yazdırdım. Bunun bir.dwg ve.dxf dosyasını sağladım.

Parçayı düzenleyememeniz durumunda, 2 ön kapak mevcuttur, birinin üzerinde isim yoktur.

3D yazıcım (0,4 mm meme) Slic3r ile aşağıdaki ayarlara sahipti:

ilk katman yüksekliği = 0,2 mm

katman yüksekliği = 0,2 mm

yatak sıcaklığı = 60 C

meme sıcaklığı = 210 C

dikey çevre = 2

yatay kabuklar = 3

dolgu = 45 derecede doğrusal yıldızlar

kenar yok

destek malzemesi yok

Bir yatak tesviye yöntemine sahip olmanız şiddetle tavsiye edilir.

3D baskılı dosyalar ve maske çizimi burada:

Adım 4: Montaj Dosyasını Tamamlayın

Aşağıda, saati değiştirmek isteyen herkes için komple montajın bir IGS dosyası bulunmaktadır.

Adım 5: Kitaplıkları Yükleme

ESP PANOLARINI KURUN

Arduino IDE'ye ihtiyacınız olacak. Bunu yüklemek, bu talimatın bir parçası değildir, ancak BURADAN indirilebilir.

Arduino IDE kurulduktan sonra, henüz yapılmadıysa, aşağıdaki metni Dosya>Tercihler - Ek Pano Yöneticisi URL'leri altındaki metin kutusuna kopyalamanız/yapıştırmanız gerekecektir:

arduino.esp8266.com/stable/package_esp8266com_index.json

IDE'yi yeniden başlatın.

Bunu yaptıktan sonra Araçlar> Pano> Pano Yöneticisi'ne gidin. Güncellemeyi bitirmesine izin verin ve kurulu panolar listesinde ESP8266 topluluk sürümünü görmelisiniz.

KÜTÜPHANELERİ YÜKLE

Belgeler/Arduino/Kütüphaneler klasörünüzdeki tüm Kitaplıkları, pano yöneticisi tarafından kurulanlar dışında her zamanki gibi kurun.

Kütüphaneleri kurduktan sonra Arduino IDE'yi yeniden başlatın, Sketch> Include Library> Manage Libraries'e gidin, güncellemeyi bitirmesine izin verin, yeni kütüphanelerinizi listede görmelisiniz.

RTClib - burada mevcutAdafruit_NeoPixel - burada mevcut

HCMAX7219 buradan

Blynk - burada mevcut. kurulum talimatlarını DİKKATLİCE uygulayın.

NeoPixelClock dosyasındaki diğer tüm 'içerenler', Yönetim Kurulu Yöneticisi tarafından kurulur veya Arduino IDE kurulumu ile birlikte paketlenir.

Adım 6: Bellenimi Yükleme

Bu aşamada, test amacıyla her şeyi bir ekmek tahtası üzerinde birbirine bağlamak iyi bir fikirdir.

5v güç kaynağını ve/veya USB kablosunu bağlamadan önce tüm kabloları dikkatlice kontrol edin.

Sketch klasörünüze gidin Documents>Arduino.

Bir "NeopixelClock" klasörü oluşturun.

aşağıdaki.ino dosyasını klasöre koyun.

Arduino IDE'yi açın.

IDE'yi satır numaralarını gösterecek şekilde ayarlayın, Dosya>Tercihler'e gidin ve "Satır Numaralarını Görüntüle" kutusunu işaretleyin, Tamam'a tıklayın.

NodeMCU kartınızı bir USB bağlantı noktasına bağlayın.

Araçlar>Board'a gidin ve NodeMCU 1.0'ı (ESP-12E Modülü) seçin

Araçlar>Bağlantı Noktasına gidin ve kartınızın bağlı olduğu bağlantı noktasını seçin.

OTA YAZILIMINI KURUN

OTA güncellemesini kullanmak için önce NodeMCU'ya özel bir ürün yazılımı parçası yazmanız gerekir.

Dosya>Örnekler>ArduinoOTA>BasicOTA'ya gidin.

IDE'ye bir program yüklenecek, yönlendiricinizin SSID'si ile ssid bölümünü doldurun. Farenizi sistem tepsisindeki WiFi simgesinin üzerine getirdiğinizde bu adı görebilirsiniz.

Parolayı ağ parolanızla doldurun (genellikle kablosuz yönlendiricinin altına yazılır.

Şimdi USB üzerinden NodeMCU kartınıza yükleyin.

Tamamlandığında, NodeMCU kartındaki sıfırlama düğmesine basın.

NEOPIXELCLOCK YAZILIMINI KURUN

Dosya>Sketchbook>NeoPixelClock'a gidin ve NeoPixelClock dosyasını açın.

'auth', 'ssid' ve 'pass' bilgilerinizi 114. satırda doldurun.

Not; yetki belirtecinin nasıl alınacağı bir sonraki adımda açıklanmıştır

Ayrıca yerel Saat Diliminizi 121 satırına ayarlayabilirsiniz, bu, dünyadaki saat dilimlerine göre -12 ile +14 arasında herhangi bir 1/4 saat olabilir. Bu, isterseniz uygulamada da ayarlanabilir. Şu anda Queensland, Avustralya için ayarlandı.

332 numaralı satırda, kullanıyorsanız yerel sunucunuz için IP adresini ayarlamalısınız.

Yerel sunucu bağlantı noktasıyla ilgili bir not. Blynk yazılımında yapılan son güncelleme nedeniyle, bağlantı noktası artık 8442 değil 8080'dir.

Yeni güncellenmiş yazılımı kullanıyorsanız bunu değiştirin.

Veya Blynk web sunucusunu kullanıyorsanız, yorum satırı 332 ve açıklama satırı 333.

Yapılması gereken tüm düzenleme budur.

Şimdi bunu USB aracılığıyla NodeMCU kartınıza yükleyin.

Bu başarıyla yüklendiğinde, USB kablosunu karttan çıkarın.

Araçlar>Yeni bir bağlantı noktası bağlantı noktası (bir IP adresine benziyor) altında göreceksiniz, bunu gelecekteki güncellemeler için NodeMCU ile iletişim kurmak için bağlantı noktanız olarak seçin.

Her şey yolunda giderse, NodeMCU modülündeki 'sıfırla' düğmesine basılmazsa saat başlamalıdır.

Not: Bazen ilk seferde başlamadığını fark ettim, çoğu zaman güç kaynağının fişini çektiğimi ve yeniden bağlandığını gördüm. Bu hatanın düzgün şekilde önyükleme yapmaması için bir çözüm üzerinde çalışıyorum.

7. Adım: Akıllı Telefon Uygulaması

Akıllı Telefon Uygulaması
Akıllı Telefon Uygulaması
Akıllı Telefon Uygulaması
Akıllı Telefon Uygulaması

Kullanmaya başlamak için:

1. Blynk Uygulamasını İndirin: https://j.mp/blynk_Android veya henüz kurulu değilse

2. Uygulamayı açın veya oturum açın, yeniyse bir hesap oluşturmanız gerekecek.

NOT, bu çevrimiçi hesapla aynı değildir.

3. Uygulamanın üst kısmındaki QR simgesine dokunun ve kamerayı yukarıdaki QR koduna doğrultun veya aşağıdaki bağlantıyı açın -

tinyurl.com/yaqv2czw

4. Belirttiğiniz e-postaya, daha sonraki bir adımda belirtilen Arduino koduna koymanız gereken bir yetki kodu gönderilmelidir. Somun simgesine basarsanız, gerekirse tekrar e-posta gönderebileceksiniz.

Daha önce de belirtildiği gibi, www. Blynk.cc adresinde çevrimiçi bir hesap oluşturmalısınız. bunu yapmadan önce.

Belirsizlik için beni bağışlayın, zaten uygulamaya sahip olduğum ve web sunucusunu kullanmadığım için bunu test edemiyorum.

Adım 8: Vero Board Meclisini Oluşturma

Vero Board Meclisini Oluşturma
Vero Board Meclisini Oluşturma
Vero Pano Meclisinin Oluşturulması
Vero Pano Meclisinin Oluşturulması
Vero Board Meclisini Oluşturma
Vero Board Meclisini Oluşturma

Tüm panoları ve modülleri bir parça vero panosuna koymaya karar verdim.

Bu, her şeyi temiz ve düzenli tutar.

Şematik aşağıdaki.pdf dosyasında görülebilir.

Karttaki başlıklar testten sonra çıkarıldı, başlıklar ve ilgili konektörler için yeterli yer olmadığı için tüm çevre birimlerini doğrudan vero kartına bağladım.

Üzgünüm, tahtanın alt tarafının fotoğrafını çekmedim, ancak bunu anlamak zor olmamalı. Hatta düzenimi geliştirebilirsin. Vero kartını aynı boyutta tutun, aksi takdirde 3D baskılı tabana sığmaz.

Mantık seviyesi kaydırıcıları ile LV (+3.3v) Arduino modülündeki 3v pinlerinden herhangi birinde 3.3v'ye, HV (+5v) Arduino kartındaki VIN pinine gider.

Tüm Topraklar, Arduino GND pinlerinin herhangi birinden gelir ve döngüleri önlemek için hepsi birbirine bağlı olmalıdır.

26 gauge yalıtımlı tek damarlı tel gibi bir şey kullanarak kablolayın, PTFE yalıtımı erimediği için iyi olurdu.

Tüm kablolarınızı 2 veya 3 kez dikkatlice kontrol edin.

Süreklilik kontrolüne ayarlanmış bir multimetre ile üzerinden geçin, tüm Gnd'lerin VIN GND'ye bağlı olduğunu kontrol edin.

RTC modülündeki tüm +5v bağlantılarını, iki seviye kaydırma modülünün HV pinlerini ve NodeMCU modülündeki VIN +5v pinini kontrol edin.

Diğer tüm kabloları da kontrol etmek iyi bir fikirdir.

Adım 9: Saat Montajı

Saat Montajı
Saat Montajı
Saat Montajı
Saat Montajı
Saat Montajı
Saat Montajı

Parçaları yazdırdıktan sonra, keskin bir hobi bıçağıyla yanıp sönen, topaklar ve tümsekleri temizleyin.

Sadece mavi ve siyah filamentim olduğu için LED boşluklarının içini gümüş model boya ile boyadım.

Bunun ışığı daha iyi yansıtmaya yardımcı olacağını ve ayrıca duvarlardan bitişik boşluklara ışığın sızmasını önlemeye yardımcı olacağını düşünüyorum.

Vero kartı düzeneğinin kablolanması gerekiyor:

vero kartı aksamından LED şeridi +5v, Gnd ve DIN'e.

vero kartı aksamından 7 segmentli ekrana.

vero kartı aksamından DC jakına.

Ana 60 yollu LED şeridin (DOUT) ucundan (60 numara) ayrı 7 yollu LED şeridine (DIN) giden bir tel.

Verileri (DOUT) sadece 60 yollu LED şeridin ucundan (60 numaralı LED), vero kartı tertibatından kabloladığım 7 yollu LED şeridi için +5v ve Gnd'den lehimledim.

Şortları önlemek için 60 yollu LED şeridin çok yakın olduğu için başı ve sonu arasına küçük bir parça ince kart yerleştirdim.

Tüm kabloları ölçün ve uygun uzunluklarda kesin, biraz boşluk sağlamak için 5 veya 6 mm ekledim.

LED şeritlerinden yapışkan bant destek kağıdını çıkarmadım, bu tabana yerleştirmeyi zorlaştırır ve gerekirse çıkarmayı çok zorlaştırırdı.

Şeritlerin güzel ve rahat oturduğunu gördüm, ardından boşluğun dibine kadar itin.

Vero kartı düzeneğini boşluğa yerleştirin, alttan 2 mm uzakta tutmak için ayırıcılar vardır.

8 yollu 7 segmentli ekranı boşluğa koyun, bunu monte etmek için stand-off direkleri var.

DC jakı, boşluğuna sıkıca oturur, kabloları buna etiketlerin iç kısmına lehimleyin. İsterseniz yan etiketi çıkarın.

Tüm teller sağlanan boşluklara düzgün bir şekilde döşenmelidir.

Son olarak güç kaynağındaki güç girişini delikten geçirin ve DC jakına doğru gevşetin, kabloyu alttaki oluğa itin.

Tüm kablo bağlantılarınızı 2 veya 3 kez dikkatlice kontrol edin. Aşağıdaki bağlantı şemasına bakın.

Adım 10: Ön Kapağı Bitirmek İçin Takma

Taban bloğunun dış halka üzerinde çıkıntı yapan birkaç küçük mandalı vardır, bunlar ön kapaktaki deliklerle aynı hizada olmalıdır.

Kağıt maske siyah olarak basılmalı, kesilmeli ve yapışkan çubuk gibi bir şeyle ön kapağa yapıştırılmalıdır.

Kağıt, ön kapak tabana bastırıldığında delikler açılacaktır.

Hepimiz gitmeye hazırız, fişi prize takalım, saat otomatik olarak başlamalı, değilse, birkaç kez öğrendiğim gibi, gücü kesin ve tekrar takın.

RTC modülünde piliniz yoksa saat ve tarihi ayarlamanız gerekecektir.

Bunu uygulama ile yapın, yukarı/aşağı kontrolü ile saat dilimini ayarlayın ve ardından 'NTP ZAMANINI AYARLA' düğmesine basın.

Başarılı olup olmadığını, tekrar denemezseniz uygulama terminalinde göreceksiniz.

TAMAM görüntülendiğinde Saat düğmesine basılabilir ve saat çalışmalı ve haftanın saati, tarihi ve günü göstermelidir.

Modeller, Modeller düğmesine basılarak çalıştırılabilir, bu, herhangi bir zamanda Saat düğmesine veya Modeller düğmesine tekrar basılarak durdurulabilir.

Saat LED'lerinin ve 7 segmentli ekranın parlaklığı, ilgili kaydırıcılarla parlaklık için ayarlanabilir.

Saatin Kapalı düğmesine basılarak tüm LED'ler kapatılabilir.

Duvara asın ve ışık, özellikle karanlık bir odada güzel olan duvara doğru parlayacaktır.

Herhangi bir soru, sadece denemek ve cevaplamaktan memnuniyet duyacağım.

KEYFİNİ ÇIKARIN ve bana oy vermeyi unutmayın.

******************************************************* ************************************************************ *****BU MİKRO KONTROLÖR YARIŞMASINA GİRİŞTİR, LÜTFEN BENİM İÇİN OY VERİN ************************************ ******************************************************* *************************

Önerilen: