Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Дижитал хөтөч ба сегментийн драйверийг олон талт дэлгэцтэй холбоно уу
- Алхам 2: Холболтыг шалгана уу
- Алхам 3: Цагийг харуулах код, Гэрэлтүүлгийг хянах ХОУХХ
- Алхам 4: Интернет холболт хийх
- Алхам 5: Вэбээс цагийг задлан шинжлэхийн тулд BASIC кодыг нэмнэ үү
- Алхам 6: Дэлгэцийг бүдэгрүүлэхийн тулд гэрэл мэдрэгч ба кодыг нэмнэ үү
- Алхам 7: Цагны товчлуурыг дарж, үүнийг ашиглаж эхлээрэй
Видео: Вэбэд холбогдсон дижитал цаг: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Амазоноос 10 долларын үнэтэй дижитал цаг олжээ. Одоо интернэтээс цаг авахын тулд үүнийг өөрчилж болно.
Хангамж
ARM Stamp програмыг BASIC хэл дээр эндээс авах боломжтой
Алхам 1: Дижитал хөтөч ба сегментийн драйверийг олон талт дэлгэцтэй холбоно уу
Би тавиур дээрээс хямд үнэтэй олон тооны дижитал цагнаас эхлэв. Эхлээд би одоо байгаа цагны чипийг арилгасан. Дараа нь бага зэрэг судалж үзээд микропроцессороор шууд удирддаг 7 сегментийн холболтыг олж илрүүлэв. Дараа нь микропроцессор жолоодох боломжтой транзистор болох 4 оронтой драйверуудыг олов. Тэгээд тэднийг утсаар холбосон.
Алхам 2: Холболтыг шалгана уу
Туршилтын хувьд би бүх шугамыг жолоодох, утсыг шалгах, гүйдлийг хэмжих BASIC програм бичсэн бөгөөд энэ тохиолдолд 82 мА байв.
Дараагийнх нь мөрүүдийг скан хийх код бичих явдал байв.
'вэб цагийн дэлгэц хөтөч
IO (7) = 0 'PMOS хөтөч - хэзээ нэгэн цагт ХБХ болно
y = 45 -аас 48 хүртэл
IO (y) = 0 'оронтой хөтөч
x = 8 -аас 15 хүртэл
IO (x) = 0 'сегментийн хөтөч
хүлээх (500)
IO (x) = 1
дараагийн x
DIR (y) = 0 'сегмент дээрх хөтчийг идэвхгүй болгох
дараагийн y
Алхам 3: Цагийг харуулах код, Гэрэлтүүлгийг хянах ХОУХХ
Дараа нь би бүх оронтой драйверуудад цахилгаан хангамжид PMOS транзистор нэмсэн. Үүний тусламжтайгаар импульсийн өргөний модуляци нь дэлгэцийн гэрлийг хянах болно. Цагийг харуулах BASIC код энд байна.
'вэб цагийн дэлгэц хөтөч #"LPC11U3x.bas" -ийг оруулна уу
'дэлхийн
hr = 0 'тодорхойлох цаг
min = 0 'минут тодорхойлох
#SEG_0 & HBB00 -ийг тодорхойлно уу
#SEG_1 & H1800 -ийг тодорхойлно уу
#SEG_2 & HD300 -ийг тодорхойлно уу
#SEG_3 & HD900 -ийг тодорхойлох
#SEG_4 & H7800 -ийг тодорхойлно уу
#SEG_5 & HE900 -ийг тодорхойлно уу
#SEG_6 & HEB00 -ийг тодорхойлно уу
#SEG_7 & H9800 -ийг тодорхойлно уу
#SEG_8 & HFB00 -ийг тодорхойлно уу
#SEG_9 & HF800 -ийг тодорхойлно уу
#SEG_o & H4B00 -ийг тодорхойлно уу
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}
#тодорхойлох DIG_WAIT 1
US_TIME -ийг #тодорхойлно уу
дэд дэлгэцийн цаг (алдаа, цаг, мин)
бүдэг hr10, hr1, min10, min1, i
#ifdef US_TIME
Хэрэв цаг> 12 бол цаг -= 12 болно
Хэрэв hr = 0 бол hr = 12 болно
#endif
цаг 10 = цаг / 10
hr1 = hr MOD 10
мин10 = мин / 10
min1 = min MOD 10
i = 0 -ээс 1 хүртэл
хэрэв 10 цаг бол
IO (45) = 0
эндиф
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (цаг 10)
GPIO_CLR (0) = DIGarray (цаг 10)
хүлээх (DIG_WAIT)
Оролт (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)
хүлээх (DIG_WAIT)
Оролт (46)
IO (47) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (мин10)
GPIO_CLR (0) = DIGarray (мин10)
хүлээх (DIG_WAIT)
Оролт (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (мин1)
GPIO_CLR (0) = DIGarray (мин1)
хүлээх (DIG_WAIT)
Оролт (48)
дараагийн i
төгсгөл
минут тутамд тасалдаг хэрэглэгч TIMER1 (32 бит)
INTERRUPT SUB TIMER1IRQ
T1_IR = 1 'Тасалдлыг арилгах
мин += 1
хэрэв мин> 59 бол
мин = 0
цаг += 1
хэрэв цаг> 23 бол
цаг = 0
эндиф
эндиф
Төгсгөл
SUB ON_TIMER (max_cnt, dothis)
TIMER1_ISR = dothis + 1 'VIC -ийн функц - эрхий хурууны ажилд +1 хэрэгтэй
SYSCON_SYSAHBCLKCTRL OR = (1 << 10) 'TIMER1 -ийг идэвхжүүлэх
T1_PR = 0 'урьдчилсан үнэлгээ байхгүй - утгыг илүү нарийвчлалтай тохируулах болно
VICIntEnable OR = (1 << TIMER1_IRQn) 'Тасалдлыг идэвхжүүлэх
T1_MR0 = max_cnt-1 'тохирох мс тоог тохируулна
T1_MCR = 3 'Таслах ба дахин тохируулах
MR0 T1_IR = 1 'тасалдлыг арилгах
T1_TC = 0 'тодорхой таймер тоолуур
T1_TCR = 1 'TIMER1 идэвхжүүлэх
Төгсгөл
#тодорхойлох MINUT_PCLK 2880000000 '48 МГц давтамжтай 60 секунд
үндсэн:
цаг = 9
мин = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'ХБХ хэзээ нэгэн цагт - P0_22 руу шилжих шаардлагатай байна уу?
байхад 1
display_time (0, цаг, мин)
гогцоо
Алхам 4: Интернет холболт хийх
WiFi холболт хийхийн тулд ESP8266 ашиглана уу. Хэсэг хугацааны дараа вэбийг тойрсоны дараа хамгийн сайн шийдэл бол nodemcu 0.9.6 хувилбар байсан бөгөөд хуучин esp8266_flasher хамгийн сайн ажилласан.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Дараа нь интернетээс цаг зарцуулах энгийн PHP вэб хуудас.
Coridium цагийн сервер
<? php
$ timezone = htmlspecialchars ($ _ GET ["zone"]); хэрэв ($ цагийн бүс == "")
$ timezone = 'Америк/Los_Angeles';
$ tz_object = шинэ DateTimeZone ($ цагийн бүс);
$ datetime = шинэ DateTime ();
$ datetime-> setTimezone ($ tz_object);
echo "time is-", $ datetime-> format ('H: i: s');
цуурай "";
echo "огноо бол-", $ datetime-> формат ('m/d/Y');
?>
Энэ вэб хуудас нь та хүсэлт гаргаж болно
coridium.us/time.php - мөн та АНУ -ын Номхон далайн цагийн бүсийг сайн мэдэх болно
эсвэл
coridium.us/time.php?zone=Europe/London
Алдаа шалгахгүй, магадгүй хэзээ ч болохгүй
Үүнийг уншсан Луа -
wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…
sk = net.createConnection (net. TCP, 0)
sk: on ("хүлээн авах", функц (sck, c) хэвлэх (c) төгсгөл)
sk: холбох (80, "coridium.us")
sk: send ("GET /time.php HTTP/1.1 / r / nHost: coridium.us / r / nХолболт: амьд байлгах / r / nХүлээн авах: */ *\ r / n / r / n")
Мөн та цаг хугацааг буцааж авдаг
цаг нь-09: 38: 49, огноо-2018-31-12
Алхам 5: Вэбээс цагийг задлан шинжлэхийн тулд BASIC кодыг нэмнэ үү
Энэ бол BASIC програмын бүрэн бүрэлдэхүүн хэсэг бөгөөд бүрэн програмыг эцсийн алхам дахь линкээс үзэх боломжтой.
Хэрэв strstr (build_gets, "time is-") = 0 бол
hr = build_gets (8) - "0"
хэрэв build_gets (9) = ":" бол
мин = (build_gets (10) - "0")*10
мин += бүтээх_багц (11) - "0"
өөр
hr = hr * 10 + build_gets (9) - "0"
мин = (build_gets (11) - "0")*10
мин += бүтээх_багц (12) - "0"
эндиф
эндиф
Алхам 6: Дэлгэцийг бүдэгрүүлэхийн тулд гэрэл мэдрэгч ба кодыг нэмнэ үү
Өрөөн доторх гэрлийг мэдрэхийн тулд гэрэл зургийн транзистор нэмсэн. Үүнгүйгээр дэлгэц нь шөнийн цагаар нас барагсдыг (намайг) сэрээх хангалттай гэрэл гэгээтэй байдаг.
Фото транзисторын гаралтын аналог хүчдэлийг уншиж, импульсийн өргөний модуляц нь дэлгэцийн нийт гэрэлтүүлгийг тохируулдаг.
Алхам 7: Цагны товчлуурыг дарж, үүнийг ашиглаж эхлээрэй
Эцсийн хувилбар нь цагийг харуулдаг бөгөөд өглөөний 3 цагийн орчимд тухайн цагийг уншихаар вэб рүү гардаг. Энэ нь өдрийн гэрэл хэмнэх цагийг зохицуулдаг.
Энэхүү төслийн сэдэл нь ууланд цахилгаан тасарсан, цагийг шинэчилж, амьд байлгахын тулд батерейг солих шаардлагатай болсон явдал байв.
Энэ бол төслийн талаархи ерөнхий тойм юм.
Энэхүү DIY вэб холболттой цагийн талаархи дэлгэрэнгүй мэдээлэл.
Зөвлөмж болгож буй:
ESP8266 ашиглан сүлжээний цаг дижитал цаг: 4 алхам (зурагтай)
ESP8266 ашиглан сүлжээний цагийн дижитал цаг: Бид NTP серверүүдтэй холбогддог, сүлжээ эсвэл интернетийн цагийг харуулдаг хөөрхөн бяцхан дижитал цаг бүтээх талаар суралцдаг. WeMos D1 mini -ийг ашиглан WiFi сүлжээнд холбогдож, NTP цагийг олж, OLED модуль дээр харуулна
ESP32: 3 алхамтай цаг агаарын станцтай холбогдсон
ESP32 -тэй холбогдсон цаг уурын станц: Энэхүү зааварчилгаанд та ESP32 дээр суурилсан цаг уурын станцыг хэрхэн тохируулах, түүний уншилтыг Blynk апп болон вэбсайтаар дамжуулан алсаас хэрхэн хянах талаар сурах болно
IoT цаг агаарын мониторын цахим цаасан дэлгэц - Интернетэд холбогдсон ESP8266: 7 алхам
IoT цаг агаарын мониторын цахим цаасан дэлгэц | Интернетэд холбогдсон ESP8266: Цахим цаасан дэлгэц нь OpenWeatherMap API (WiFi-ээр) синхрончлогдсон цаг агаарын мэдээллийг харуулах болно. Төслийн зүрх бол ESP8266/32. Хөөе, залуусаа? Акарш энд CETech -ээс ирсэн бөгөөд өнөөдөр бид цаг агаарын хяналт хийх төсөл хийх гэж байна
RPi цаг уурын станц ба дижитал цаг: 4 алхам (зурагтай)
RPi цаг уурын станц ба дижитал цаг: Энэ бол хурдан бөгөөд хялбар төсөл бөгөөд үзүүлэх сайхан дэлгэц юм. Энэ нь цаг хугацаа, цаг агаарын нөхцөл байдал, температурыг хоёуланг нь харуулдаг. Хэрэв танд харсан зүйл тань таалагдаж байвал миний хийсэн зүйлийг дагаж мөрдөхийн тулд намайг Instagram, Twitter (@Anders644PI) дээр дагаарай
Вэбэд холбогдсон робот хийх (ойролцоогоор 500 доллараар) (Arduino болон Netbook ашиглан): 6 алхам (зурагтай)
Вэбтэй холбогдсон робот хийх (ойролцоогоор 500 доллараар) (Arduino болон Netbook ашиглан): Энэхүү зааварчилгаа нь өөрийн вэб холболттой роботыг хэрхэн бүтээхийг харуулах болно (Arduino микроконтроллер ба Asus eee pc ашиглан). Холбогдсон робот уу? Мэдээж тоглох. Роботыг өрөөнөөсөө эсвэл тооллогоороо жолоодоорой