Satura rādītājs:
- Piegādes
- 1. darbība: savienojiet ciparu disku un segmentēšanas disku, lai parādītu multipleksētu displeju
- 2. darbība: pārbaudiet savienojumus
- 3. darbība: kods, lai parādītu laiku un PWM, lai kontrolētu spilgtumu
- 4. darbība. Izveidojiet interneta savienojumu
- 5. darbība: pievienojiet BASIC kodu, lai parsētu laiku no tīmekļa
- 6. darbība: pievienojiet gaismas sensoru un kodu, lai aptumšotu displeju
- 7. solis: pogu uz augšu un sāciet to lietot
Video: Tīmeklī savienots digitālais pulkstenis: 7 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Amazon atrada digitālo pulksteni 10 USD vērtībā. Tagad pielāgojiet to, lai iegūtu laiku no interneta.
Piegādes
ARM zīmogs, kas programmējams BASIC, pieejams šeit
1. darbība: savienojiet ciparu disku un segmentēšanas disku, lai parādītu multipleksētu displeju
Es sāku ar lētu lielo ciparu digitālo pulksteni. Vispirms es noņēmu esošo pulksteņa mikroshēmu. Tad tika veikta zondēšana un tika atrasti 7 segmenta savienojumi, kurus var vadīt tieši ar mikroprocesoru. Tad atrada četrciparu draiverus, kas bija tranzistori, kurus mikroprocesors var vadīt. Un tad vadu tos.
2. darbība: pārbaudiet savienojumus
Kā eksperiments es uzrakstīju BASIC programmu, lai vadītu visas līnijas, pārbaudītu elektroinstalāciju un izmērītu strāvu, kas šajā gadījumā bija 82 mA
Nākamais bija rakstīt kodu, lai skenētu līnijas.
'tīmekļa pulksteņa diska disks
IO (7) = 0 'PMOS disks - kādreiz būs PWM
y = 45 līdz 48
IO (y) = 0 'ciparu disks
x = 8 līdz 15
IO (x) = 0 'segmenta piedziņa
pagaidiet (500)
IO (x) = 1
nākamais x
DIR (y) = 0 'atslēgt disku segmentā
nākamgad
3. darbība: kods, lai parādītu laiku un PWM, lai kontrolētu spilgtumu
Tālāk es pievienoju PMOS tranzistoru barošanas avotā visiem ciparu draiveriem. Ar to, ko virza impulsa platuma modulācija, tiks kontrolēts displeja spilgtums. Šeit ir BASIC kods, lai parādītu laiku.
"tīmekļa pulksteņa diska disks #ietver" LPC11U3x.bas"
'globāli
hr = 0 'definēt stundu
min = 0 'definēt minūti
#define SEG_0 & HBB00
#define SEG_1 & H1800
#define SEG_2 & HD300
#define SEG_3 un HD900
#define SEG_4 & H7800
#define SEG_5 un HE900
#define SEG_6 un 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
sub display_time (kļūda, hr, min)
blāvs hr10, hr1, min10, min1, i
#ifdef US_TIME
ja hr> 12, tad hr -= 12
ja hr = 0, tad hr = 12
#endif
h10 = h / 10
hr1 = stunda MOD 10
min10 = min / 10
min1 = min MOD 10
i = 0 līdz 1
ja hr10, tad
IO (45) = 0
endif
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (10. stunda)
GPIO_CLR (0) = DIGarray (10. stunda)
pagaidiet (DIG_WAIT)
IEVADE (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)
pagaidiet (DIG_WAIT)
IEEJA (46)
IO (47) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min10)
GPIO_CLR (0) = DIGarray (min10)
pagaidiet (DIG_WAIT)
IEVADE (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)
GPIO_CLR (0) = DIGarray (min1)
pagaidiet (DIG_WAIT)
IEEJA (48)
nākamais i
Endsub
'lietotājs TIMER1 (32 biti), lai pārtrauktu katru minūti
PĀRTRAUKTS SUB TIMER1IRQ
T1_IR = 1 'Notīrīt pārtraukumu
min += 1
ja min> 59, tad
min = 0
hr += 1
ja h> 23, tad
st = 0
endif
endif
ENDSUB
SUB ON_TIMER (max_cnt, dothis)
TIMER1_ISR = dothis + 1 'iestatīta VIC funkcija - nepieciešams +1 īkšķa darbībai
SYSCON_SYSAHBCLKCTRL VAI = (1 << 10) 'iespējot TIMER1
T1_PR = 0 'bez iepriekšējas skalas - pielāgos vērtību precīzākam laikam
VICIntEnable OR = (1 << TIMER1_IRQn) 'Iespējot pārtraukumu
T1_MR0 = max_cnt-1 'iestatiet atbilstības ms skaitu
T1_MCR = 3 'Pārtraukt un atiestatīt
MR0 T1_IR = 1 'skaidrs pārtraukums
T1_TC = 0 'dzēst taimera skaitītāju
T1_TCR = 1 'TIMER1 Iespējot
ENDSUB
#define MINUT_PCLK 2880000000 '60 sekundes pie 48 MHz
galvenais:
stundas = 9
min = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'PWM kādu dienu - jāpāriet uz P0_22 ??
kamēr 1
display_time (0, h, min)
cilpa
4. darbība. Izveidojiet interneta savienojumu
WiFi savienojumam izmantojiet ESP8266. Pēc tam, kad kādu laiku bija pārlūkojis tīmekli, labākais risinājums bija nodemcu versija 0.9.6, un vecāks esp8266_flasher darbojās vislabāk.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
Pēc tam vienkārša PHP tīmekļa lapa, lai sniegtu laiku no interneta-
Koridija laika serveris
<? php
$ timezone = htmlspecialchars ($ _ GET ["zona"]); ja ($ timezone == "")
$ timezone = 'Amerika/Los_Angeles';
$ tz_object = new DateTimeZone ($ timezone);
$ datuma laiks = jauns datuma laiks ();
$ datetime-> setTimezone ($ tz_object);
echo "laiks ir-", $ datetime-> formāts ('H: i: s');
atbalss "";
echo "datums ir-", $ datetime-> formāts ('m/d/Y');
?>
Šī tīmekļa lapa ir paredzēta, lai jūs varētu pieprasīt
coridium.us/time.php - un jūs labi iegūstat ASV Klusā okeāna laika joslu
vai
coridium.us/time.php?zone=Europe/London
Nav kļūdu pārbaudes un, visticamāk, nekad nebūs
Un Lua to izlasīt -
wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…
sk = net.createConnection (net. TCP, 0)
sk: on ("saņemt", funkcija (sck, c) print (c) end)
sk: connect (80, "coridium.us")
sk: send ("GET /time.php HTTP/1.1 / r / nHost: coridium.us / r / nSavienojums: saglabāt dzīvu / r / nPieņemt: */ *\ r / n / r / n")
Un jūs atgūsit laiku kā
laiks ir-09: 38: 49datums ir -2018-31-12
5. darbība: pievienojiet BASIC kodu, lai parsētu laiku no tīmekļa
Šī ir visas BASIC programmas apakškopa, kuru pilnu programmu var apskatīt saitē pēdējā posmā.
ja strstr (build_gets, "laiks ir-") = 0, tad
hr = build_gets (8) - "0"
ja build_gets (9) = ":" tad
min = (build_gets (10) - "0")*10
min += build_gets (11) - "0"
citādi
hr = hr * 10 + build_gets (9) - "0"
min = (build_gets (11) - "0")*10
min += build_gets (12) - "0"
endif
endif
6. darbība: pievienojiet gaismas sensoru un kodu, lai aptumšotu displeju
Tika pievienots foto tranzistors, lai uztvertu apkārtējo gaismu telpā. Bez tā displejs ir pietiekami spilgts, lai naktī pamodinātu mirušo (mani).
Tiek nolasīts foto tranzistora izejas analogā spriegums, un impulsa platuma modulācija nosaka displeja kopējo spilgtumu.
7. solis: pogu uz augšu un sāciet to lietot
Galīgajā versijā tiek parādīts laiks, un aptuveni pulksten 3:00 tas tiek izlaists tīmeklī, lai nolasītu pašreizējo laiku. Tas arī nodrošina dienas gaismas taupīšanas laiku.
Šī projekta motivācija bija strāvas padeves traucējumi, ko mēs piedzīvojam šeit, kalnos, un nepieciešamība atiestatīt pulksteņus vai nomainīt baterijas, lai tie paliktu dzīvi.
Šis ir ātrs projekta pārskats.
Pilna informācija par šo DIY tīmeklī savienoto pulksteni.
Ieteicams:
Digitālais foto rāmis, savienots ar WiFi - Raspberry Pi: 4 soļi (ar attēliem)
Digitālais foto attēlu rāmis, saistīts ar WiFi - Raspberry Pi: Šis ir ļoti vienkāršs un lēts ceļš uz digitālo foto rāmi - tā priekšrocība ir fotoattēlu pievienošana /noņemšana, izmantojot WiFi, izmantojot klikšķi un vilkšanu, izmantojot (bezmaksas) failu pārsūtīšanas programmu . To var darbināt ar niecīgo £ 4.50 Pi Zero. Varat arī pārsūtīt
Zvaniet tīmeklī!: 4 soļi
Zvaniet tīmeklī!: Zvana tīmeklis ir paredzēts vietņu ietekmēšanai no vietējām/reālām vietām. Plašāka informācija par to: http://makker.hu/RingTheWeb/ Jums būs nepieciešams: 1 spiedpoga 10 k rezistors Arduino (jebkura veida) kabeļi mazs, mazjaudas dators - šajā gadījumā RPi piekļuve serverim
Savienots nakts pulkstenis bērniem: 12 soļi
Savienots nakts pulkstenis bērniem: ievērojot šos norādījumus, jūs varēsit izveidot pulksteni, kas ir aktivizēts kustībā un parādīs datumu, laiku un attiecīgo dienas notikumu. Tas parādīs nakts režīmu, kad ir pienācis laiks gulēt, un, kad bērni pamostas, viņi ātri atceras, kas
Tīmeklī savienots SMART LED animācijas pulkstenis ar tīmekļa vadības paneli, sinhronizēts laika serveris: 11 soļi (ar attēliem)
Tīmeklī savienots SMART LED animācijas pulkstenis ar tīmekļa vadības paneli, sinhronizēts laika serveris: šī pulksteņa stāsts sniedzas tālu-vairāk nekā 30 gadus. Mans tēvs aizsāka šo ideju, kad man bija tikai 10 gadu, ilgi pirms gaismas diožu revolūcijas - atpakaļ, kad gaismas diodes ir 1/1000 to pašreizējā apžilbinošā spožuma. Patiesa
Iegūstiet bezmaksas bezvadu tīmekli savā Motorola/nextel/boost tālrunī: 6 soļi
Iegūstiet bezmaksas bezvadu tīmekli savā Motorola/nextel/boost tālrunī: Šodien es jums iemācīšu, kā savā bezmaksas tālrunī/motorola/boost tālrunī iegūt bezmaksas bezvadu tīmekli