Përmbajtje:
- Furnizimet
- Hapi 1: Lidhni Digit Drive dhe Segment Drive për ekran të shumëfishtë
- Hapi 2: Testoni lidhjet
- Hapi 3: Kodi për të shfaqur kohën dhe PWM për të kontrolluar shkëlqimin
- Hapi 4: Krijoni një lidhje interneti
- Hapi 5: Shtoni Kodin Bazë për të analizuar kohën nga uebi
- Hapi 6: Shtoni një sensor dhe dritë për të zbehur ekranin
- Hapi 7: Butoni në Orë dhe Filloni ta Përdorni
Video: Ora dixhitale e lidhur me uebin: 7 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Gjeti një orë dixhitale prej 10 dollarësh në Amazon. Tani për ta personalizuar atë për të marrë kohë nga interneti.
Furnizimet
Vula ARM e programueshme në BASIC në dispozicion këtu
Hapi 1: Lidhni Digit Drive dhe Segment Drive për ekran të shumëfishtë
Fillova me një orë dixhitale të lirë nga rafti me numër të madh. Së pari hoqa çipin ekzistues të orës. Pastaj bëri disa sondazhe përreth dhe gjeti lidhjet e segmentit 7, të cilat mund të drejtohen drejtpërdrejt nga mikroprocesori. Pastaj u gjetën drejtuesit 4 shifror të cilët ishin transistorë të cilët mikroprocesori mund t'i drejtojë. Dhe pastaj lidhini ato.
Hapi 2: Testoni lidhjet
Si një eksperiment unë shkrova një program BASIC për të drejtuar të gjitha linjat, për të kontrolluar instalimet elektrike dhe për të matur rrymën, e cila në këtë rast ishte 82 mA
Tjetra ishte të shkruani kodin për të skanuar linjat.
'disku i ekranit të orës në internet
IO (7) = 0 'PMOS makinë - do të jetë PWM një ditë
për y = 45 në 48
IO (y) = makinë 0 -shifrore
për x = 8 deri në 15
Segmenti IO (x) = 0 '
prit (500)
IO (x) = 1
tjetra x
DIR (y) = 0 'çaktivizoni disqet në segment
tjetra y
Hapi 3: Kodi për të shfaqur kohën dhe PWM për të kontrolluar shkëlqimin
Tjetra shtova një transistor PMOS në furnizimin me energji për të gjithë drejtuesit shifror. Me atë të nxitur nga gjerësia e impulsit, modulimi do të kontrollojë shkëlqimin e ekranit. Këtu është kodi BAZ për të shfaqur kohën.
'disku i ekranit të orës në internet #përfshi "LPC11U3x.bas"
'globale
hr = 0 'përcaktojnë orën
min = 0 'përcaktoni minutën
#përcaktoni SEG_0 & HBB00
#përcaktoni SEG_1 & H1800
#përcaktoni SEG_2 & HD300
#përcaktoni SEG_3 & HD900
#përcaktoni SEG_4 & H7800
#përcaktoni SEG_5 & HE900
#përcaktoni SEG_6 & HEB00
#përcaktoni SEG_7 & H9800
#përcaktoni SEG_8 & HFB00
#përcaktoni SEG_9 & HF800
#përcaktoni SEG_o & H4B00
#përcaktoni 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}
#përcakto DIG_WAIT 1
#përcakto US_TIME
nën -koha e shfaqjes (gabim, orë, min)
zbehur hr10, hr1, min10, min1, i
#ifdef US_TIME
nëse hr> 12 atëherë hr -= 12
nëse hr = 0 atëherë hr = 12
#endif
hr10 = orë / 10
hr1 = orë MOD 10
min10 = min / 10
min1 = min MOD 10
për i = 0 në 1
nëse hr10 atëherë
IO (45) = 0
endif
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr10)
GPIO_CLR (0) = DIGarray (hr10)
prit (DIG_WAIT)
HYRJA (45)
IO (46) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr1) + IF (i, & H400, 0)
GPIO_CLR (0) = DIGarray (hr1) + IF (i, & H400, 0)
prit (DIG_WAIT)
HYRJA (46)
IO (47) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min10)
GPIO_CLR (0) = DIGarray (min10)
prit (DIG_WAIT)
HYRJA (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)
GPIO_CLR (0) = DIGarray (min1)
prit (DIG_WAIT)
HYRJA (48)
tjeter i
fundet
'përdorues TIMER1 (32 bit) për të ndërprerë çdo minutë
NDTERRSHTIMI NUBN TIMER1IRQ
T1_IR = 1 'Pastro ndërprerjen
min += 1
nëse min> 59 atëherë
min = 0
orë += 1
nëse hr> 23 atëherë
hr = 0
endif
endif
ENDSUB
SUB ON_TIMER (max_cnt, dothis)
TIMER1_ISR = funksioni i vendosur + 1 'i VIC - keni nevojë për +1 për funksionimin e gishtit të madh
SYSCON_SYSAHBCLKCTRL OR = (1 << 10) 'aktivizoni TIMER1
T1_PR = 0 'pa prescale - do të rregullojë vlerën për një kohë më të saktë
VICIntEnable OR = (1 << TIMER1_IRQn) 'Aktivizo ndërprerjen
T1_MR0 = max_cnt-1 'vendos numrin e përputhjes të ms
T1_MCR = 3 'Ndërprit dhe Rivendos në
MR0 T1_IR = 1 'ndërprerje e qartë
T1_TC = 0 'numërues i qartë i kohëmatësit
T1_TCR = 1 'TIMER1 Aktivizo
ENDSUB
#përcakto MINUT_PCLK 2880000000 '60 sekonda në 48 MHz
kryesore:
orë = 9
min = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'PWM një ditë - duhet të kaloni në P0_22 ??
ndërsa 1
koha e shfaqjes (0, orë, min)
lak
Hapi 4: Krijoni një lidhje interneti
Përdorni një ESP8266 për një lidhje WiFi. Pasi u hodh në internet për një kohë zgjidhja më e mirë ishte nodemcu version 0.9.6 dhe një esp8266_flasher më i vjetër funksionoi më së miri.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Pastaj një faqe e thjeshtë PHP për të shërbyer kohë nga interneti-
Serveri i Kohës Coridium
<? php
$ timezone = htmlspecialchars ($ _ GET ["zone"]); nëse ($ timezone == "")
$ timezone = 'America/Los_Angeles';
$ tz_object = e re DateTimeZone ($ timezone);
$ datetime = data e re e datës ();
$ datetime-> setTimezone ($ tz_object);
jehona "koha është-", $ datetime-> format ('H: i: s');
jehonë "";
jehonë "data është-", $ datetime-> format ('m/d/Y');
?>
Ajo faqe në internet është kështu që ju mund të kërkoni
coridium.us/time.php - dhe ju merrni mirë zonën kohore amerikane të Paqësorit
ose
coridium.us/time.php?zone=Europe/London
Nuk ka kontroll të gabimeve dhe ka shumë të ngjarë që kurrë nuk do të jetë
Dhe Lua ta lexojë atë -
wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…
sk = net.createConnection (net. TCP, 0)
sk: aktiv ("marr", funksioni (sck, c) print (c) fund)
sk: lidheni (80, "coridium.us")
sk: send ("GET /time.php HTTP/1.1 / r / nHost: coridium.us / r / nLidhja: mbaj gjallë / r / nPrano: */ *\ r / n / r / n")
Dhe ju e ktheni kohën si
ora është-09: 38: 49data është -2018-31-12
Hapi 5: Shtoni Kodin Bazë për të analizuar kohën nga uebi
Kjo është një nëngrup i programit të plotë BASIC, ai program i plotë mund të shihet në lidhjen në hapin përfundimtar.
nëse strstr (build_gets, "koha është-") = 0 atëherë
hr = build_gets (8) - "0"
nëse build_gets (9) = ":" atëherë
min = (build_gets (10) - "0")*10
min += build_gets (11) - "0"
tjeter
hr = hr * 10 + build_gets (9) - "0"
min = (build_gets (11) - "0")*10
min += build_gets (12) - "0"
endif
endif
Hapi 6: Shtoni një sensor dhe dritë për të zbehur ekranin
Një transistor fotografik u shtua për të ndjerë dritën e ambientit në dhomë. Pa të, ekrani është mjaft i ndritshëm për të zgjuar të vdekurit (mua) gjatë natës.
Tensioni analog i daljes së transistorit të fotografisë lexohet dhe modulimi i gjerësisë së pulsit vendos shkëlqimin e përgjithshëm të ekranit.
Hapi 7: Butoni në Orë dhe Filloni ta Përdorni
Versioni përfundimtar shfaq kohën, dhe rreth orës 3 të mëngjesit del në internet për të lexuar kohën aktuale. Kjo gjithashtu merret me kursimin e dritës së ditës.
Motivimi për këtë projekt ishte ndërprerjet e energjisë që përjetojmë këtu në male dhe nevoja për të rivendosur orët ose për të zëvendësuar bateritë për t'i mbajtur ato gjallë.
Ky ka qenë një pasqyrë e shpejtë e projektit.
Detajet e plota të kësaj ore të lidhur me ueb në internet.
Recommended:
Kornizë fotografike dixhitale e fotografisë, WiFi e lidhur - Raspberry Pi: 4 hapa (me fotografi)
Korniza e fotografive dixhitale të fotografive, e lidhur me WiFi - Raspberry Pi: Kjo është një rrugë shumë e lehtë dhe me kosto të ulët për një kornizë fotografike dixhitale - me avantazhin e shtimit /heqjes së fotografive mbi WiFi nëpërmjet 'kliko dhe tërhiq' duke përdorur një program transferimi (falas) të skedarëve Me Mund të mundësohet nga 4.50 Pi Zero i vogël. Ju gjithashtu mund të transferoni
Ora e animacionit SMART LED e lidhur me uebin me panelin e kontrollit të bazuar në ueb, serveri i kohës i sinkronizuar: 11 hapa (me fotografi)
Ora e animacionit SMART LED e lidhur me uebin me panelin e kontrollit të bazuar në ueb, serveri i sinkronizuar me kohën: Historia e kësaj ore kthehet shumë përpara-më shumë se 30 vjet. Babai im e filloi këtë ide kur isha vetëm 10 vjeç, shumë para revolucionit LED - kur LED ishte 1/1000 shkëlqimi i shkëlqimit të tyre verbues aktual. Një e vërtetë
Bëni një robot të lidhur me uebin (për rreth 500 dollarë) (duke përdorur një Arduino dhe Netbook): 6 hapa (me fotografi)
Bëni një robot të lidhur me uebin (për rreth 500 dollarë) (duke përdorur një Arduino dhe Netbook): Ky udhëzues do t'ju tregojë se si të krijoni robotin tuaj të lidhur me uebin (duke përdorur një mikrokontrollues Arduino dhe Asus eee pc). Pse dëshironi të keni një Ueb Robot i lidhur? Për të luajtur me natyrisht. Drejtojeni robotin tuaj nga e gjithë dhoma ose nga numërimi
Termostat i lirë i lidhur me uebin: 12 hapa (me fotografi)
Termostat i lirë i lidhur me uebin: Një nga produktet e para të Internetit të Gjërave që gjeti rrugën në shumë familje është termostati i zgjuar. Ata mund të mësojnë kur ju pëlqen që shtëpia juaj të ngrohet dhe çfarë temperature e dhomës zakonisht kërkohet. Gjëja interesante është se ata gjithashtu mund të
Kamera dixhitale/kamera dixhitale me vizion natën me rreze infra të kuqe: 17 hapa (me fotografi)
Kamera dixhitale/kamera dixhitale e vizionit të natës me rreze infra të kuqe: Ky udhëzues shpjegon se si të konvertohet kamera e zbulimit të natës Discovery Kids (e cila reklamohet në mënyrë të rreme për të përdorur " teknologji të vërtetë të vizionit të natës me infra të kuqe ") në një kamera reale të shikimit të natës me infra të kuqe. Kjo është e ngjashme me IR webca