
Isi kandungan:
- Bekalan
- Langkah 1: Sambungkan Digit Drive dan Segment Drive untuk Multiplexed Display
- Langkah 2: Uji Sambungan
- Langkah 3: Kod untuk Menunjukkan Waktu dan PWM untuk Mengawal Kecerahan
- Langkah 4: Buat Sambungan Internet
- Langkah 5: Tambahkan Kod ASAS untuk Menghuraikan Masa Dari Web
- Langkah 6: Tambahkan Sensor Cahaya dan Kod untuk Meringankan Paparan
- Langkah 7: Butang Jam dan Mula Menggunakannya
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01

Menjumpai jam digital $ 10 di Amazon. Sekarang untuk menyesuaikannya untuk mendapatkan masa dari internet.
Bekalan
Cap ARM yang boleh diprogramkan dalam ASAS boleh didapati di sini
Langkah 1: Sambungkan Digit Drive dan Segment Drive untuk Multiplexed Display

Saya mulakan dengan jam digital nombor besar yang murah. Mula-mula saya mengeluarkan cip jam yang ada. Kemudian melakukan beberapa penyiasatan di sekitar dan terletak sambungan 7 segmen, yang dapat didorong secara langsung oleh mikropemproses. Kemudian dijumpai pemacu 4 digit yang merupakan transistor yang boleh dipacu oleh mikropemproses. Dan kemudian menyambungkannya.
Langkah 2: Uji Sambungan

Sebagai percubaan, saya menulis program BASIC untuk menggerakkan semua garis, untuk memeriksa pendawaian dan mengukur arus, yang dalam hal ini adalah 82 mA
Seterusnya adalah menulis kod untuk mengimbas garis.
pemacu paparan jam web
IO (7) = 0 'pemacu PMOS - akan menjadi PWM suatu hari nanti
untuk y = 45 hingga 48
Pemacu digit IO (y) = 0 '
untuk x = 8 hingga 15
Pemacu segmen IO (x) = 0 '
tunggu (500)
IO (x) = 1
x seterusnya
DIR (y) = 0 'lumpuhkan pemacu pada segmen
seterusnya y
Langkah 3: Kod untuk Menunjukkan Waktu dan PWM untuk Mengawal Kecerahan


Seterusnya saya menambahkan transistor PMOS dalam bekalan kuasa ke semua pemacu digit. Dengan itu didorong oleh modulasi lebar nadi akan mengawal kecerahan paparan. Berikut adalah kod ASAS untuk memaparkan waktu.
pemacu paparan jam web #masuk "LPC11U3x.bas"
'global
hr = 0 'tentukan jam
min = 0 'tentukan minit
#tentukan SEG_0 & HBB00
#tentukan SEG_1 & H1800
#tentukan SEG_2 & HD300
#tentukan SEG_3 & HD900
#tentukan SEG_4 & H7800
#tentukan SEG_5 & HE900
#tentukan SEG_6 & HEB00
#tentukan SEG_7 & H9800
#tentukan SEG_8 & HFB00
#tentukan SEG_9 & HF800
#tentukan SEG_o & H4B00
#tentukan 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}
#tentukan DIG_WAIT 1
#tentukan US_TIME
sub display_time (err, hr, min)
redup hr10, hr1, min10, min1, i
#ifdef US_TIME
jika jam> 12 maka jam - = 12
jika hr = 0 maka hr = 12
#endif
hr10 = jam / 10
hr1 = jam MOD 10
min10 = min / 10
min1 = min MOD 10
untuk i = 0 hingga 1
jika jam 10 maka
IO (45) = 0
endif
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (jam10)
GPIO_CLR (0) = DIGarray (jam 10)
tunggu (DIG_WAIT)
INPUT (45)
IO (46) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (jam1) + JIKA (i, & H400, 0)
GPIO_CLR (0) = DIGarray (jam1) + JIKA (i, & H400, 0)
tunggu (DIG_WAIT)
INPUT (46)
IO (47) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min10)
GPIO_CLR (0) = DIGarray (min10)
tunggu (DIG_WAIT)
INPUT (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)
GPIO_CLR (0) = DIGarray (min1)
tunggu (DIG_WAIT)
INPUT (48)
seterusnya i
endub
'pengguna TIMER1 (32 bit) untuk mengganggu setiap minit
INTERRUPT SUB TIMER1IRQ
T1_IR = 1 'Hentikan gangguan
min + = 1
jika min> 59 maka
min = 0
jam + = 1
jika jam> 23 maka
jam = 0
endif
endif
ENDSUB
SUB ON_TIMER (max_cnt, dothis)
TIMER1_ISR = dothis + 1 'fungsi set VIC - memerlukan +1 untuk operasi Thumb
SYSCON_SYSAHBCLKCTRL ATAU = (1 << 10) 'dayakan TIMER1
T1_PR = 0 'tanpa prescale - akan menyesuaikan nilai untuk masa yang lebih tepat
VICIntEnable OR = (1 << TIMER1_IRQn) 'Aktifkan gangguan
T1_MR0 = max_cnt-1 'menetapkan bilangan padanan ms
T1_MCR = 3 'Ganggu dan Tetapkan semula
MR0 T1_IR = 1 'gangguan yang jelas
T1_TC = 0 'pembilang pemasa yang jelas
T1_TCR = 1 'TIMER1 Dayakan
ENDSUB
#tentukan MINUT_PCLK 2880000000 '60 saat pada 48 MHz
utama:
jam = 9
min = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'PWM suatu hari - perlu berpindah ke P0_22 ??
sementara 1
display_time (0, jam, min)
gelung
Langkah 4: Buat Sambungan Internet

Gunakan ESP8266 untuk sambungan WiFi. Setelah menelusuri sebentar di web penyelesaian terbaik adalah nodemcu versi 0.9.6 dan esp8266_flasher yang lebih tua berfungsi dengan baik.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Kemudian laman web PHP yang mudah untuk meluangkan masa dari internet--
Pelayan Masa Coridium
<? php
$ timezone = htmlspecialchars ($ _ DAPATKAN ["zon"]); jika ($ timezone == "")
$ timezone = 'Amerika / Los_Angeles';
$ tz_object = DateTimeZone baru ($ zon waktu);
$ datetime = DateTime baru ();
$ datetime-> setTimezone ($ tz_object);
echo "time is-", format $ datetime-> ('H: i: s');
gema "";
echo "tarikh is-", format $ datetime-> ('m / d / Y');
?>
Laman web itu adalah supaya anda dapat meminta
coridium.us/time.php - dan anda mendapat zon waktu Pasifik AS
atau
coridium.us/time.php?zone=Europe/London
Tiada ralat memeriksa dan kemungkinan besar tidak akan berlaku
Dan Lua membaca bahawa -
wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…
sk = net.createConnection (net. TCP, 0)
sk: on ("terima", fungsi (sck, c) cetak (c) akhir)
sk: sambungkan (80, "coridium.us")
sk: send ("GET /time.php HTTP / 1.1 / r / nHost: coridium.us / r / nSambungan: terus-hidup / r / nTerima: * / * / r / n / r / n")
Dan anda mendapat kembali masa sebagai
waktu adalah-09: 38: 49 tarikh adalah-2018-31-12
Langkah 5: Tambahkan Kod ASAS untuk Menghuraikan Masa Dari Web

Ini adalah subset program BASIC penuh, bahawa program penuh dapat dilihat di pautan pada langkah terakhir.
jika strstr (build_gets, "time is-") = 0 maka
hr = build_gets (8) - "0"
jika build_gets (9) = ":" maka
min = (build_gets (10) - "0") * 10
min + = build_gets (11) - "0"
yang lain
hr = jam * 10 + build_gets (9) - "0"
min = (build_gets (11) - "0") * 10
min + = build_gets (12) - "0"
endif
endif
Langkah 6: Tambahkan Sensor Cahaya dan Kod untuk Meringankan Paparan



Transistor foto ditambahkan untuk merasakan cahaya sekitar di dalam bilik. Tanpa itu paparannya cukup terang untuk membangunkan si mati (saya) pada waktu malam.
Voltan analog output transistor foto dibaca dan modulasi lebar nadi menetapkan kecerahan keseluruhan paparan.
Langkah 7: Butang Jam dan Mula Menggunakannya

Versi terakhir memaparkan waktu, dan sekitar jam 3 pagi keluar ke web untuk membaca waktu terkini. Ini juga menangani masa penjimatan cahaya siang.
Motivasi untuk projek ini adalah kegagalan kuasa yang kita alami di pergunungan dan keperluan untuk mengatur semula jam atau mengganti bateri agar tetap hidup.
Ini adalah gambaran keseluruhan ringkas mengenai projek ini.
Maklumat lengkap jam bersambung web DIY ini.
Disyorkan:
Jam Randik Bersambung: 5 Langkah

Jam randik yang disambungkan: Halo! Dalam tutorial ini, anda akan mengetahui cara menyambungkan mana-mana peranti serasi Arduino, dilengkapi dengan WiFi, ke API REST! Ini menggunakan aplikasi web GitKraken Glo Board untuk membuat papan, lajur & kad untuk menyusun sesuatu! Sebilangan pengetahuan tentang bagaimana awam
Jam Samping Tempat Tidur Bersambung untuk Kanak-kanak: 12 Langkah

Jam Samping Tempat Tidur Terhubung untuk Kanak-kanak: Mengikuti arahan ini, anda akan dapat membina jam yang diaktifkan gerakan dan akan menunjukkan tarikh, waktu dan peristiwa yang berkaitan pada hari itu. Ia akan menunjukkan mod malam ketika tiba masanya untuk tidur dan ketika anak-anak bangun, mereka dapat dengan cepat mengingat apa
Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan berasaskan Web, Pelayan Masa Diselaraskan: 11 Langkah (dengan Gambar)

Jam Animasi LED SMART Bersambung Web Dengan Panel Kawalan Berasaskan Web, Time Server Synchronized: Kisah jam ini sudah lama - lebih dari 30 tahun. Ayah saya mempelopori idea ini ketika saya baru berusia 10 tahun, jauh sebelum revolusi LED - kembali ketika LED di mana 1/1000 kecerahan cahaya mereka yang membutakan semasa. Betul
Buat Robot Bersambung Web (sekitar $ 500) (menggunakan Arduino dan Netbook): 6 Langkah (dengan Gambar)

Buat Robot Bersambung Web (sekitar $ 500) (menggunakan Arduino dan Netbook): Instructable ini akan menunjukkan kepada anda cara membina Robot Bersambung Web anda sendiri (menggunakan pengawal mikro Arduino dan komputer Asus eee). Mengapa anda mahukan Web Robot Bersambung? Sudah tentu bermain. Pandu robot anda dari seberang ruangan atau di seberang
Termostat Bersambung Web Murah: 12 Langkah (dengan Gambar)

Termostat Bersambung Web Murah: Salah satu produk Internet Perkara pertama yang berjaya memasuki banyak rumah tangga ialah termostat pintar. Mereka boleh belajar apabila anda menyukai rumah anda menjadi panas dan suhu bilik apa yang biasanya diperlukan. Perkara yang menarik ialah mereka juga dapat