Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Yhdistä Digitaalinen asema ja Segmentti -asema Multiplex -näyttöä varten
- Vaihe 2: Testaa liitännät
- Vaihe 3: Koodoi näyttöaika ja PWM kirkkauden säätämiseen
- Vaihe 4: Muodosta Internet -yhteys
- Vaihe 5: Lisää BASIC -koodi Web -ajan jäsentämiseen
- Vaihe 6: Lisää valoanturi ja koodi näytön himmentämiseksi
- Vaihe 7: Napsauta kelloa ylös ja aloita sen käyttö
Video: Verkkoon yhdistetty digitaalikello: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Amazonista löytyi 10 dollarin digitaalinen kello. Nyt voit muokata sitä saadaksesi aikaa Internetistä.
Tarvikkeet
BASIC -ohjelmoitava ARM -leima on saatavana täältä
Vaihe 1: Yhdistä Digitaalinen asema ja Segmentti -asema Multiplex -näyttöä varten
Aloitin halvalla hyllyllä olevasta suuresta digitaalikellosta. Ensin poistin olemassa olevan kellosirun. Sitten tutkintiin ympärille ja löydettiin 7 segmentin liitännät, joita voidaan käyttää suoraan mikroprosessorilla. Sitten löydettiin 4 -numeroiset ohjaimet, jotka olivat transistoreita, joita mikroprosessori voi ajaa. Ja sitten johdotti ne.
Vaihe 2: Testaa liitännät
Kirjoitin kokeiluna BASIC -ohjelman ajamaan kaikkia linjoja, tarkistamaan johdot ja mittaamaan virran, joka tässä tapauksessa oli 82 mA
Seuraavaksi oli kirjoitettava koodi rivien skannaamiseksi.
'verkkokellon näyttöasema
IO (7) = 0 'PMOS -asema - tulee PWM jonain päivänä
y = 45-48
IO (y) = 0 'numeroinen asema
x = 8-15
IO (x) = 0 'segmentin taajuusmuuttaja
odota (500)
IO (x) = 1
seuraava x
DIR (y) = 0 'poista asema käytöstä
seuraava y
Vaihe 3: Koodoi näyttöaika ja PWM kirkkauden säätämiseen
Seuraavaksi lisäsin PMOS -transistorin virtalähteeseen kaikkiin numero -ohjaimiin. Pulssinleveysmodulaatiolla ohjataan näytön kirkkautta. Tässä on BASIC -koodi ajan näyttämiseksi.
'verkkokellon näyttöasema #sisältää "LPC11U3x.bas"
'globaalit
hr = 0 'määritä tunti
min = 0 'määritä minuutti
#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
alinäytön_aika (err, hr, min)
himmeä hr10, hr1, min10, min1, i
#ifdef US_TIME
jos hr> 12, niin hr -= 12
jos hr = 0, niin hr = 12
#loppu Jos
hr10 = h / 10
hr1 = h MOD 10
min10 = min / 10
min1 = min MOD 10
i = 0-1
jos hr10 sitten
IO (45) = 0
loppu Jos
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (h10)
GPIO_CLR (0) = DIGarray (h10)
odota (DIG_WAIT)
TULO (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)
odota (DIG_WAIT)
TULO (46)
IO (47) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min10)
GPIO_CLR (0) = DIGarray (min10)
odota (DIG_WAIT)
TULO (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)
GPIO_CLR (0) = DIGarray (min1)
odota (DIG_WAIT)
TULO (48)
seuraavaksi minä
EndSub
'Käyttäjä TIMER1 (32 bittiä) keskeyttää joka minuutti
KESKEYTETTY ALIAJASTIN1IRQ
T1_IR = 1 'Poista keskeytys
min += 1
jos min> 59, niin
min = 0
h +1
jos h> 23, niin
h = 0
loppu Jos
loppu Jos
ENDSUB
ALA -AJASTIN (max_cnt, dothis)
TIMER1_ISR = dothis + 1 'VIC -toiminto - tarvitaan +1 peukalon toiminnalle
SYSCON_SYSAHBCLKCTRL TAI = (1 << 10) 'käyttöön TIMER1
T1_PR = 0 'ei esiasetusta - säätää arvoa tarkemman ajan
VICIntEnable OR = (1 << TIMER1_IRQn) 'Ota keskeytys käyttöön
T1_MR0 = max_cnt-1 'aseta ms-osumamäärä
T1_MCR = 3 'Keskeytä ja nollaa
MR0 T1_IR = 1 'selkeä keskeytys
T1_TC = 0 'nollaa ajastinlaskuri
T1_TCR = 1 'AJASTIN1 Ota käyttöön
ENDSUB
#define MINUT_PCLK 2880000000 '60 sekuntia taajuudella 48 MHz
pää:
h = 9
min = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'PWM jonain päivänä - tarve siirtyä kohtaan P0_22 ??
kun taas 1
näyttöaika (0, h, min)
silmukka
Vaihe 4: Muodosta Internet -yhteys
Käytä ESP8266 WiFi -yhteyttä varten. Hetken selaamisen jälkeen paras ratkaisu oli nodemcu -versio 0.9.6 ja vanhempi esp8266_flasher toimi parhaiten.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Sitten yksinkertainen PHP-verkkosivusto, joka tarjoaa aikaa Internetistä-
Coridium aikapalvelin
<? php
$ aikavyöhyke = htmlspecialchars ($ _ GET ["zone"]); jos ($ timezone == "")
$ timezone = 'Amerikka/Los_Angeles';
$ tz_object = uusi DateTimeZone ($ aikavyöhyke);
$ datetime = uusi DateTime ();
$ datetime-> setTimezone ($ tz_object);
echo "aika on-", $ datetime-> -muoto ('H: i: s');
kaiku "";
echo "päivämäärä on-", $ datetime-> -muoto ('m/d/Y');
?>
Tämä verkkosivu on niin, että voit pyytää
coridium.us/time.php - ja saat hyvin Yhdysvaltain Tyynenmeren aikavyöhykkeen
tai
coridium.us/time.php?zone=Europe/London
Ei virheiden tarkistusta eikä todennäköisesti tule koskaan
Ja Lua lukea sen -
wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…
sk = net.createConnection (net. TCP, 0)
sk: on ("vastaanottaa", toiminto (sck, c) print (c) end)
sk: connect (80, "coridium.us")
sk: send ("GET /time.php HTTP/1.1 / r / nHost: coridium.us / r / nYhteys: keep-hengissä / r / nHyväksy: */ *\ r / n / r / n")
Ja saat ajan takaisin
aika on-09:38:49 päivämäärä on -2018-31-12
Vaihe 5: Lisää BASIC -koodi Web -ajan jäsentämiseen
Tämä on osa BASIC -ohjelmaa, jonka koko ohjelman voi katsoa viimeisen vaiheen linkistä.
jos strstr (build_gets, "time is-") = 0 niin
hr = build_gets (8) - "0"
jos build_gets (9) = ":" niin
min = (build_gets (10) - "0")*10
min += build_gets (11) - "0"
muu
hr = hr * 10 + build_gets (9) - "0"
min = (build_gets (11) - "0")*10
min += build_gets (12) - "0"
loppu Jos
loppu Jos
Vaihe 6: Lisää valoanturi ja koodi näytön himmentämiseksi
Valotransistori lisättiin huoneen ympäristön valon havaitsemiseksi. Ilman sitä näyttö on riittävän kirkas herättämään kuolleet (minä) yöllä.
Valotransistorin lähdön analoginen jännite luetaan ja pulssinleveysmodulaatio asettaa näytön yleisen kirkkauden.
Vaihe 7: Napsauta kelloa ylös ja aloita sen käyttö
Lopullinen versio näyttää ajan, ja noin kello 3:00 se menee verkkoon lukemaan nykyistä aikaa. Tämä hoitaa myös päivänvaloa säästävän ajan.
Tämän projektin motiivina olivat täällä vuoristossa esiintyvät sähkökatkot ja tarve nollata kellot tai vaihtaa paristot, jotta ne pysyisivät hengissä.
Tämä on ollut nopea katsaus hankkeeseen.
Yksityiskohdat tästä DIY -verkkoyhteydellä varustetusta kellosta.
Suositeltava:
Kuinka tehdä oma WIFI -yhdyskäytävä Arduinon liittämiseksi IP -verkkoon?: 11 vaihetta (kuvilla)
Kuinka tehdä oma WIFI -yhdyskäytävä Arduinon liittämiseksi IP -verkkoon?: Kuten niin monet ihmiset, Arduino on mielestäsi erittäin hyvä ratkaisu kotiautomaation ja robotin tekemiseen! Mutta viestinnän kannalta Arduinot sisältävät vain sarjaliitännät. Työskentelen robotin parissa, joka on yhdistettävä pysyvästi palvelimeen, joka toimii
Raspberry Pi -laitteen yhdistäminen verkkoon: 9 vaihetta
Raspberry Pi -laitteen yhdistäminen verkkoon: Tässä oppitunnissa opit luomaan verkkosivun, keräämään tietoja maailmanlaajuisen verkon avulla ja käyttämään sovellusliittymiä kuvien lähettämiseen Tumblriin ja Twitteriin
Yhdistä ESP8266 WIFI -verkkoon: 3 vaihetta
Yhdistä ESP8266 WIFI -verkkoon: Edellisessä artikkelissa keskustelin siitä, miten ESP8266 voidaan tehdä tukiasemaksi. Ja tässä artikkelissa näytän sinulle, kuinka ESP8266 liitetään wifi -verkkoon (jolloin ESP8266 on asiakas). Ennen kuin jatkat opetusohjelmaan, varmista, että olet lisännyt ESP82
Verkkoon yhdistetty SMART LED -animaatiokello verkkopohjaisella ohjauspaneelilla, aikapalvelin synkronoitu: 11 vaihetta (kuvien kanssa)
Verkkoon yhdistetty SMART LED -animaatiokello ja verkkopohjainen ohjauspaneeli, aikapalvelin synkronoitu: Tämän kellon tarina ulottuu pitkälle-yli 30 vuotta. Isäni oli tämän ajatuksen edelläkävijä, kun olin vain 10 -vuotias, kauan ennen LED -vallankumousta - takaisin silloin, kun LED -valot ovat 1/1000 nykyisen häikäisevän kirkkautensa kirkkautta. Totuus
Halpa verkkoon yhdistetty termostaatti: 12 vaihetta (kuvilla)
Halpa verkkoon yhdistetty termostaatti: Yksi ensimmäisistä esineiden Internet-tuotteista, jotka löysivät tiensä moniin kotitalouksiin, on älykäs termostaatti. He voivat oppia, milloin haluat talosi lämpenevän ja mitä huoneenlämpötilaa yleensä vaaditaan. Hienoa on, että he voivat myös