İçindekiler:

Saat, LCD Ekran, Kızılötesi Ayarlama: 6 Adım
Saat, LCD Ekran, Kızılötesi Ayarlama: 6 Adım

Video: Saat, LCD Ekran, Kızılötesi Ayarlama: 6 Adım

Video: Saat, LCD Ekran, Kızılötesi Ayarlama: 6 Adım
Video: SINIFLARA GÖRE AKILLI BİLEKLİKLER 2024, Kasım
Anonim
Saat, LCD Ekran, Kızılötesi Ayarlama
Saat, LCD Ekran, Kızılötesi Ayarlama
Saat, LCD Ekran, Kızılötesi Ayarlama
Saat, LCD Ekran, Kızılötesi Ayarlama

Çalıştırma zamanını yılda birkaç dakika içinde tutan gerçek zamanlı bir saat oluşturun. Kod ve bileşenler kolayca başka projelere dönüştürülebilir.

Bu proje minimum miktarda kablolama gerektirir ve lehim gerektirmez. Zaman tutucu bir DS3231 gerçek zamanlı saattir. Saat, pahalı olmayan bir 1602 LCD'de görüntülenir. Her iki modül de I2C iletişimini kullanır. I2C, bir Arduino'ya bağlanırken modül başına yalnızca 2 kablo kullanır. Arduino Nano kullanıyorum çünkü breadboard'a çok iyi uyuyor. Aşağıdaki talimatlar, bu proje için Nano ile aynı pin numaralarına sahip olduğu için bir Arduino Uno ile çalışacaktır. Diğer bileşen kızılötesi alıcıdır. Akıllı TV'mizde olduğu gibi saati ayarlamak için TV uzaktan kumandası gibi ortak bir uzaktan kumanda kullanmanıza olanak tanır. Kızılötesi alıcı, Arduino'ya bağlamak için yalnızca bir kablo gerektirir.

İlk adım Arduino'yu test etmek ve onu breadboard'a bağlamaktır. Aşağıdaki adımlar bağımsız çalışmak üzere tasarlanmıştır. Her adımın kablolama talimatları ve test talimatları vardır. Projeler oluşturduğumda, çalıştıklarını doğrulamak için her bileşeni kablolayıp test ederim. Bu, birçok bileşenin entegre edilmesine yardımcı olur, çünkü her birinin işe yaradığını ve entegrasyon gereksinimlerine odaklanabileceğimizi biliyorum.

Bu Eğitilebilirlik, Arduino IDE'nin kurulu olmasını gerektirir. Ayrıca bu projedeki linklerden Arduino eskiz programı indirmek için temel becerilere sahip olmanız, program için bir dizin oluşturmanız (dizin adı program adı ile aynı). Sonraki adımlar, programı IDE'ye yüklemek, görüntülemek ve düzenlemektir. Ardından programı bir USB kablosuyla Arduino kartınıza yükleyin.

Gereçler

  • Arduino için Nano V3 ATmega328P CH340G Mikro denetleyici kartı. Alternatif olarak, bir Uno kullanabilirsiniz.
  • DS3231 gerçek zamanlı saat ve bir CR2032 pil.
  • I2C modüllü 1602 LCD
  • Kızılötesi alıcı ve uzaktan kumanda. Kızılötesi alıcı ve kızılötesi uzaktan kumanda ile birlikte gelen bir IR Kablosuz Uzaktan Kumanda Modülü Kitleri kullandım.
  • ekmek tahtası
  • Tel kablolar
  • 5 voltluk duvar adaptörü

Parçaları çoğunlukla Hong Kong veya Çin distribütörlerinden eBay'den satın aldım. ABD'li distribütörler bazen makul fiyatlar ve daha hızlı teslimat için aynı veya benzer parçalara sahiptir. Çin parçalarının teslim edilmesi 3 ila 6 hafta sürer. Kullandığım distribütörlerin hepsi güvenilirdi.

Yaklaşık maliyetler: Nano 3 Dolar, DS3231 1 Dolar, LCD 3 Dolar, Kızılötesi kit 1 Dolar, devre tahtası 2 Dolar, 40 telli kablo paketi 1 Dolar, 5 voltluk bir duvar adaptörü için 1 Dolar. Toplam, yaklaşık 11 dolar. Not, lehim becerilerim zayıf olduğu için Nano ve LCD'yi devre tahtası pimleri zaten yerinde lehimlenmiş olarak satın aldım. Saat pili için yaklaşık 1,25 dolara 5 paket lityum CR2032 pil aldım. Ayrıca zaman parçalarını sevdiğim için 5 paket DS3231 aldım. Bu proje 1 breadboard kullanıyor. Yaklaşık 7$'a 3'lü breadboard paketi aldım; bireysel bir tahta satın almaktan daha iyi bir anlaşma.

Adım 1: Arduino Nano'yu Breadboard'a Ekleyin

Arduino Nano'yu Breadboard'a ekleyin
Arduino Nano'yu Breadboard'a ekleyin

Arduino Nano'yu Breadboard'a takın. Veya dilerseniz bu proje için Arduino Uno kullanabilirsiniz; ikisi de bu proje için aynı pinleri kullanıyor. Nano'yu (veya Uno'yu) bir USB kablosuyla bilgisayarınıza bağlayın.

Arduino'dan gelen gücü ve toprağı breadboard'un güç çubuğuna bağlayın. Arduino 5+ pinini breadboard'un pozitif çubuğuna bağlayın. Arduino GRN (toprak) pinini breadboard'un negatif (toprak) çubuğuna bağlayın. Bu, diğer bileşenler tarafından kullanılacaktır.

Temel Arduino test programını indirin ve çalıştırın: arduinoTest.ino. Programı çalıştırırken, yerleşik LED ışığı 1 saniye yanar, ardından 1 saniye söner. Ayrıca, Arduino IDE Araçları/Seri Monitörde görüntülenebilen mesajlar yayınlanır.

+++ Kurulum.

+ Çıkış için yerleşik LED dijital pimini başlattı. LED kapalı. ++ Döngüye git. + Döngü sayacı = 1 + Döngü sayacı = 2 + Döngü sayacı = 3 …

Bir alıştırma olarak, yanıp sönen ışıktaki zaman gecikmesini değiştirin, değiştirilen programı yükleyin ve değişikliği onaylayın.

Yukarıdaki fotoğrafta 3 ila 5 dolara alabileceğiniz 140 parça lehimsiz breadboard jumper tel kiti kutusu var. Kısa bağlantılar için uzun kablolar kullanarak panoları daha düzenli hale getirirler.

Adım 2: DS3231 Saat Modülünü Ekleyin ve Arduino'ya Bağlayın

DS3231 Saat Modülünü Ekleyin ve Arduino'ya Bağlayın
DS3231 Saat Modülünü Ekleyin ve Arduino'ya Bağlayın

Saat modülünü devre tahtasına takın. Saat modülünün GND pinini breadboard'un topraklama çubuğu şeridine bağlayın. Saat modülünün VCC pinini breadboard'un pozitif çubuk şeridine bağlayın. Saat modülü SDA (veri) pinini Arduino'nun (I2C veri pini) A4 pinine bağlayın. Saat modülü SCL (saat) pimini Arduino'nun (I2C saat pimi) A5 pimine bağlayın.

Arduino IDE'de bir DS3231 Saat Kitaplığı kurun. Araçlar/Kitaplıkları Yönet'i seçin. 'rtclib' yazarak aramanızı filtreleyin. Adafruit tarafından RTClib'i seçin (referans için kütüphane bağlantısı).

Temel test programını indirin ve çalıştırın: clockTest.ino. Programı çalıştırırken, Arduino IDE Araçları/Seri Monitörde görüntülenebilen saat zaman mesajları gönderilir.

+++ Kurulum.

+ Saat seti. ++ Döngüye git. ------------------------------------------- + Güncel Tarih ve Saat: 2020/3/ 22 (Pazar) 11:42:3 + Güncel Tarih ve Saat: 2020/3/22 (Pazar) 11:42:4 + Güncel Tarih ve Saat: 2020/3/22 (Pazar) 11:42:5 …

Bir alıştırma olarak, saatin saatini ve tarihini ayarlamak, değiştirilen programı yüklemek ve değişikliği onaylamak için rtc.adjust()'ı kullanın.

rtc.adjust(DateTime(2020, 3, 19, 10, 59, 50)); // İlkbaharın ilk günü, 2020.

Adım 3: 1602 LCD Ekran Modülünü Ekleyin ve Arduino'ya Bağlayın

1602 LCD Ekran Modülünü Ekleyin ve Arduino'ya Bağlayın
1602 LCD Ekran Modülünü Ekleyin ve Arduino'ya Bağlayın

LCD modülünü devre tahtasına takın. Saat modülünün GND pinini breadboard'un topraklama çubuğu şeridine bağlayın. Saat modülünün VCC pinini breadboard'un pozitif çubuk şeridine bağlayın. Saat modülü SDA (veri) pinini Arduino'nun (I2C veri pini) A4 pinine bağlayın. Saat modülü SCL (saat) pimini Arduino'nun (I2C saat pimi) A5 pimine bağlayın.

Arduino IDE'de bir 1602 LCD Kitaplığı kurun. Araçlar/Kitaplıkları Yönet'i seçin. 'LiquidCrystal' yazarak aramanızı filtreleyin. Frank de Barbander'dan LiquidCrystal I2C'yi seçin (referans için kütüphane bağlantısı).

Temel test programını indirin ve çalıştırın: lcd1602Test.ino. Programı çalıştırırken, Arduino IDE Araçları/Seri Monitörde görüntülenebilen saat zaman mesajları gönderilir.

+++ Kurulum.

+ LCD kullanıma hazır. +++ Döngüye git. + Sayaç = 1 + Sayaç = 2 + Sayaç = 3 …

Bir alıştırma olarak, LCD ekran mesajlarını değiştirin, değiştirilen programı yükleyin ve değişikliği onaylayın.

Adım 4: Kızılötesi Alıcıyı Ekleyin ve Arduino'ya Bağlayın

Kızılötesi Alıcıyı Ekleyin ve Arduino'ya Bağlayın
Kızılötesi Alıcıyı Ekleyin ve Arduino'ya Bağlayın

Dişi-erkek kablo tellerini kızılötesi alıcıya (dişi uçlar) takın. Saat modülünün topraklama pimini, devre tahtasının topraklama çubuğu şeridine bağlayın. Saat modülünün güç pinini breadboard'un pozitif çubuk şeridine bağlayın. Kızılötesi alıcının çıkış pinini Arduino A1 pinine bağlayın.

Kızılötesi alıcıyı bağlayın, pimleri soldan sağa:

En solda (X'in yanında) - Nano pin A1 Merkez - 5V Sağ - toprak

A1 + - - Nano pin bağlantıları

| | | - Kızılötesi alıcı pimleri --------- |S | | | | --- | | | | | | --- | | | ---------

Arduino IDE'de bir kızılötesi kitaplığı kurun. Araçlar/Kitaplıkları Yönet'i seçin. 'IRremote' yazarak aramanızı filtreleyin. Shirriff tarafından IRremote'u seçin (referans için kütüphane bağlantısı).

Temel test programını indirin ve çalıştırın: infraredReceiverTest.ino. Programı çalıştırırken, uzaktan kumandanızı alıcıya doğrultun ve 0'dan 9'a kadar sayı gibi çeşitli düğmelere basın.

+++ Kurulum.

+ Kızılötesi alıcıyı başlattı. ++ Döngüye git. + Tuş Tamam - Geçiş + Tuş > - sonraki + Tuş < - önceki + Tuş yukarı + Tuş aşağı + Tuş 1: + Tuş 2: + Tuş 3: + Tuş 4: + Tuş 6: + Tuş 7: + Tuş 8: + Tuş 9: + Tuş 0: + Tuş * (Geri Dön) + Tuş # (Çıkış)

Bir alıştırma olarak, yazdırılan değerleri görmek için bir TV uzaktan kumandası kullanın. Ardından, infraredSwitch() işlevinin switch ifadesindeki değerleri kullanmak için programı değiştirebilirsiniz. Örneğin, "0" tuşuna basın ve uzaktan kumandanızın değerini alın, örneğin "0xE0E08877". Ardından, aşağıdaki kod parçacığında olduğu gibi switch ifadesine bir vaka ekleyin.

durum 0xFF9867:

durum 0xE0E08877: Serial.print("+ Anahtar 0:"); Seri.println(""); kırmak;

Adım 5: Clock Project Arduino Sketch Programını Yükleyin ve Test Edin

Clock Project Arduino Sketch Programını Yükleyin ve Test Edin
Clock Project Arduino Sketch Programını Yükleyin ve Test Edin
Clock Project Arduino Sketch Programını Yükleyin ve Test Edin
Clock Project Arduino Sketch Programını Yükleyin ve Test Edin
Clock Project Arduino Sketch Programını Yükleyin ve Test Edin
Clock Project Arduino Sketch Programını Yükleyin ve Test Edin

Artık tüm bileşenler devre tahtasına eklendiğine, kablolandığına ve test edildiğine göre; ana saat programını yükleme ve çalıştırma zamanı. Saat programı saati saat modülünden alır, saati LCD'de görüntüler ve kızılötesi uzaktan kumanda kullanarak saati ayarlamanıza olanak tanır.

Projenin saat programını indirin ve çalıştırın: clockLcdSet.ino.

Program başladığında, DS3231'in saatini 1602 LCD ekranda gösterecektir. Mesajlar Arduino IDE Araçları/Seri Monitörde görüntülenebilir.

+++ Kurulum.

+ LCD seti. + syncCountWithClock, theCounterHours=13 theCounterMinutes=12 theCounterSeconds=13 + Saat ayarlandı ve program değişkenleriyle senkronize edildi. + Kızılötesi alıcı etkinleştirildi. ++ Döngüye git. + clockPulseMinute(), theCounterMinutes= 15 + clockPulseMinute(), theCounterMinutes= 16 + clockPulseMinute(), theCounterMinutes= 17 …

Uzaktan kumandanızı alıcıya doğrultun ve sağ ok tuşuna basın. Ayar için yıl görüntülenecektir. Yıl, ay, gün, saat, dakika ve saniyeyi ayarlayabileceğinizi görmek için sağ ok düğmesine birkaç kez basın. Bir zaman değeri ayarlamak için değere gidin. Ekran değerini ayarlamak için yukarı ve aşağı okları kullanın. Ardından saatin değerini ayarlamak için "OK" tuşunu kullanın. Bir seferde bir değer ayarlanır.

Adım 6: Harici Güç Kaynağı

Harici güç kaynağı
Harici güç kaynağı

Artık saatiniz test edilip çalıştığına göre, onu bilgisayarınızdan çıkarabilir ve bağımsız bir güç kaynağı kullanabilirsiniz. Basit olması için, yaklaşık bir dolara satın alınabilen 5 voltluk bir duvar adaptörü ve bir dolar daha olan bir USB kablosu kullanıyorum. Kablo, Arduino'yu +5V duvar adaptörüne bağlar. Arduino güç ve topraklama pinleri breadboard'a bağlı olduğundan, bu diğer bileşenlere güç sağlayacaktır.

Basitliği ve düşük maliyeti nedeniyle, aynı kombinasyonu diğer projelere güç sağlamak için kullanıyorum.

Umarım başarılı olmuşsunuzdur ve kızılötesi kontrollü bir LCD saat yapmaktan keyif almışsınızdır.

Önerilen: