Სარჩევი:
- მარაგები
- ნაბიჯი 1: შეაერთეთ ციფრული დისკი და სეგმენტის დრაივი მულტიპლექსური ჩვენებისთვის
- ნაბიჯი 2: შეამოწმეთ კავშირები
- ნაბიჯი 3: კოდი დროის ჩვენებისათვის და PWM სიკაშკაშის გასაკონტროლებლად
- ნაბიჯი 4: შექმენით ინტერნეტ კავშირი
- ნაბიჯი 5: დაამატეთ ძირითადი კოდი ინტერნეტიდან დროის გასაანალიზებლად
- ნაბიჯი 6: დაამატეთ სინათლის სენსორი და კოდი ეკრანის დაბინდვისთვის
- ნაბიჯი 7: დააკაკუნეთ საათი და დაიწყეთ მისი გამოყენება
ვიდეო: ვებთან დაკავშირებული ციფრული საათი: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
Amazon- ში აღმოაჩინეს 10 დოლარიანი ციფრული საათი. ახლა დააკონფიგურირეთ, რომ მიიღოთ დრო ინტერნეტიდან.
მარაგები
ARM Stamp პროგრამირებადი BASIC ხელმისაწვდომია აქ
ნაბიჯი 1: შეაერთეთ ციფრული დისკი და სეგმენტის დრაივი მულტიპლექსური ჩვენებისთვის
დავიწყე იაფფასიანი თაროდან დიდი ნომრის ციფრული საათი. ჯერ ამოვიღე არსებული საათის ჩიპი. შემდეგ გამოიკვლია და განლაგდა 7 სეგმენტის კავშირი, რომლის მართვაც შესაძლებელია პირდაპირ მიკროპროცესორმა. შემდეგ აღმოვაჩინეთ 4 ციფრიანი დრაივერი, რომლებიც ტრანზისტორი იყო და რომლის მართვაც მიკროპროცესორს შეუძლია. და შემდეგ შეაერთეთ ისინი.
ნაბიჯი 2: შეამოწმეთ კავშირები
როგორც ექსპერიმენტი, მე დავწერე BASIC პროგრამა ყველა ხაზის გასავლელად, გაყვანილობის შესამოწმებლად და დენის გასაზომად, რომელიც ამ შემთხვევაში იყო 82 mA
შემდეგი იყო კოდის დაწერა ხაზების სკანირებისთვის.
ვებ საათის ჩვენების დისკი
IO (7) = 0 'PMOS დისკი - იქნება PWM ოდესმე
y = 45 -დან 48 -მდე
IO (y) = 0 'ციფრული დისკი
x = 8 -დან 15 -მდე
IO (x) = 0 'სეგმენტის დრაივი
დაელოდე (500)
IO (x) = 1
შემდეგი x
DIR (y) = 0 'გამორთეთ დრაივი სეგმენტზე
შემდეგი y
ნაბიჯი 3: კოდი დროის ჩვენებისათვის და PWM სიკაშკაშის გასაკონტროლებლად
შემდეგ მე დავამატე PMOS ტრანზისტორი კვების ბლოკში ყველა ციფრული დრაივერისთვის. პულსის სიგანეზე დაფუძნებული მოდულაცია გააკონტროლებს ეკრანის სიკაშკაშეს. აქ არის ძირითადი კოდი დროის საჩვენებლად.
'ვებ საათის ჩვენების დისკი #მოიცავს "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
#განსაზღვრეთ აშშ -ის დრო
ქვესაჩვენებელი_დრო (შეცდომა, სთ, წთ)
dim hr10, hr1, min10, min1, i
#fdef US_TIME
თუ hr> 12 მაშინ hr -= 12
თუ hr = 0 მაშინ hr = 12
#დაასრულე თუ
hr10 = სთ / 10
hr1 = სთ MOD 10
min10 = min / 10
min1 = min MOD 10
i = 0 -დან 1 -მდე
თუ hr10 მაშინ
IO (45) = 0
დაასრულე თუ
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr10)
GPIO_CLR (0) = DIGarray (hr10)
დაელოდე (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 (min10)
GPIO_CLR (0) = DIGarray (min10)
დაელოდე (DIG_WAIT)
შეყვანა (47)
IO (48) = 0
GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)
GPIO_CLR (0) = DIGarray (min1)
დაელოდე (DIG_WAIT)
შეყვანა (48)
შემდეგი მე
ბოლოები
'მომხმარებელი TIMER1 (32 ბიტი) ყოველ წუთს შეწყვეტს
INTERRUPT SUB TIMER1IRQ
T1_IR = 1 'გასუფთავების შეწყვეტა
წთ += 1
თუ მინ> 59 მაშინ
მინ = 0
სთ += 1
თუ სთ> 23 მაშინ
სთ = 0
დაასრულე თუ
დაასრულე თუ
ENDSUB
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 'დააყენეთ ms მატჩის ნომერი
T1_MCR = 3 'შეწყვეტა და გადატვირთვა
MR0 T1_IR = 1 'მკაფიო შეფერხება
T1_TC = 0 'ქრონომეტრის მრიცხველი
T1_TCR = 1 'TIMER1 ჩართვა
ENDSUB
#განსაზღვრეთ MINUT_PCLK 2880000000 '60 წამი 48 MHz
მთავარი:
სთ = 9
მინ = 33
ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)
IO (7) = 0 'PWM რამდენიმე დღე - საჭიროა P0_22- ზე გადასვლა ??
ხოლო 1
ჩვენების_დრო (0, სთ, წთ)
მარყუჟი
ნაბიჯი 4: შექმენით ინტერნეტ კავშირი
გამოიყენეთ ESP8266 WiFi კავშირისთვის. მას შემდეგ, რაც ინტერნეტში ცოტა ხნით დატრიალდი, საუკეთესო გამოსავალი იყო nodemcu ვერსია 0.9.6 და ძველი esp8266_flasher საუკეთესოდ მუშაობდა.
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
შემდეგ მარტივი PHP ვებ გვერდი, რომელიც ემსახურება ინტერნეტს-
კორიდიუმის დროის სერვერი
<? php
$ დროის ზონა = htmlspecialchars ($ _ GET ["ზონა"]); if ($ დროის სარტყელი == "")
$ timezone = 'ამერიკა/Los_Angeles';
$ tz_object = ახალი DateTimeZone ($ დროის ზონა);
$ datetime = ახალი DateTime ();
$ datetime-> setTimezone ($ tz_object);
ექო "დრო არის-", $ datetime-> ფორმატი ('H: i: s');
ექო "";
ექო "თარიღი არის-", $ datetime-> ფორმატი ('მ/დ/წ');
?>
ეს ვებ გვერდი არის ასე რომ თქვენ შეგიძლიათ მოითხოვოთ
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: ჩართულია ("მიღება", ფუნქცია (sck, c) ბეჭდვა (c) დასასრული)
sk: დაკავშირება (80, "coridium.us")
sk: send ("GET /time.php HTTP/1.1 / r / n მასპინძელი: coridium.us / r / n კავშირი: შეინარჩუნე სიცოცხლე / r / n მიიღე: */ *\ r / n / r / n")
და თქვენ დააბრუნებთ დროს, როგორც
დრო არის -09: 38: 49 თარიღი არის -2018-31-12
ნაბიჯი 5: დაამატეთ ძირითადი კოდი ინტერნეტიდან დროის გასაანალიზებლად
ეს არის სრული BASIC პროგრამის ქვესიმრავლე, რომ სრული პროგრამა შეგიძლიათ იხილოთ ბმულზე საბოლოო საფეხურზე.
თუ strstr (build_gets, "time is-") = 0 მაშინ
hr = build_gets (8) - "0"
თუ build_gets (9) = ":" მაშინ
წთ = (build_gets (10) - "0")*10
min += build_gets (11) - "0"
სხვა
hr = hr * 10 + build_gets (9) - "0"
წთ = (build_gets (11) - "0")*10
min += build_gets (12) - "0"
დაასრულე თუ
დაასრულე თუ
ნაბიჯი 6: დაამატეთ სინათლის სენსორი და კოდი ეკრანის დაბინდვისთვის
დაემატა ფოტო ტრანზისტორი ოთახში ატმოსფერული შუქის გასაგებად. მის გარეშე ეკრანი საკმარისად კაშკაშაა იმისთვის, რომ ღამით მკვდარი (მე) გააღვიძოს.
ფოტო ტრანზისტორის გამომავალი ანალოგური ძაბვა იკითხება და პულსის სიგანის მოდულაცია ადგენს ეკრანის საერთო სიკაშკაშეს.
ნაბიჯი 7: დააკაკუნეთ საათი და დაიწყეთ მისი გამოყენება
საბოლოო ვერსია აჩვენებს დროს და დილის 3 საათზე ის გამოდის ინტერნეტში მიმდინარე დროის წასაკითხად. ეს ასევე ხელს უწყობს დღის შუქის დაზოგვას.
ამ პროექტის მოტივაცია იყო ელექტროენერგიის გათიშვა, რომელსაც ჩვენ ვხვდებით აქ მთებში და საჭიროება საათების გადატვირთვა ან ბატარეების გამოცვლა მათი სიცოცხლის შესანარჩუნებლად.
ეს იყო პროექტის სწრაფი მიმოხილვა.
ამ წვრილმანი ვებ – გვერდის დაკავშირებული საათის სრული დეტალები.
გირჩევთ:
როგორ გააკეთოთ ანალოგური საათი და ციფრული საათი Led Strip– ით Arduino– ს გამოყენებით: 3 ნაბიჯი
როგორ გავაკეთოთ ანალოგური საათი და ციფრული საათი Led Strip– ით Arduino– ს გამოყენებით: დღეს ჩვენ გავაკეთებთ ანალოგიურ საათს & ციფრული საათი Led Strip– ით და MAX7219 Dot მოდულით Arduino– ით. ის შეასწორებს დროს ადგილობრივ დროის ზონაში. ანალოგურ საათს შეუძლია გამოიყენოს უფრო გრძელი LED ზოლები, ასე რომ ის შეიძლება კედელზე ჩამოკიდდეს და გახდეს ხელოვნება
ციფრული ფოტო სურათის ჩარჩო, WiFi დაკავშირებული - Raspberry Pi: 4 ნაბიჯი (სურათებით)
ციფრული ფოტო სურათის ჩარჩო, WiFi დაკავშირებული - Raspberry Pi: ეს არის ძალიან მარტივი და დაბალი ღირებულება მარშრუტი ციფრული ფოტო ჩარჩოსკენ - უპირატესობა იმისა, რომ დაამატოთ /წაშალოთ ფოტოები WiFi– ზე „დააწკაპუნეთ და გადაიტანეთ“ფაილის (უფასო) გადაცემის პროგრამის გამოყენებით. რა ის შეიძლება იკვებებოდეს პატარა 50 4.50 Pi Zero– ით. თქვენ ასევე შეგიძლიათ გადაიტანოთ
დაკავშირებული საწოლის საათი ბავშვებისთვის: 12 ნაბიჯი
დაკავშირებული საწოლის საათი ბავშვებისთვის: ამ ინსტრუქციის შემდეგ თქვენ შეძლებთ ააწყოთ საათი, რომელიც გააქტიურებულია მოძრაობით და აჩვენებს თარიღს, დროს და დღის შესაბამის მოვლენას. ის აჩვენებს ღამის რეჟიმს ძილის დრო და როდესაც ბავშვები იღვიძებენ, მათ შეუძლიათ სწრაფად დაიმახსოვრონ რა
ვებთან დაკავშირებული SMART LED ანიმაციური საათი ვებ დაფუძნებული მართვის პანელით, დროის სერვერის სინქრონიზებული: 11 ნაბიჯი (სურათებით)
ვებ – გვერდზე ჩართული SMART LED ანიმაციური საათი ვებ – დაფუძნებული მართვის პანელით, დროის სერვერის სინქრონიზებული: ამ საათის ისტორია შორსაა-30 წელზე მეტი ხნის წინ. მამაჩემი იყო ამ იდეის პიონერი, როდესაც მე ვიყავი მხოლოდ 10 წლის, დიდი ხნით ადრე LED რევოლუციამდე - უკან, როდესაც LED იყო 1/1000 სიკაშკაშე მათი ამჟამინდელი ბრმა ბრწყინვალებისა. ჭეშმარიტი
შექმენით ვებთან დაკავშირებული რობოტი (დაახლოებით 500 დოლარად) (არდუინოს და ნეტბუქის გამოყენებით): 6 ნაბიჯი (სურათებით)
შექმენით ვებთან დაკავშირებული რობოტი (დაახლოებით 500 აშშ დოლარად) (Arduino– ს და Netbook– ის გამოყენებით): ეს ინსტრუქცია გაჩვენებთ, თუ როგორ უნდა შექმნათ თქვენი საკუთარი ვებ-დაკავშირებული Robot (Arduino მიკრო კონტროლერის და Asus eee კომპიუტერის გამოყენებით). რატომ გსურთ ვებ დაკავშირებული რობოტი? რა თქმა უნდა, თამაში. მართეთ თქვენი რობოტი ოთახის გასწვრივ ან მთლიანი რაოდენობიდან