İçindekiler:
Video: Ortam Gerçek Zamanlı Saati: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Amaç
Bu Saati yaptım çünkü etrafta adreslenebilir bir LED şeridim var ve onu kullanmak istiyorum. Sonra odamın duvarlarına uyan iyi bir Saati olmadığını gördüm. Ben de kullanıcının ruh haline veya duvar rengine göre renklerini değiştirebilen bir Saat yapmaya karar verdim.
1. Adım: YouTube Videosu
Tüm talimatlar için bu youtube videosunu izleyin
2. Adım: Prosedür
İlk önce 24 x 15 inçlik bir kontrplak levha aldım.
LED şeridi parçalara ayırın ve tahtaya yapıştırın Sonra lehimledikten sonra tamamını siyah bir grafik kağıdı ile kaplarım Ardından üzerine bir termokömür yaprağı yapıştırın ve termokömürü keskin bir kesici ile 4 yedi segmentli ekran şeklinde kesin merkezde iki delik. Daha sonra aşağıda verilen devre şemasını kullanarak devremi hazır hale getirdim.
ve hepsini tahtanın arkasına yapıştırdım. Ayrıca https://jlcpcb.com adresinden aynısı için özel bir pcb sipariş ettim, çin'den en düşük fiyata en iyi pcb prototiplerini sağlıyorlar ve dünya çapında hızlı ve güvenli bir şekilde gönderiyorlar. Tüm bileşenlerimi tahtama lehimledikten sonra, devre tahtasını çıkardım ve her şeyi tahtanın arkasına sabitledim ve ön kısmı ince bir yarı saydam kağıt kullanarak kapladım. Saat harika görünüyor ve duvarın güzelliğini artırıyor. özelleştirme renkleri, herhangi bir duvar için mükemmel hale getirir.
Bu projeyi beğendiyseniz lütfen youtube'a abone olun veya web sitemizi ziyaret edin https://robocircuits.com Okuduğunuz için teşekkür ederiz!
3. Adım: Kodlayın
/* Kod RoboCircuits tarafından tasarlandı
* Bu kodla ilgili yardım için https://robocircuits.com Web Sitemizi ziyaret edin * Bu kod DS3231.h Kütüphanesini kullanır https://robocircuits.com adresinden indirin * Tam Eğitim Videosu için YouTube Kanalımızda https://youtube. com/robocircuits */
#include #include
int i=0, j=0, k=150;
// DS3231 donanım arabirimini kullanarak DS3231'i başlatın rtc(SDA, SCL);
#ifdef _AVR_ #include #endif
// Arduino'daki hangi pin NeoPixels'e bağlı? // Biblo veya Gemma'da bunu 1 #define PIN 6 olarak değiştirmenizi öneririz
// Arduino'ya kaç NeoPiksel bağlı? #define NUMPIXELS 45
// NeoPixel kütüphanesini kurarken kaç piksel ve sinyal göndermek için hangi pini kullanacağını söyleriz. // Daha eski NeoPixel şeritleri için üçüncü parametreyi değiştirmeniz gerekebileceğini unutmayın -- olası değerler hakkında daha fazla bilgi için en büküm // örneğine bakın. Adafruit_NeoPixel piksel = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int gecikme değeri = 500; // yarım saniye geciktir
void setup() { // Bu Biblo 5V 16MHz içindir, bir Biblo kullanmıyorsanız bu üç satırı kaldırabilirsiniz #if tanımlı (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // Biblo sonu özel kodu
piksel.begin(); // Bu, NeoPixel kitaplığını başlatır. // Seri bağlantı kur Serial.begin(115200); // rtc nesnesini başlat rtc.begin(); // Tarih ve saati ayarlamak için aşağıdaki satırlar yorumsuz bırakılabilir //rtc.setDOW(ÇARŞAMBA); // Haftanın Günü'nü PAZAR olarak ayarla //rtc.setTime(12, 0, 0); // Saati 12:00:00 (24 saat formatı) olarak ayarlayın //rtc.setDate(1, 1, 2014); // Tarihi 1 Ocak 2014 olarak ayarlayın }
void loop() { if(digitalRead(2)==HIGH) { int a= analogRead(A0); int b= analogRead(A1); int c= analogRead(A2); i=harita(a, 0, 1025, 0, 150); // Yeşil Renk j=harita(b, 0, 1025, 0, 150); // Mavi Renk k=harita(c, 0, 1025, 0, 150); // Kırmızı Renk } başka { i= 0; j= 0; k= 150; }
// Arka Işık Kodu for(int x=29;x<=45;x++) { piksel.setPixelColor(x, piksel. Color(i, j, k)); piksel.göster(); }
// rtc String'den Gerçek Zamanı Getirme x=rtc.getTimeStr(); // Zamanı gönder Serial.println(rtc.getTimeStr()); int saat1= x.charAt(0); int saat2= x.charAt(1); int min1= x.charAt(3); int min2= x.charAt(4); saat1=saat1-48; saat2=saat2-48; dk1=dk1-48; min2=min2-48;
// Saat anahtarında zaman gösteriliyor(saat1) { //durum 0: sıfır(0); //kırmak; durum 1: bir(0); kırmak; durum 2: iki(0); kırmak; varsayılan: null(0); kırmak; } geçiş(saat2) { durum 0: sıfır(7); kırmak; durum 1: bir(7); kırmak; durum 2: iki(7); kırmak; durum 3: üç(7); kırmak; durum 4: dört(7); kırmak; durum 5: beş(7); kırmak; durum 6: altı(7); kırmak; durum 7: yedi(7); kırmak; durum 8: sekiz(7); kırmak; durum 9: dokuz(7); kırmak; varsayılan: boş(7); kırmak; } switch(min1) { durum 0: sıfır(15); kırmak; durum 1: bir(15); kırmak; durum 2: iki(15); kırmak; durum 3: üç(15); kırmak; durum 4: dört(15); kırmak; durum 5: beş(15); kırmak; varsayılan: boş(15); kırmak; } switch(min2) { durum 0: sıfır(22); kırmak; durum 1: bir(22); kırmak; durum 2: iki(22); kırmak; durum 3: üç(22); kırmak; durum 4: dört(22); kırmak; durum 5: beş(22); kırmak; durum 6: altı(22); kırmak; durum 7: yedi(22); kırmak; durum 8: sekiz(22); kırmak; durum 9: dokuz(22); kırmak; varsayılan: boş(22); kırmak; } piksel.setPixelColor(14, piksel. Renk(i, j, k)); piksel.göster(); gecikme(250); piksel.setPixelColor(14, piksel. Renk(0, 0, 0)); piksel.göster(); gecikme(250); }
void zero(int a) { piksel.setPixelColor(a+0, piksel. Color(i, j, k)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void one(int a) { piksel.setPixelColor(a+0, piksel. Color(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void iki(int a) { piksel.setPixelColor(a+0, piksel. Color(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(0, 0, 0)); piksel.göster(); } void üç(int a) { piksel.setPixelColor(a+0, piksel. Color(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void four(int a) { piksel.setPixelColor(a+0, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void beş(int a) { piksel.setPixelColor(a+0, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void altı(int a) { piksel.setPixelColor(a+0, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void yedi(int a) { piksel.setPixelColor(a+0, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void sekiz(int a) { piksel.setPixelColor(a+0, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void nine(int a) { piksel.setPixelColor(a+0, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(i, j, k)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(i, j, k)); piksel.göster(); } void nulll(int a) { piksel.setPixelColor(a+0, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+1, piksel. Color(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+2, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+3, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+4, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+5, piksel. Renk(0, 0, 0)); piksel.göster(); piksel.setPixelColor(a+6, piksel. Renk(0, 0, 0)); piksel.göster(); }
Adım 4: Teşekkürler
robocircuits.com'u ziyaret edin
Önerilen:
Gerçek Zamanlı Saat Modülü (DS3231) Nasıl Kullanılır: 5 Adım
Gerçek Zamanlı Saat Modülü (DS3231) Nasıl Kullanılır: DS3231, entegre sıcaklık telafili kristal osilatör (TCXO) ve kristal ile düşük maliyetli, son derece hassas bir I2C gerçek zamanlı saattir (RTC). Cihaz bir pil girişi içerir ve ana güç bu cihaza geldiğinde doğru zaman işleyişini korur
Raspberry Pi ve OpenCV Kullanan Gerçek Zamanlı Rubik Küp Gözü Kapalı Çözücü: 4 Adım
Raspberry Pi ve OpenCV Kullanan Gerçek Zamanlı Rubik Küp Gözü Kör Çözücü: Bu, Rubik küp aracının gözü kapalı çözmek için yapılmış 2. versiyonudur. 1. sürüm javascript ile geliştirilmiştir, RubiksCubeBlindfolded1 projesini görebilirsiniz, öncekinden farklı olarak, bu sürüm renkleri algılamak için OpenCV kütüphanesini kullanır ve e
Gerçek Zamanlı Kuyu Suyu Seviye Ölçer: 6 Adım (Resimlerle)
Gerçek Zamanlı Bir Kuyu Su Seviyesi Ölçer: Bu talimatlar, kazılmış kuyularda kullanım için düşük maliyetli, gerçek zamanlı bir su seviyesi ölçerin nasıl oluşturulacağını açıklar. Su seviyesi ölçer, kazılmış bir kuyuya asılmak, günde bir kez su seviyesini ölçmek ve verileri WiFi veya hücresel bağlantı ile göndermek için tasarlanmıştır
Gerçek Zamanlı Kuyu Suyu Sıcaklığı, İletkenlik ve Su Seviyesi Ölçer: 6 Adım (Resimlerle)
Gerçek Zamanlı Kuyu Suyu Sıcaklığı, İletkenlik ve Su Seviyesi Ölçer: Bu talimatlar, kazılmış kuyulardaki sıcaklık, Elektrik İletkenliği (EC) ve su seviyelerini izlemek için düşük maliyetli, gerçek zamanlı bir su sayacının nasıl oluşturulacağını açıklar. Sayaç, kazılmış bir kuyuya asılmak, su sıcaklığını ölçmek, EC ve
Arduino'dan HC-05'e Kadar Android'de Gerçek Zamanlı Grafik Çizmek: 3 Adım
Arduino'dan HC-05'e Kadar Android'de Gerçek Zamanlı Grafik Çizme: Merhaba, işte Arduino gibi bir mikro denetleyiciden uygulamaya gerçek zamanlı bir değer grafiğinin nasıl çizileceğine dair bir eğitim. Ar arasında veri iletmek ve almak için bir mesajlaşma cihazı olarak hareket etmek için HC-05 gibi bir Bluetooth modülü kullanır