Სარჩევი:

ტალღა და ამინდის საათი: 9 ნაბიჯი (სურათებით)
ტალღა და ამინდის საათი: 9 ნაბიჯი (სურათებით)

ვიდეო: ტალღა და ამინდის საათი: 9 ნაბიჯი (სურათებით)

ვიდეო: ტალღა და ამინდის საათი: 9 ნაბიჯი (სურათებით)
ვიდეო: ძალიან საშიში კინო 4 2024, ნოემბერი
Anonim
ტალღა და ამინდის საათი
ტალღა და ამინდის საათი

მიუხედავად იმისა, რომ თქვენ შეგიძლიათ შეიძინოთ ანალოგური ტალღის საათები, რომლებსაც აქვთ ერთი ხელი, რომელიც მიუთითებს ტალღა მაღალია თუ დაბალი ან სადღაც შუაში, მე ის მინდოდა, რაც მეუბნებოდა რა დროს იქნება დაბალი ტალღა. მინდოდა ისეთი რამ, რისი ნახვაც შემეძლო სწრაფად ჩართვის, ღილაკების დაჭერის ან ლოდინის გარეშე. და მინდოდა რაღაც დიდი ბატარეით. მე გამოვიყენე TTGO T5 დაფა, რომელიც არის ESP32 დაფაზე დაფარული 2.13 ელექტრონული ქაღალდის ჩვენებით, რომელიც დაკავშირებულია TTL5110 ჩიპთან. NOAA და ამინდის მონაცემები OpenWeatherMap– დან, აჩვენებს მონაცემებს ელექტრონულ ქაღალდზე, შემდეგ ეუბნება TPL5110– ს, გამორთეთ T5.

განახლება (25 თებერვალი, 2020) ტალღის საათი მუშაობს უკვე ერთი წელია და ბატარეა 4.00 ვოლტზეა, ასე რომ საათს შეუძლია მრავალი წლის განმავლობაში იმუშაოს.

ნაბიჯი 1: აპარატურის სია

TTGO T5 დაფა 17 დოლარი

Adafruit TPL5110 დაფა 5 დოლარი

Adafruit Perma-Proto მეოთხედი ზომის დაფა (სურვილისამებრ) $ 0.71 (მინიმალური შეკვეთა $ 8.50)

Li-Poly ბატარეა 1200 mAh 10 $ (ან სხვა შესაბამისი კვების წყარო)

JST PH 2 პინიანი კაბელი-მამრობითი სათაური $ 0.75

220 uF კონდენსატორი

ნაბიჯი 2: ინსტრუმენტები

გასაყიდი რკინა

მავთულის სტრიპტიზატორები

Li-Po ბატარეის დამტენი, როგორიცაა ეს.

ნაბიჯი 3: აპარატურის შეკრება

აწყობა აპარატურა
აწყობა აპარატურა
აწყობა აპარატურა
აწყობა აპარატურა
აწყობა აპარატურა
აწყობა აპარატურა

აპარატურის აწყობა საკმაოდ მარტივია, როგორც სქემატური აჩვენებს. მე გამოვიყენე Adafruit Perma-proto დაფა, რომელიც ჩვეულებრივი პროტობორდის მსგავსია, გარდა იმისა, რომ იგი დაფარულია პურის დაფის მსგავსად, იგივე ელექტრული კავშირებით, როგორც პურის დაფა, რაც სასიამოვნოა. ვინაიდან მე მხოლოდ რამდენიმე კავშირი მჭირდებოდა და მინდოდა მთელი ასამბლეის მოთავსება პატარა ყუთში, ერთ -ერთი დაფა მეოთხედ დავჭრა დრემელის საჭრელი ბორბლით.

220 uF კონდენსატორი ძალიან მნიშვნელოვანია. ამის გარეშე TPL5110 არასოდეს ჩართავს T5- ს. ცოტა გაუგებარია რატომ, მაგრამ სხვა ადამიანებს, რომლებიც TPL5110- ს იყენებდნენ, იგივე პრობლემა ჰქონდათ. იქნებ ESP32 უფრო მეტ დენს იწყებს გაშვებისას, ვიდრე TTL5110 შეუძლია უზრუნველყოს?

ნუ შეაერთებ ბატარეას. გამოიყენეთ JST-PH კაბელი, ასე რომ თქვენ შეგიძლიათ გათიშოთ ბატარეა მის დასატენად. შეიძლება არსებობდეს გზა, რომ დატენოთ ბატარეა T5– დან TPL5110– ით, თუ TPL5110 არის „ჩართული“, მაგრამ მე არ შემიძლია ამ ტექნიკის გარანტია.

მე გავაკეთე ხის ყუთი, როგორც დანართი, მაგრამ ყველაფერი, რაც ინტერიერის მინიმალური ზომებით არის 1.5 "x 2.75" x 1 "იმუშავებდა.

ნაბიჯი 4: დაარეგულირეთ დრო

TPL5110 დაფაზე არის მორთული პოტენომეტრი, რომელიც ადგენს დროის ინტერვალს, როდესაც TPL5110 იღვიძებს. გამოიყენეთ პატარა ხრახნიანი მობრუნება ის საათის ისრის საწინააღმდეგოდ. ჩემს დაფაზე, ამან დააწესა ინტერვალი 145 წუთზე, რაც რეალურად აღემატება განსაზღვრულ 120 წუთს, მაგრამ ის მუშაობს და თანმიმდევრულია და დაზოგავს კიდევ უფრო მეტ ენერგიას, ვიდრე ყოველ 120 წუთში გაღვიძება, ამიტომ გამოვიყენე. თქვენ არ გჭირდებათ ზუსტად იცოდეთ ინტერვალი, რადგან მიზანი არის მონაცემების გადმოტვირთვა დღეში ერთხელ, დაახლოებით დილის 4 საათზე. თქვენ შეგიძლიათ მიუთითოთ ინტერვალი (მაგალითად, 145 წუთი) და გაღვიძების დრო (მაგ., დილის 4 საათი) env_config.h.

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

ნაბიჯი 5: პროგრამული უზრუნველყოფა

თქვენ დაგჭირდებათ Arduino IDE ESP32 პაკეტით. IDE- ში დააყენეთ დაფა "ESP32 Dev Module".

ესკიზი ხელმისაწვდომია https://github.com/jasonful/Tides და მოითხოვს 3 ბიბლიოთეკას:

  1. "ESP8266 ამინდის სადგური", ხელმისაწვდომია Arduino ბიბლიოთეკის მენეჯერისგან (ან აქ). თქვენ დაგჭირდებათ მხოლოდ ეს 6 ფაილი: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h და შეგიძლიათ წაშალოთ დანარჩენი.
  2. "Json Streaming Parser" ხელმისაწვდომია Arduino ბიბლიოთეკის მენეჯერისგან (ან აქ)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo მიუხედავად იმისა, რომ კოდი არ არის შეფუთული როგორც ნამდვილი ბიბლიოთეკა, შეგიძლიათ უბრალოდ დააკოპიროთ იგი თქვენი ბიბლიოთეკების დირექტორიაში და შეიტანოთ ის

ნაბიჯი 6: პროგრამული უზრუნველყოფის კონფიგურაცია

არსებობს რამდენიმე პარამეტრი, რომლის დაყენებაც მოგიწევთ (და რისი დაყენებაც გსურთ) env_config.h ფაილში, მათ შორის:

  • WiFi SSID და პაროლი
  • NOAA სადგურის ID (სხვა სიტყვებით, სად ხარ)
  • OpenWeatherMap AppID, რომლის რეგისტრაციაც დაგჭირდებათ (ადვილი და უფასოა)
  • OpenWeatherMap საიდან (ისევ სად ხარ)
  • CONFIG_USE_TPL5110, რომელიც საშუალებას გაძლევთ გამოიყენოთ T5 TPL5110– ის გარეშე. ამის ნაცვლად, პროგრამა შევა ღრმა ძილის რეჟიმში. T5 დაფა ღრმა ძილში დაახლოებით 8 მილიონს იზიდავს, ასე რომ, მე მხოლოდ ველოდები, რომ ბატარეა რამდენიმე დღე ძლებს.

ნაბიჯი 7: როგორ მუშაობს პროგრამული უზრუნველყოფა

(თუ არ გაინტერესებთ შეგიძლიათ გამოტოვოთ ეს ნაწილი.)

მიზანია გაიღვიძოს დღეში ერთხელ, მაგრამ ვინაიდან TPL5110– ის მაქსიმალური ინტერვალი მხოლოდ 2 საათია, T5 უფრო ხშირად უნდა გაიღვიძოს. ასე რომ, მას შემდეგ რაც გადმოტვირთავს ტალღისა და ამინდის მონაცემებს, იგი ითვლის რამდენია ამ 2 საათიანი ინტერვალიდან დღეიდან დილის 4:00 საათამდე. ეს ოდნავ გართულებულია იმით, რომ TPL5110 მთლიანად წყვეტს ენერგიას T5- ს, რაც კარგია ბატარეისთვის, მაგრამ ეს ნიშნავს რომ ჩვენ ვკარგავთ ოპერატიული მეხსიერება და რეალურ დროში საათი. ეს იგივეა, რომ ყოველ დილით ვიღვიძებ ამნეზიით. ასე რომ, იმის გასარკვევად, თუ რა დროა ახლა, ის ამოიღებს მას NOAA- ს HTTP სათაურიდან. და დაიმახსოვრე რამდენი 2 საათიანი ინტერვალია დარჩენილი, ის წერს, რომ ეწინააღმდეგება არასტაბილურ შენახვას (ფლეშს). ყოველ ჯერზე, როდესაც ის იღვიძებს, ამოწმებს ამ მრიცხველს, ამცირებს მას, ინახავს მას და თუ ის ნულზე მეტია, მაშინვე აგზავნის სიგნალს TPL51110 ("შესრულებულია") და ეუბნება რომ დაიძინოს. როდესაც მრიცხველი ნულს მიაღწევს, კოდი გადმოწერს ახალ მონაცემებს და ხელახლა ითვლის და აღადგენს მრიცხველს.

ნაბიჯი 8: გაუშვით

გაუშვით ის
გაუშვით ის

დარწმუნდით, რომ გადართვა T5– ის მარცხენა მხარეს არის ზემოთ (ჩართული), ატვირთეთ ესკიზი T5– ზე და რამდენიმე წამში ეკრანი განახლდება ტალღისა და ამინდის შესახებ.

თუ გჭირდებათ პროგრამული უზრუნველყოფის გამართვა, შეცვალეთ "#define DEBUG 0" Tides.ino– ს ზედა ნაწილში „#define DEBUG 1“- ით. ეს ჩართავს გამოსწორების სერიულ გამოშვებას და ასევე აჩვენებს ელექტრონული ქაღალდის ბოლოში ახალი მონაცემების გადმოტვირთვამდე დარჩენილი გადატვირთვების რაოდენობას და მონაცემების ბოლო გადმოტვირთვის დროს.

ნაბიჯი 9: მომავალი მიმართულებები

  1. TPL5110- ის გამოყენება ელექტრონული ქაღალდის დისპლეით არის შესანიშნავი საშუალება ნებისმიერი მონაცემის ჩვენებისათვის, რომელიც ხშირად არ იცვლება, ბატარეის შესანიშნავი ხანგრძლივობით.
  2. როდესაც ამას ვგეგმავდი, ვიფიქრე TrigBoard– ის გამოყენებაზე, რომელიც არის ESP8266 დაფა, TPL5111 ბორტზე. ამას დასჭირდება ცალკეული ელექტრონული ქაღალდის ჩვენება და ელექტრონული ქაღალდის დრაივერის დაფა, ესა თუ ის. ან მძღოლი+დაფის კომბინაცია, როგორიცაა ეს ან ეს. კოდის ESP8266- ში გადასატანად, მე ვფიქრობ, რომ SSL კოდს სერთიფიკატების ნაცვლად მოუწევს თითის ანაბეჭდების გამოყენება, ხოლო არასტაბილურ შენახვის კოდს დასჭირდება EEPROM ან RTC მეხსიერების გამოყენება.
  3. ახლახანს გავიგე, რომ Lolin32 დაფა საკმაოდ ღირსეულია ღრმა ძილის რეჟიმში: დაახლოებით 100uA. არც ისე კარგი, როგორც TPL51110 დაფა (20uA ადაფრუტის მიხედვით), მაგრამ საკმარისად კარგი.
  4. OpenWeatherMap აბრუნებს უამრავ ამინდის მონაცემს, ვიდრე მე ვაჩვენებ. მათ შორის ხატის ID, რომელიც მოითხოვს სადმე მონოქრომული ხატების პოვნას.

გირჩევთ: