İçindekiler:
- Gereçler
- Adım 1: Multiplexed Display için Digit Drive ve Segment Drive'ı bağlayın
- 2. Adım: Bağlantıları Test Edin
- Adım 3: Zamanı Gösteren Kod ve Parlaklığı Kontrol Eden PWM
- 4. Adım: İnternet Bağlantısı Yapın
- Adım 5: Web'den Zamanı Ayrıştırmak için BASIC Kodu Ekleyin
- 6. Adım: Ekranı Karartmak için Işık Sensörü ve Kod Ekleyin
- Adım 7: Saatin Düğmesini Açın ve Kullanmaya Başlayın
Video: Web Bağlantılı Dijital Saat: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Amazon'da 10 dolarlık bir dijital saat buldum. Şimdi internetten zaman almak için özelleştirmek için.
Gereçler
BASIC'te programlanabilen ARM Damgası burada mevcuttur
Adım 1: Multiplexed Display için Digit Drive ve Segment Drive'ı bağlayın
Ucuz bir raftan büyük numara dijital saatle başladım. Önce mevcut saat çipini çıkardım. Ardından, doğrudan mikroişlemci tarafından çalıştırılabilen 7 segmentli bağlantıların etrafında biraz araştırma yaptı ve buldu. Daha sonra mikroişlemcinin sürebileceği transistörler olan 4 haneli sürücüleri buldu. Ve sonra bunları bağladı.
2. Adım: Bağlantıları Test Edin
Bir deney olarak, tüm hatları sürmek, kablolamayı kontrol etmek ve bu durumda 82 mA olan akımı ölçmek için bir BASIC programı yazdım.
Sonraki satırları taramak için kod yazmaktı.
' web saat ekran sürücüsü
IO(7)=0 ' PMOS sürücüsü -- bir gün PWM olacak
y=45 ila 48 için
IO(y)=0 ' basamaklı sürücü
x=8 ila 15 için
IO(x)=0 ' segment sürücü
bekle(500)
IO(x)=1
sonraki x
DIR(y)=0 ' segmentteki sürücüyü devre dışı bırak
sonraki y
Adım 3: Zamanı Gösteren Kod ve Parlaklığı Kontrol Eden PWM
Sonra güç kaynağına tüm basamak sürücülerine bir PMOS transistörü ekledim. Darbe genişlik modülasyonu tarafından sürülen bununla ekranın parlaklığı kontrol edilecektir. İşte zamanı görüntülemek için TEMEL kod.
' web saati görüntüleme sürücüsü #include "LPC11U3x.bas"
'küresel
hr = 0 ' saati tanımla
min = 0 ' dakikayı tanımla
#define SEG_0 &HBB00
#define SEG_1 &H1800
#define SEG_2 &HD300
#define SEG_3 &HD900
#define SEG_4 &H7800
#define SEG_5 &HE900
#define SEG_6 &HEB00
#define SEG_7 &H9800
#define SEG_8 &HFB00
#define SEG_9 &HF800
#define SEG_o &H4B00
#define SEG_f &HE200
const DIGarray = { SEG_0, SEG_1, SEG_2, SEG_3, SEG_4, SEG_5, SEG_6, SEG_7, SEG_8, SEG_9, SEG_o, SEG_f }
#define DIG_WAIT 1
#define US_TIME
alt display_time(hata, saat, dakika)
loş sa10, sa1, min10, min1, ben
#ifdef US_TIME
sa > 12 ise sa -= 12
sa = 0 ise sa = 12
#endif
sa10 = sa/10
sa1 = sa MOD 10
min10 = dak / 10
min1 = min MOD 10
i=0 ila 1 için
saat 10 ise
GÇ(45) = 0
endif
GPIO_DIR(0) = (GPIO_DIR(0) &HFFFF00FF) + DIGarray(hr10)
GPIO_CLR(0) = DIGarray(saat10)
bekle(DIG_WAIT)
GİRİŞ(45)
GÇ(46) = 0
GPIO_DIR(0) = (GPIO_DIR(0) &HFFFF00FF) + DIGarray(hr1) + IF(i, &H400, 0)
GPIO_CLR(0) = DIGarray(hr1) + IF(i, &H400, 0)
bekle(DIG_WAIT)
GİRİŞ(46)
GÇ(47) = 0
GPIO_DIR(0) = (GPIO_DIR(0) &HFFFF00FF) + DIArray(min10)
GPIO_CLR(0) = DIGarray(min10)
bekle(DIG_WAIT)
GİRİŞ(47)
GÇ(48) = 0
GPIO_DIR(0) = (GPIO_DIR(0) &HFFFF00FF) + DIArray(dk1)
GPIO_CLR(0) = DIGarray(dk1)
bekle(DIG_WAIT)
GİRİŞ(48)
sonraki ben
endsub
' kullanıcı TIMER1 (32 bit) her dakikayı kesecek
KESİNTİ ALT ZAMANLAYICI1IRQ
T1_IR = 1 ' Kesintiyi temizle
min += 1
min > 59 ise
min = 0
saat += 1
saat > 23 ise
saat = 0
endif
endif
ENDSUB
SUB ON_TIMER (max_cnt, bunu yap)
TIMER1_ISR = dothis + 1 'VIC'nin set işlevi -- Thumb işlemi için +1'e ihtiyaç duyar
SYSCON_SYSAHBCLKCTRL VEYA= (1<<10) ' ZAMANLAYICI1'i etkinleştir
T1_PR = 0 'ön ölçek yok -- değeri daha doğru zaman için ayarlayacaktır
VICntEnable VEYA= (1<<TIMER1_IRQn) 'Kesmeyi etkinleştir
T1_MR0 = max_cnt-1 ' ms eşleşme sayısını ayarla
T1_MCR = 3 ' Kesinti ve Sıfırlama açık
MR0 T1_IR = 1' kesmeyi temizle
T1_TC = 0 ' zamanlayıcı sayacını temizle
T1_TCR = 1 ' ZAMANLAYICI1 Etkin
ENDSUB
#define MINUT_PCLK 2880000000 ' 48 MHz'de 60 saniye
ana:
saat = 9
dk = 33
ON_TIMER(MINUT_PCLK, ADRESSOF TIMER1IRQ)
IO(7) = 0 ' PWM bir gün -- P0_22'ye geçmeniz mi gerekiyor?
1 iken
display_time(0, sa, dak)
döngü
4. Adım: İnternet Bağlantısı Yapın
WiFi bağlantısı için bir ESP8266 kullanın. Bir süre internette dolaştıktan sonra en iyi çözüm nodemcu sürüm 0.9.6 idi ve daha eski bir esp8266_flasher en iyi sonucu verdi.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Sonra internetten zaman sunmak için basit bir PHP web sayfası--
Coridium Zaman Sunucusu
<?php
$zaman dilimi = htmlspecialchars($_GET["bölge"]); if ($zaman dilimi == "")
$zaman dilimi = 'Amerika/Los_Angeles';
$tz_object = new DateTimeZone($timezone);
$tarihsaat = yeni TarihSaat();
$datetime->setTimezone($tz_object);
echo "zaman-", $datetime->format('H:i:s');
Eko "";
echo "tarih-", $datetime->format('m/g/Y');
?>
Bu web sayfası, talep edebilmeniz için
coridium.us/time.php -- ve ABD Pasifik saat dilimini iyi anlıyorsunuz
veya
coridium.us/time.php?zone=Avrupa/Londra
Hata denetimi yok ve büyük olasılıkla hiçbir zaman olmayacak
Ve bunu okumak için Lua --
wifi.sta.config("your_SSID", "your_PASSWORD")> wifi.sta.connect() …
sk=net.createConnection(net. TCP, 0)
sk:on("alma", function(sck, c) print(c) end)
sk:connect(80, "coridium.us")
sk:send("GET /time.php HTTP/1.1\r\nAna Bilgisayar: coridium.us\r\nBağlantı: canlı tut\r\nKabul et: */*\r\n\r\n")
Ve zamanı geri alırsın
saat-09:38:49tarih 2018-12-31
Adım 5: Web'den Zamanı Ayrıştırmak için BASIC Kodu Ekleyin
Bu, tam BASIC programının bir alt kümesidir, tam program son adımda bağlantıda görüntülenebilir.
strstr(build_gets, "zaman is-") = 0 ise
saat = build_gets(8) - "0"
build_gets(9) = ":" ise
min = (build_gets(10) - "0")*10
min += build_gets(11) - "0"
Başka
sa = sa * 10 + build_gets(9) - "0"
min = (build_gets(11) - "0")*10
min += build_gets(12) - "0"
endif
endif
6. Adım: Ekranı Karartmak için Işık Sensörü ve Kod Ekleyin
Odadaki ortam ışığını algılamak için bir foto transistör eklendi. Onsuz, ekran ölüleri (beni) geceleri uyandıracak kadar parlak.
Foto transistör çıkışının analog voltajı okunur ve darbe genişlik modülasyonu ekranın genel parlaklığını ayarlar.
Adım 7: Saatin Düğmesini Açın ve Kullanmaya Başlayın
Son sürüm saati gösterir ve saat 3 civarında geçerli saati okumak için web'e gider. Bu aynı zamanda gün ışığından yararlanma süresini de yönetir.
Bu projenin motivasyonu, burada, dağlarda yaşadığımız elektrik kesintileri ve onları hayatta tutmak için saatleri sıfırlama veya pilleri değiştirme ihtiyacıydı.
Bu, projeye hızlı bir genel bakış olmuştur.
Bu DIY web bağlantılı saatin tüm detayları.
Önerilen:
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: 3 Adım
Arduino Kullanarak Led Şeritli Analog Saat & Dijital Saat Nasıl Yapılır: Bugün Analog Saat & Led Strip ve MAX7219 Dot modülü ile Arduino ile dijital saat.Yerel saat dilimi ile saati düzeltir. Analog saat, daha uzun bir LED şerit kullanabilir, böylece duvara asılarak bir sanat eseri haline getirilebilir
Dijital Tabela için Mirolo Ağ Bağlantılı LED Matris Ekran: 22 Adım (Resimlerle)
Dijital Tabela için Mirolo Ağa Bağlı LED Matris Ekran: Dijital tabela, ziyaretçileri yaklaşan paneller, programdaki değişiklikler hakkında bilgilendirmek veya dinamik olarak bilgi sağlamak için etkinliklerde faydalı olabilir. Bunun için LED Matrix ekranların kullanılması, mesajların çok uzaklardan bile okunabilmesini sağlar ve göz alıcı bir
Dijital Fotoğraf Resim Çerçevesi, WiFi Bağlantılı – Raspberry Pi: 4 Adım (Resimli)
Dijital Fotoğraf Resim Çerçevesi, WiFi Bağlantılı – Raspberry Pi: Bu, bir (ücretsiz) dosya aktarım programı kullanarak 'tıkla ve sürükle' yoluyla WiFi üzerinden fotoğraf ekleme/kaldırma avantajıyla, bir dijital fotoğraf çerçevesine giden çok kolay ve düşük maliyetli bir yoldur. . Küçük £4,50 Pi Zero ile güçlendirilebilir. Ayrıca aktarabilirsiniz
Web Tabanlı Kontrol Panelli Web Bağlantılı SMART LED Animasyon Saati, Zaman Sunucusu Senkronize: 11 Adım (Resimlerle)
Web-Bağlantılı SMART LED Animasyon Saati Web Tabanlı Kontrol Panelli, Zaman Sunucusu Senkronize: Bu saatin hikayesi çok eskilere dayanıyor - 30 yıldan fazla. Babam bu fikre ben 10 yaşımdayken öncülük etti, LED devriminden çok önce - LED'lerin parlaklığının mevcut göz kamaştırıcı parlaklığının 1/1000 olduğu zamanlarda. Gerçek
Web Bağlantılı Robot Yapın (Yaklaşık 500 $ karşılığında) (Arduino ve Netbook kullanarak): 6 Adım (Resimlerle)
Web Bağlantılı Robot Yapın (Yaklaşık 500 $ karşılığında) (Arduino ve Netbook kullanarak): Bu Eğitim Tablosu size kendi Web Bağlantılı Robotunuzu nasıl oluşturacağınızı gösterecektir (bir Arduino mikro denetleyici ve Asus eee pc kullanarak). Neden bir Web İstiyorsunuz? Bağlı Robot mu? Tabii ki ile oynamak için. Robotunuzu odanın diğer ucundan veya sayının diğer ucundan sürün