Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Ikonekta ang Digit Drive at Segment Drive para sa Multiplexed Display
- Hakbang 2: Subukan ang Mga Koneksyon
- Hakbang 3: Code upang Maipakita ang Oras at PWM upang Makontrol ang Liwanag
- Hakbang 4: Gumawa ng isang Koneksyon sa Internet
- Hakbang 5: Magdagdag ng BASIC Code upang Ma-parse ang Oras Mula sa Web
- Hakbang 6: Magdagdag ng isang Light Sensor at Code upang Dim ang Display
- Hakbang 7: Button Up ang Clock at Simulang Gamitin Ito
Video: Nakakonekta sa Web ang Digital Clock: 7 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Natagpuan ang isang $ 10 digital na orasan sa Amazon. Ngayon upang ipasadya ito upang makakuha ng oras mula sa internet.
Mga gamit
Programmable ang ARM Stamp sa BASIC na magagamit dito
Hakbang 1: Ikonekta ang Digit Drive at Segment Drive para sa Multiplexed Display
Nagsimula ako sa isang murang off the shelf malaking bilang digital na orasan. Una kong tinanggal ang mayroon nang orasan chip. Pagkatapos ay ilang pagsisiyasat sa paligid at matatagpuan ang mga koneksyon ng 7 segment, na maaaring direktang hinihimok ng microprocessor. Pagkatapos natagpuan ang 4 na mga driver ng driver na kung saan ay mga transistors na maaaring himukin ng microprocessor. At pagkatapos ay i-wire ang mga iyon.
Hakbang 2: Subukan ang Mga Koneksyon
Bilang isang eksperimento nagsulat ako ng isang BASIC na programa upang himukin ang lahat ng mga linya, upang suriin ang mga kable at sukatin ang kasalukuyang, na sa kasong ito ay 82 mA
Susunod ay upang isulat ang code upang i-scan ang mga linya.
'drive ng display ng orasan sa web
IO (7) = 0 'PMOS drive - magiging PWM balang araw
para sa y = 45 hanggang 48
IO (y) = 0 'digit na drive
para sa x = 8 hanggang 15
IO (x) = 0 'segment drive
maghintay (500)
IO (x) = 1
susunod na x
DIR (y) = 0 'huwag paganahin ang drive sa segment
susunod na y
Hakbang 3: Code upang Maipakita ang Oras at PWM upang Makontrol ang Liwanag
Susunod na idinagdag ko ang isang PMOS transistor sa supply ng kuryente sa lahat ng mga driver ng digit. Sa pamamagitan ng na hinimok ng pulso lapad na modulasyon ay makokontrol ang ningning ng display. Narito ang BASIC code upang maipakita ang oras.
'drive ng display ng orasan sa web # isama ang "LPC11U3x.bas"
'globals
hr = 0 'tukuyin ang oras
min = 0 'tukuyin ang minuto
# tukuyin ang SEG_0 & HBB00
# tukuyin ang SEG_1 at H1800
# tukuyin ang SEG_2 & HD300
# tukuyin ang SEG_3 & HD900
# tukuyin ang SEG_4 at H7800
# tukuyin ang SEG_5 & HE900
# tukuyin ang SEG_6 & HEB00
# tukuyin ang SEG_7 & H9800
# tukuyin ang SEG_8 & HFB00
# tukuyin ang SEG_9 & HF800
# tukuyin ang SEG_o & H4B00
# tukuyin ang 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}
# tukuyin ang DIG_WAIT 1
# tukuyin ang US_TIME
sub display_time (err, hr, min)
malabo hr10, hr1, min10, min1, i
#ifdef US_TIME
kung hr> 12 pagkatapos ay hr - = 12
kung hr = 0 pagkatapos hr = 12
#tapusin kung
hr10 = oras / 10
hr1 = hr MOD 10
min10 = min / 10
min1 = min MOD 10
para sa i = 0 hanggang 1
kung hr10 kung ganon
IO (45) = 0
tapusin kung
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr10)
GPIO_CLR (0) = DIGarray (hr10)
maghintay (DIG_WAIT)
INPUT (45)
IO (46) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr1) + KUNG (i, & H400, 0)
GPIO_CLR (0) = DIGarray (hr1) + KUNG (i, & H400, 0)
maghintay (DIG_WAIT)
INPUT (46)
IO (47) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min10)
GPIO_CLR (0) = DIGarray (min10)
maghintay (DIG_WAIT)
INPUT (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)
GPIO_CLR (0) = DIGarray (min1)
maghintay (DIG_WAIT)
INPUT (48)
susunod na i
endub
'user TIMER1 (32 bit) upang makagambala sa bawat minuto
INTERRUPT SUB TIMER1IRQ
T1_IR = 1 'Malinaw na makagambala
min + = 1
kung min> 59 kung ganon
min = 0
hr + = 1
kung hr> 23 kung ganon
hr = 0
tapusin kung
tapusin kung
ENDSUB
SUB ON_TIMER (max_cnt, doesis)
Ang TIMER1_ISR = doesis + 1 'itinakdang pagpapaandar ng VIC - kailangan ang +1 para sa operasyon ng Thumb
SYSCON_SYSAHBCLKCTRL O = (1 << 10) 'paganahin ang TIMER1
T1_PR = 0 'walang prescale - ayusin ang halaga para sa mas tumpak na oras
VICIntEnable OR = (1 << TIMER1_IRQn) 'Paganahin ang makagambala
T1_MR0 = max_cnt-1 'i-set up ang bilang ng tugma ng ms
T1_MCR = 3 'Makagambala at I-reset sa
MR0 T1_IR = 1 'malinaw na makagambala
T1_TC = 0 'malinaw na timer counter
T1_TCR = 1 'TIMER1 Paganahin
ENDSUB
# tukuyin ang MINUT_PCLK 2880000000 '60 segundo sa 48 MHz
pangunahing:
oras = 9
min = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'PWM ilang araw - kailangang lumipat sa P0_22 ??
habang 1
display_time (0, hr, min)
loop
Hakbang 4: Gumawa ng isang Koneksyon sa Internet
Gumamit ng isang ESP8266 para sa isang koneksyon sa WiFi. Matapos ang poking sa paligid ng web para sa isang habang ang pinakamahusay na solusyon ay nodemcu bersyon 0.9.6 at isang mas matandang esp8266_flasher ay nagtrabaho ang pinakamahusay.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Pagkatapos ng isang simpleng webpage na PHP upang maghatid ng oras mula sa internet--
Coridium Time Server
<? php
$ timezone = htmlspecialchars ($ _ GET ["zone"]); kung ($ timezone == "")
$ timezone = 'America / Los_Angeles';
$ tz_object = bagong DateTimeZone ($ timezone);
$ datetime = bagong DateTime ();
$ datetime-> setTimezone ($ tz_object);
echo "oras ay-", $ datetime-> format ('H: i: s');
echo "";
echo "date is-", $ datetime-> format ('m / d / Y');
?>
Ang webpage na iyon ay kaya mong humiling
coridium.us/time.php - at makakakuha ka ng time zone ng US Pacific
o
coridium.us/time.php?zone=Europe/London
Walang error sa pag-check at malamang hindi na
At basahin iyon ng Lua -
wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…
sk = net.createConnection (net. TCP, 0)
sk: on ("accept", function (sck, c) print (c) end)
sk: kumonekta (80, "coridium.us")
sk: ipadala ("GET /time.php HTTP / 1.1 / r / nHost: coridium.us / r / nConnection: keep-alive / r / nAccept: * / * / r / n / r / n")
At makakabalik ka ng oras bilang
oras ay-09: 38: 49date ay-2018-31-12
Hakbang 5: Magdagdag ng BASIC Code upang Ma-parse ang Oras Mula sa Web
Ito ay isang subset ng buong programa ng BASIC, na ang buong programa ay maaaring matingnan sa link sa huling hakbang.
kung strstr (build_gets, "ang oras ay-") = 0 pagkatapos
hr = build_gets (8) - "0"
kung build_gets (9) = ":" kung gayon
min = (build_gets (10) - "0") * 10
min + = build_gets (11) - "0"
iba pa
hr = hr * 10 + build_gets (9) - "0"
min = (build_gets (11) - "0") * 10
min + = build_gets (12) - "0"
tapusin kung
tapusin kung
Hakbang 6: Magdagdag ng isang Light Sensor at Code upang Dim ang Display
Ang isang photo transistor ay idinagdag upang maunawaan ang paligid na ilaw sa silid. Nang wala ito ang display ay sapat na maliwanag upang gisingin ang patay (ako) sa gabi.
Nabasa ang analog boltahe ng output ng photo transistor at ang modulate ng lapad ng pulso ay nagtatakda ng pangkalahatang ningning ng display.
Hakbang 7: Button Up ang Clock at Simulang Gamitin Ito
Ipinapakita ng panghuling bersyon ang oras, at bandang 3 AM lumabas ito sa web upang basahin ang kasalukuyang oras. Humahawak din ito ng oras sa pag-save ng ilaw ng araw.
Ang motibasyon para sa proyektong ito ay ang mga pagkabigo sa kuryente na nararanasan natin dito sa mga bundok at ang pangangailangan na i-reset ang mga orasan o palitan ang mga baterya upang mabuhay sila.
Ito ay naging isang mabilis na pangkalahatang ideya ng proyekto.
Mga buong detalye ng orasan na nakakonekta sa DIY web na ito.
Inirerekumendang:
Nakakonekta ang Maramihang SENSOR SA RASPBERRY PI: 6 na Hakbang (na may Mga Larawan)
KONEKTO NG MULTIPLE SENSORS SA RASPBERRY PI: Sa proyektong ito, ikonekta namin ang tatlo sa mga sensor ng Atlas Scientific na EZO (pH, natunaw na oxygen at temperatura) sa isang Raspberry Pi 3B +. Sa halip na i-wire ang mga circuit sa Raspberry Pi, gagamitin namin ang kalasag ng Whitebox Labs Tentacle T3. T
Mga Awtomatikong Ilaw na Nakakonekta Sa Pagsubaybay sa Pinto at Pinto .: 5 Mga Hakbang
Ang mga Awtomatikong Ilaw ay Nakakonekta Sa Pagsubaybay sa Pinto at Pinto .: Tila napakahirap hanapin ang switch board sa madilim ngunit ang proyektong ito ay talagang kapaki-pakinabang upang malutas ang problemang ito. Sundin ang mga hakbang sa ibaba upang malaman ang solusyon dito
RabbitPi - pinagana ang Alexa, Nakakonekta ang IFTTT, Assistant sa Ear-Wiggling IoT: 12 Hakbang
RabbitPi - pinagana ang Alexa, Nakakonekta ang IFTTT, Assistant sa Ear-Wiggling IoT: Ito ay isang hindi na ginagamit noong 2005 Nabaztag " matalinong kuneho " na binuo ko ulit sa isang modernong IoT Assistant na gumagamit ng isang Raspberry Pi 3 at isang Adafruit Motor HAT, na may isang mikropono ng webcam at isang nagsasalita ng Philips Soundshooter na nakapaloob sa nakatutuwa na orihinal na cas
Mga LED Light na Nakakonekta sa Musika: 4 na Hakbang (na may Mga Larawan)
Ang mga LED Light ay Nakakonekta sa Musika: Maligayang pagdating sa aking Tutorial, Habang ang mga ilaw ng LED strip ay isang labis na cool at mahusay na paraan upang mag-ilaw ng ilang ilaw sa isang ordinaryong sambahayan. Pinapayagan ang mga ilaw na ito na makipag-ugnay sa musika na iyong pinili ay nagbibigay-daan para sa isang mas mayamang karanasan
Gumawa ng isang Robot na Nakakonekta sa Web (para sa Halos $ 500) (gamit ang isang Arduino at Netbook): 6 na Hakbang (na may Mga Larawan)
Gumawa ng isang Robot na Nakakonekta sa Web (para sa Halagang $ 500) (gamit ang isang Arduino at Netbook): Ipapakita sa iyo ng Instructable na ito kung paano bumuo ng iyong sariling Robot na Nakakonekta sa Web (gumagamit ng isang Arduino micro-controller at Asus eee pc). Bakit mo nais ang isang Web Nakakonektang Robot? Makipaglaro syempre. Itaboy ang iyong robot mula sa buong silid o sa bilang