Სარჩევი:

მეტი გაზაფხული წინ: 5 ნაბიჯი
მეტი გაზაფხული წინ: 5 ნაბიჯი

ვიდეო: მეტი გაზაფხული წინ: 5 ნაბიჯი

ვიდეო: მეტი გაზაფხული წინ: 5 ნაბიჯი
ვიდეო: IV დასი (C.J) - ისევ ვებრძვი ზამთარს 2024, ნოემბერი
Anonim
აღარ გაზაფხულის წინ
აღარ გაზაფხულის წინ
აღარ გაზაფხულის წინ
აღარ გაზაფხულის წინ

ალტერნატიული სათაური: IP დროის საათი ნაწილი 3

თუ მოგწონთ, მე ვიღებ ამას საათის კონკურსში.

დაიღალეთ იმით, რომ გაზაფხულის წინ უნდა იყოთ?

დაიღალეთ იმით, რომ უკან დახევა გჭირდებათ?

ისე, მე ვარ. მე მაქვს ეს ძველი მაღვიძარა, რომელიც აფიქსირებდა ამას (ცოტა ხნით) (იხილეთ სურათი) ის ავტომატურად მოერგებოდა დღისით და (ვფიქრობ) მას აქვს ბატარეის სარეზერვო საშუალება ენერგიის დაკარგვის შემთხვევაში. სამწუხაროდ, რამდენიმე წლის უკან, შეერთებულმა შტატებმა გადაწყვიტა შეცვალოს დღეები დროის შესაცვლელად. ახლა ეს საათი ხელით უნდა შეიცვალოს წელიწადში ოთხჯერ! მე ვიყენებ ამას მხოლოდ როგორც სარეზერვო საშუალება.

ამ ზარმაცი ძველ გიკს (LOG) სურდა სრულყოფილი საათი. ყველა განსხვავებულია და დრო იცვლება (ჰა! ჰა!) და იცვლება იდეალები. აი ჩემი იდეალური საძინებელი საათი.

ყოველთვის ჩანს ღამით. CAVEAT: ღამით წამწამები წამი არ არის, ეს მეტისმეტად მაფრთხობს.

ავტომატური DST (დღის შუქის დრო). მეზიზღება წელიწადში ორჯერ საათის შეცვლა.

აჩვენებს კვირის დღეს. რადგან მე უკვე ძველი ვარ და არ მახსოვს.

მე მომწონს დილის წამები. რეკლამაში ნათქვამია, რომ 30 წამის განმავლობაში ხარხარეთ, ამიტომ მომწონს საათი, რომელიც აჩვენებს წამებს.

არ არის ლურჯი შუქი. ჩვენ ყველამ ვიცით, რომ ლურჯი შუქი ცუდია თქვენთვის. ყოველთვის არაა სიმართლე, ნახე ეს:

www.instructables.com/id/Blue-Light-Proje…

კარგი, ეს საკმაოდ მარტივია. ბევრი საათი ჩანს ღამით და ბევრი არ არის ლურჯი. ზოგი არის "ატომური" საათი, რომელიც მორგებულია DST- ზე. სინამდვილეში, ჩემს ზოგიერთ "ატომურ" საათს უნდა შევეჭიდო DST- ის ცვლილებებთან.

ახლა წამებში სიტუაცია უფრო კონკრეტულია. მე რეალურად შევიმუშავე საკუთარი თავი ამის გასაკეთებლად ამ ინსტრუქციაში (თუმცა შევამჩნიე, რომ ეს კარგად არ ავხსენი):

www.instructables.com/id/IP-Time-Clock-Par…

ეს საათი დაახლოებით ოთხი წელი გაგრძელდა, შედარებით ტექნიკური მომსახურების გარეშე, სანამ რამდენიმე თვის წინ შეწყვიტა მუშაობა.

ნაბიჯი 1: დაფიქსირება, პირველი ნაბიჯი

გამოსწორება, პირველი ნაბიჯი
გამოსწორება, პირველი ნაბიჯი
გამოსწორება, პირველი ნაბიჯი
გამოსწორება, პირველი ნაბიჯი
გამოსწორება, პირველი ნაბიჯი
გამოსწორება, პირველი ნაბიჯი

სიკვდილის ლურჯი ეკრანი, IP საათი (სინამდვილეში ის შავია).

Technobabble:

მოკლე აღწერა IP საათი. ის იყენებს ESP-03 მიკროკონტროლერს, რომელიც ინტერნეტს უერთდება WiFi- ით. ESP-03– ზე გავამაგრე ორი 2 მმ – იანი მამრობითი სათაურის ზოლები, ასე რომ ის ჩაერთვება სოკეტში PCB– ზე.

ის იყენებს ორ შვიდ სეგმენტ –3 ციფრულ ეკრანს, როგორიცაა:

არ მახსოვს ეს ჩვეულებრივი კათოდი იყო თუ ანოდი.

Max7219 მართავს დისპლეებს და ინდივიდუალური LED- ებს კვირის დღეებში.

დამატებითი დეტალებისთვის, გთხოვთ, გადახედოთ ჩემს IP საათის ნაწილს ინსტრუქციულად.

კარგად, პირველი რაც შევეცადე იყო ESP-03 (მიკროკონტროლერის) გადაპროგრამება, ასე რომ, მე შევხედე ჩემს ინსტრუქტორს და შევეცადე, მაგრამ ეს არ მაძლევდა პროგრამირების საშუალებას.

შეუსაბამო ისტორია: კარგი, მე მოხუცი ვარ, ასე რომ ჩემი გონება ტრიალებს. Instructables.com– ში მოხვედრის ერთ -ერთი მიზეზი იყო ის, რომ მას ჰქონდა შესანიშნავი ინსტრუქციები Arduino– ზე. ეს იყო ერთ -ერთი მთავარი მიზეზი, რის გამოც მე შევედი არდუინოსში და ვისწავლე მათი გამოყენება. დამრიგებელი მწერლები ყველა სხვადასხვა დონეზე და უნარ -ჩვევებში არიან, მაგრამ მე ხშირად ვპოულობ მათ, ვინც არის ჩემთვის გასაგები. ასე რომ, მადლობა Instructables– ს, წლების განმავლობაში დამეხმარეთ.

კეთილგანწყობის დასაბრუნებლად, მე ვწერ ინსტრუქციებს, რომლებიც იმედი მაქვს, რომ სხვებს დავეხმარებით.

მეორე მიზეზი, რის გამოც ვწერ Instructables არის დამეხმაროს გავიხსენო როგორ გავაკეთე პროექტები. ინსტრუქციის წერისას ვცდილობ მივაწოდო ყველა დეტალი იმის გასაკეთებლად, რაც მე გავაკეთე. როგორც ჩანს, მე ყოველთვის არ ვაკეთებ კარგ საქმეს.

კარგი, მე დავუშვი IP საათი უკანა მხარეს.

ჩემი თეორია ისაა, რომ მეტმა ლურჯმა შუქმა მომცა მეტი ენერგია (იხ. ზემოთ Blueproject Instructable) და ყურადღება გამახვილდა ამ პრობლემის გადახედვაზე. საბოლოოდ გავარკვიე, რომ მეთოდი, რომელსაც ვიყენებდი ESP-03– ის დასაპროგრამებლად, აღარ მუშაობდა. მე დავწერე ეს სხვა ინსტრუქციებში:

www.instructables.com/id/2020-ESP8266/

პრობლემა 1 მოგვარებულია, ახლა შემიძლია ESP-03- ების დაპროგრამება არდუინოს ესკიზებით.

ნაბიჯი 2: შემდეგი პრობლემის მოგვარება

შემდეგი პრობლემის მოგვარება
შემდეგი პრობლემის მოგვარება
შემდეგი პრობლემის მოგვარება
შემდეგი პრობლემის მოგვარება
შემდეგი პრობლემის მოგვარება
შემდეგი პრობლემის მოგვარება

ისე, მე დავპროგრამე ESP-03 ჩემი ძველი არდუინოს ესკიზით, ჩავდე ის ჩემს IP საათში, მაგრამ მაინც არ მუშაობდა. სხვათა შორის, მე დავწერე ესკიზი, არაფერი იყო ნაჩვენები სანამ წარმატებული კავშირი ინტერნეტთან და NTP სერვერზე (უზრუნველყოფს ზუსტ დროს ინტერნეტში) ასე რომ მე მქონდა ცარიელი ეკრანი.

Arduino სერიული მონიტორის გამოყენებით, მე დავინახე, რომ ის არ უკავშირდებოდა NTP სერვერს.

შენიშვნა: ESP-03 იყენებს ESP8266 მიკროკონტროლერს. ESP8266– ის ერთ – ერთი სასიამოვნო თვისებაა ის, რომ მას ჩაშენებული აქვს WiFi. ტექნიკური თვალსაზრისით მას შეუძლია დაუკავშირდეს WiFi ცხელ წერტილს ან WiFi როუტერს, რომელიც ბევრ სახლს აქვს, მათ შორის ჩემსას.

საკმაოდ ტექნიკური თვალსაზრისით, ახალ WiFi მარშრუტიზატორებს აქვთ ორი გამტარობა, 2.4GHz და 5.0GHz. (იხილეთ სურათი ჩემი როუტერისთვის) მე მსურს ვიფიქრო მათზე, როგორც განსხვავება AM და FM რადიოს შორის. (გახსოვთ ესენი?)

ESP8266– ის შეზღუდვა ის არის, რომ ისინი იყენებენ მხოლოდ 2.4 GHz გამტარობას.

უფრო ტექნიკური პერსონალი, WiFi– თან დაკავშირებისას გჭირდებათ იდენტიფიკატორი, რომელსაც ეწოდება SSID. ეს ჰგავს ცალკეულ რადიოსადგურს, K Earth 101. და უსაფრთხოების მიზეზების გამო, თქვენ ასევე გჭირდებათ პაროლი.

ისე, ბევრი WiFi ორმაგი ბენდის მარშრუტიზატორები (2.4GHz და 5GHz) იყენებენ ერთსა და იმავე SSID- ს ორივე ზოლისთვის.

ყოველ შემთხვევაში რაიმე მიზეზის გამო, მე ვერ შევძელი ESP-03- ის დაკავშირება ჩემს როუტერთან. როგორც ჩანს, მახსენდება სხვა ადამიანები, რომლებსაც მსგავსი პრობლემები ჰქონდათ.

დედააზრი: მე დავაყენე სხვა როუტერი, რომელსაც ჰქონდა ცალკე SSID- ები 2.4 და 5 GHz დიაპაზონისთვის, მაგალითად, "mtslink24" და "mtslink50" და შეძლო ინტერნეტში საუბარი. (იხილეთ სურათი)

გაფრთხილება: თუ თქვენ გაქვთ ორმაგი ბენდიანი როუტერი ერთსა და იმავე SSID– ით ორივე ზოლზე, ის შეიძლება არ იმუშაოს ESP8266– ით.

ნაბიჯი 3: ბოლო პრობლემის მოგვარება

ბოლო პრობლემის მოგვარება
ბოლო პრობლემის მოგვარება

რასაც ვხედავდი ის იყო, რომ მე მაინც ვერ შევძელი დაკავშირება NTP სერვერთან. მე აღმოვაჩინე სხვა ესკიზი იმის დასადგენად, შევძლებდი თუ არა ინტერნეტის გამოყენებას და ეს მუშაობდა, ამიტომ მომდევნო პრობლემა, როგორც ჩანს, დაკავშირებულია NTP სერვერთან.

ჩემს თავდაპირველ ესკიზში, მე გამოვიყენე IP მისამართი NTP სერვერთან დასაკავშირებლად:

tf.nist.gov/tf-cgi/servers.cgi

ასე რომ, მე შევეცადე რამდენიმე IP მისამართები Boulder და FT. Collins, რომლებიც საკმაოდ ახლოს არიან იქ, სადაც მე ვარ. არცერთი მათგანი არ მუშაობდა. თამაშობდნენ ზოგი და რეალურად მიიღეს გლობალური ესკიზი სამუშაოდ, მაგრამ ის მხოლოდ ხუთჯერ შეიძლება ჩაკეტილი იყოს. ჩაატარეთ კიდევ რამდენიმე გამოკვლევა და იპოვეთ რაღაც, რასაც ეწოდება pool.ntp.org. როგორც ჩანს, რას აკეთებს ის ბრუნავს რამოდენიმე IP მისამართის საშუალებით, ასე რომ არცერთი მისამართი არ არის გადატვირთული და ყველა მათგანი აქტიური უნდა იყოს.

მე ნამდვილად არ მესმის ეს WiFi პროგრამირება ასე კარგად, მაგრამ მოვახერხე მაგალითის პოვნა, რომ შემეძლო ჩემი ესკიზის ადაპტირება და მუშაობა. იიპი!

ნაბიჯი 4: არდუინოს ესკიზი

არდუინოს ესკიზი
არდუინოს ესკიზი

ერთვის ჩემი ესკიზი, Special.ino

აქ არის რამოდენიმე კომენტარი ამის შესახებ:

ეს არის სადაც თქვენ აყენებთ საკუთარ SSID- ს და პაროლს. (ეს უნდა იყოს 2.4 GHz.)

char ssid = "YourSSID"; // ქსელის SSID (სახელი)

char pass = "თქვენი SSID პაროლი"; // ქსელის პაროლი

Pool.ntp.org სერვერის სიის გამოყენებით.

IPAddress timeServerIP; // time.nist.gov NTP სერვერის მისამართი

const char* ntpServerName = "pool.ntp.org";

// მიიღეთ შემთხვევითი სერვერი აუზიდან WiFi.hostByName (ntpServerName, timeServerIP);

ორი DST ფუნქცია:

void findChangeDates (); // იპოვეთ გაზაფხულის/შემოდგომის ცვლილების თარიღები

bool IsDST (); // შეამოწმეთ არის თუ არა DST

findChangeDates (); იღებს მიმდინარე წელს და ადგენს რა დღეებია მარტში და ნოემბერში გადართვის თარიღად

bool IsDST (); განსაზღვრავს მიმდინარე დღე არის DST თუ არა

void digitalClockDisplay ()

სამწუხაროდ, ჩემი ძველი ტვინი ამას ვეღარ ხვდება. რასაც ვფიქრობ, ეს არის გამორთვა წამების ჩვენება დილის 9 საათის შემდეგ. და აბრუნებს მათ დილის 5 საათზე მე ძალიან მაღიზიანებს საათს შევხედე, როცა საწოლში ვარ და ვხედავ, რომ წამები მიდის. მაგრამ როდესაც დილით ვდგები, მომწონს წამების დანახვა, რათა შემიძლია 'დრო' გავასწორო ჩემი წუწუნი.

ნაბიჯი 5: პროგრამირება ESP-03 და დასკვნები

ESP-03 და დასკვნების დაპროგრამება
ESP-03 და დასკვნების დაპროგრამება

მე ამჟამად ვიყენებ Arduino ვერსიას 1.8.12.

ESP8266 პერსონალის დაყენების ყველაზე მარტივი გზა ჩემთვის არის Board Manager– ის გამოყენება ამ მეთოდით:

github.com/esp8266/Arduino#installing-with…

ინსტალაციის შემდეგ, დაფის არჩევისას, მე ვირჩევ "Generic ESP8266 მოდულს".

გაფრთხილება: ჩემს კომპიუტერზე არის "Generic ESP8266 მოდულის" ორი ვერსია. ერთი კატეგორიის "ESP8266 დაფები" მუშაობს, ერთი Sparkfun– ის ქვეშ არა.

ისე, მე ზარმაცი ვარ. რაც მე რეალურად გავაკეთე, ავიღე ESP-03 და დავპროგრამე ის ჩემს შეცვლილ ESP ადაპტერში:

www.instructables.com/id/2020-ESP8266/

რისი გაკეთებაც შემეძლო, შემეცვალა ჩემი IP საათი 2 PCB ამ სქემატური სქემის მიხედვით, რამოდენიმე მხტუნავის დამატებით.

გარდა ამისა, მე შევცვალე CP2102 USB ადაპტერი, რათა RTS დაკავშირებული იყოს GND– ის გვერდით.

ამ ცვლილებებით, ეს იგივეა, რაც ჩვეულებრივი Arduino ესკიზის ჩატვირთვა ღილაკების დაჭერის გარეშე.

დასკვნები: მე მომწონს ჩემი IP საათი. ის აკმაყოფილებს ჩემს ყველა კრიტერიუმს. მიუხედავად იმისა, რაც სურათზე ჩანს, LED- ები წითელი არ არის თეთრი, ასე რომ არ არის ლურჯი.

გირჩევთ: