Სარჩევი:

დაკავშირებული საწოლის საათი ბავშვებისთვის: 12 ნაბიჯი
დაკავშირებული საწოლის საათი ბავშვებისთვის: 12 ნაბიჯი

ვიდეო: დაკავშირებული საწოლის საათი ბავშვებისთვის: 12 ნაბიჯი

ვიდეო: დაკავშირებული საწოლის საათი ბავშვებისთვის: 12 ნაბიჯი
ვიდეო: რა ხდება კანონიერი ქურდების საკნებში 2024, ივლისი
Anonim
დაკავშირებული საწოლის საათი ბავშვებისთვის
დაკავშირებული საწოლის საათი ბავშვებისთვის

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

ის ასევე ავტომატურად მოერგება დღისით და შეაგროვებს ინფორმაციას დღესასწაულების შესახებ სადღესასწაულო კალენდარიდან.

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

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

სქემატური, პროგრამული უზრუნველყოფა და სამგანზომილებიანი დიზაინი ღიაა და ხელმისაწვდომია ბმულებში. მოგერიდებათ წვლილი შეიტანოთ ნებისმიერ იდეაში ან გაუმჯობესებაში აქ ან github– ზე.

მოწყობილობა ემყარება ESP-32 მოდულს, ის მარტივად შეიძლება მოერგოს ESP-23 დაფუძნებულ სხვადასხვა პლატფორმებს და ალბათ ასევე ESP8266 და Arduino- თან თავსებადი სხვა მოწყობილობებს, რომლებსაც შეუძლიათ უზრუნველყონ კავშირი.

ნაბიჯი 1: კომპონენტები

კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები
კომპონენტები

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

Ელექტრონული ნაწილები:

  • ESP-32 დაფუძნებული მოდული. თქვენ შეგიძლიათ გამოიყენოთ Adafruit's Huzzah-32 ან ნებისმიერი ESP-32 მოდული, რომელიც მხარს უჭერს Arduino პროგრამირების გარემოს. მე გამოვიყენე მოდული do-it– დან, რომელიც ხელმისაწვდომია Amazon.it– დან ძალიან გონივრულ ფასად (სამწუხაროდ ადაფრუტის განაწილება იტალიაში არ არის ძალიან კარგი).
  • PIR სენსორი (აქ არის ის, რაც მე გამოვიყენე, მაგრამ თქვენ შეგიძლიათ მარტივად იპოვოთ ისინი ინტერნეტში ან მწარმოებლების ადგილობრივ მაღაზიებში). ჩემი სენსორი მოითხოვს 5V ენერგიას და გამოიმუშავებს 3.3V გამომავალ სიგნალს, რომელიც თავსებადია ასევე 5V მოწყობილობებთან. შეამოწმეთ, რომ თქვენს სენსორებს აქვთ ერთი და იგივე სპეციფიკაცია ან მოერგეთ დიზაინს შესაბამისად.
  • I2C დაფარული ეკრანი. მე გამოვიყენე მონოქრომული 128x64 პიქსელიანი დისპლეი და ის თავსებადია ადაფრუტის საკუთარ მოდელთან, რომელიც მოითხოვს ნაკლებ კავშირებს მუშაობისთვის (სტანდარტულად კონფიგურირებულია I2C ინტერფეისზე). თუ თქვენ იყენებთ სხვა ეკრანს, შეიძლება დაგჭირდეთ პროგრამული უზრუნველყოფის შეცვლა, მაგრამ გრაფიკა შესრულებულია Adafruit– ის შესანიშნავი GFX ბიბლიოთეკის გამოყენებით, ამიტომ თავსებადი ეკრანის გადატანა არ უნდა იყოს ძალიან რთული.
  • Jumper კაბელები (მე ვარ ძალიან ცუდად soldering, ამიტომ მირჩევნია არ solder პირდაპირ ქინძისთავები).
  • 5V კვების ბლოკი. კონექტორის ტიპი არ არის მნიშვნელოვანი, რადგან ჩვენ ვაპირებთ მას გათიშვას და პირდაპირ მავთულის გამოყენებას. თუ გსურთ უბრალოდ ჩართოთ ESP-32 მოდული, მაგნიტზე დამყარების გარეშე, შეგიძლიათ გამოიყენოთ USB მიკრო დენის ადაპტერი.

სამონტაჟო კომპონენტები:

  • 3D დაბეჭდილი ქეისი (თქვენ შეგიძლიათ გაეცნოთ ბმულს დიზაინში სამეურვეო პროგრამაში, მოგერიდებათ მომწერეთ თუ გსურთ ბმული ორიგინალური დიზაინის Thinkercad– ზე მის შესაცვლელად)
  • მაგნიტები. ისინი გამოიყენება მოწყობილობის სამონტაჟო ფირფიტაზე დამაგრების შესანარჩუნებლად და ასევე მისთვის ენერგიის უზრუნველსაყოფად. მე ავირჩიე ეს გამოსავალი, რომ მქონდეს ისეთი რამ, რისი ამოღებაც მარტივად შემიძლია შენარჩუნებისთვის (და ხარვეზების გასასწორებლად) და რომლის ადვილად გადატვირთვაც შესაძლებელია მისი კედელთან მოწყვეტით და მიმაგრებით.
  • ხის/კედლის ხრახნები

ინსტრუმენტები:

  • გასაყიდი რკინა
  • Screwdriver
  • კომპიუტერი Arduino IDE დაყენებული და ESP-32 Arduino Core განვითარების გარემო კონფიგურირებული, როგორც ეს აღწერილია ამ გვერდზე.

ნაბიჯი 2: დააყენეთ Google Calendar

დააყენეთ Google Calendar
დააყენეთ Google Calendar
დააყენეთ Google Calendar
დააყენეთ Google Calendar
დააყენეთ Google Calendar
დააყენეთ Google Calendar

აქ მე ვაპირებ ვაჩვენო როგორ გამოვიყენოთ Google Calendar კალენდრის შესაქმნელად, რომელსაც გამოიყენებს თქვენი მოწყობილობა, თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი კალენდარული სერვისი, რომელიც გაძლევთ საშუალებას მიიღოთ კალენდარი iCal ფორმატში. ველის სახელები და პარამეტრები, რა თქმა უნდა, განსხვავებული იქნება, მაგრამ სანამ შეძლებთ თქვენი კალენდრის ექსპორტს iCal ფორმატში ფიქსირებული https URL– ით, ის უნდა იმუშაოს თქვენს საათთან.

Google Calendar– ზე წვდომისთვის გჭირდებათ Google ანგარიში.

შემდეგ შეგიძლიათ ეწვიოთ calendar.google.com.

მითითებები უნდა შესრულდეს ბრაუზერის გამოყენებით თქვენს კომპიუტერში/Mac- ზე. თქვენ უნდა შეგეძლოთ იგივე ოპერაციების შესრულება ასევე Google– ის მობილური აპლიკაციიდან.

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

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

დროის კონფიგურაციისთვის საჭიროა ჩასვათ ასო: "W" გაღვიძების ნაგულისხმევი დროისათვის, "H" კვირის ბოლოს და არდადეგების გაღვიძების დრო და "B" ძილის დრო, შემდეგ მძიმით და დრო 24HR ფორმატში (ვწუხვარ ჩემი ამერიკელი მეგობრებისთვის). ცალკეულ ხაზებზე უნდა დაემატოს მრავალი პარამეტრი.

Მაგალითად:

W: 08:00

H: 08:30

B: 22:00

ნიშნავს იმას, რომ გაღვიძების დრო ჩვეულებრივ დილის 8 საათია და დილის 8:30 საათი ჩვენთვის/დასვენებისთვის და ძილის დრო არის საღამოს 10 საათი.

ამ მომენტში შეგიძლიათ დააწკაპუნოთ "კალენდრის შექმნაზე", რომ დაამატოთ ის კალენდრების სიაში, რომელსაც მართავს Google Calendar.

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

თქვენ უნდა გადახვიდეთ პარამეტრების გვერდზე (ყოველ შემთხვევაში, თუ თქვენ არ გაქვთ 4k ეკრანი) და მოძებნოთ ველი "საიდუმლო მისამართი iCal ფორმატში". დააკოპირეთ და შეინახეთ ტექსტი (ის ბუნდოვანია ჩემს ეკრანის სურათში), რადგან დაგჭირდებათ თქვენი მოწყობილობის კონფიგურაციისთვის.

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

კვლავ შეარჩიეთ "+" ხატი "მეგობრის კალენდრის დამატება" გვერდით და ამჯერად აირჩიეთ "დაათვალიერეთ საინტერესო კალენდრები".

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

გახსენით "პარამეტრების" გვერდი, ვერტიკალური წერტილების მენიუს გამოყენებით, როგორც ეს აღწერილია ჩვეულებრივი კალენდრისთვის და ამჯერად დააკოპირეთ და შეინახეთ URL "საჯარო მისამართი iCal ფორმატში" განყოფილებაში.

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

ამ ეტაპზე თქვენ გექნებათ ინფორმაცია, რომელიც გჭირდებათ მოწყობილობისთვის, რომ ჩამოტვირთოს თქვენი კალენდრები:

  • თქვენი ძირითადი საათის კალენდრის URL
  • დღესასწაულის კალენდრის URL

ნაბიჯი 3: შეაგროვეთ ინფორმაცია დროის ზონის შესახებ

შეაგროვეთ ინფორმაცია დროის ზონის შესახებ
შეაგროვეთ ინფორმაცია დროის ზონის შესახებ
შეაგროვეთ ინფორმაცია დროის ზონის შესახებ
შეაგროვეთ ინფორმაცია დროის ზონის შესახებ

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

დროის ზონები შეიძლება გამოითქვას სიმბოლოთა სტრიქონის გამოყენებით, რომელიც აღწერს მის გადაფარვას GMT– დან (გრინვიჩის დრო) და წესებს, რომლებიც გამოიყენება დღის დაზოგვის დროსა და ჩვეულებრივ დროს შორის გადასატანად. ამ ძაფის აგება არც ისე ადვილია, მაგრამ საბედნიეროდ ბატონი. პაველ გურენკომ გამოიყენა კარგი ინსტრუმენტი, რომელიც საშუალებას გვაძლევს განვავითაროთ ეს სტრიქონი მხოლოდ ჩვენი დროის ზოლის სახელის მითითებით, რომელიც შეგიძლიათ ნახოთ https://www.pavelgurenko.com/2017/05/getting-posix-tz-strings-from- olson.html

დროის ზონის სახელები დამოკიდებულია კონტინენტზე/ქვეყანაზე/ქალაქზე, სადაც თქვენ მდებარეობს. ევროპაში, როგორც წესი, საკმარისია ევროპის დაზუსტება/, მრავალჯერადი დროის ზონის მქონე ქვეყნებისათვის საქმე შეიძლება ცოტა უფრო რთული იყოს, მაგრამ ეს ვიკიპედიის გვერდი https://en.wikipedia.org/wiki/List_of_tz_database_time_zones დაგეხმარებათ სწორი პოვნაში.

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

მაგალითად, სტრიქონი ჩემი დროის ზონისთვის (ევროპა/რომი) არის: ევროპა/რომი (CET-1CEST, M3.5.0, M10.5.0/3)

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

ნაბიჯი 4: თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება

თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება
თქვენი მოვლენების პერსონალური სურათების კონფიგურაცია და დამატება

ვინაიდან ჩვენ გვექნება გრაფიკული ჩვენება, რომელიც დაკავშირებულია ჩვენს საათთან, ჩვენ შეგვიძლია დავამატოთ გრაფიკა ჩვენს ღონისძიებებზე, ასე რომ ბავშვებს შეუძლიათ დაუყოვნებლივ გაიგონ რა არის დღის მთავარი საქმიანობა. სტანდარტული ხატები სკოლის დღეებისთვის, WE/დღესასწაულები და ძილის დრო ჩამონტაჟებულია კოდში (თქვენ შეგიძლიათ იპოვოთ ინსტრუქცია, თუ როგორ უნდა მოახდინოთ მათი მორგება github repo– ში), მაგრამ შეგიძლიათ დაამატოთ სურათები კონკრეტული ღონისძიებებისათვის.

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

მოწყობილობა მხარს უჭერს 48x48 პიქსელიან მონოქრომულ ბიტმაპებს. მას შეუძლია გადმოიწეროს ისინი Google Drive– დან, მაგრამ თქვენ მოგიწევთ ინდექსის ფაილის მიწოდება, რომელიც შეესაბამება მათ მოვლენებს თქვენი ღონისძიების აღწერილობაში.

შექმენით პერსონალური სურათები

უპირველეს ყოვლისა, თქვენ უნდა შექმნათ bitmaps, შეგიძლიათ გამოიყენოთ ნებისმიერი გრაფიკული აპლიკაცია, რამდენადაც თქვენ შეინახავთ მას როგორც არაკომპრესირებული Windows Bitmap (BMP) ფაილი. ფაილის ზომა უნდა იყოს 446 ბაიტი.

თუ თქვენ იყენებთ MS-Paint– ს, შეგიძლიათ შექმნათ ახალი სურათი და შეცვალოთ იგი 48x48 პიქსელამდე (იხილეთ ეკრანის პირველი სურათი).

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

როდესაც კმაყოფილი ხართ შედეგებით (მეორე ეკრანის ანაბეჭდი) შეგიძლიათ აირჩიოთ "შენახვა როგორც …" და შეარჩიოთ სურათის ფორმატი, როგორც მონოქრომული Windows bitmap ფაილი (მესამე ეკრანის სურათი).

ატვირთეთ სურათები Google Drive- ში და შეაგროვეთ ბმულები

მას შემდეგ რაც შექმნით ყველა საჭირო სურათს, შეგიძლიათ ატვირთოთ ისინი Google Drive– ში. მე გირჩევთ შექმნათ საქაღალდე ამ მიზნით.

სურათების ატვირთვის შემდეგ თქვენ უნდა მიიღოთ პირდაპირი გადმოსაწერი ბმულები მათთვის ამ მეთოდის გამოყენებით:

www.labnol.org/internet/direct-links-for-g…

ან ეს გვერდი გაზიარების ბმულების პირდაპირ გადმოსაყვანად:

sites.google.com/site/gdocs2direct/

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

:

თქვენ უნდა დაასრულოთ სია ახალი სიტყვის საკვანძო სიტყვით "დასასრული" (იხილეთ სკრინშოტი მეოთხე მაგალითისთვის).

ატვირთეთ ინდექსის ფაილი

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

სამწუხაროდ, Google Drive არ მოგცემთ საშუალებას გადმოწეროთ ფაილი, თუ ის შეცვალეთ Google Docs რედაქტორის გამოყენებით, ასე რომ თქვენ უნდა შეცვალოთ ტექსტური ფაილი თქვენს კომპიუტერში და ატვირთოთ იგი Google Drive– ში ყოველ ჯერზე, როდესაც გსურთ დაამატოთ ახალი სურათები ან შეცვალოთ რამე რა

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

პროგრამული უზრუნველყოფის ინსტალაცია
პროგრამული უზრუნველყოფის ინსტალაცია
პროგრამული უზრუნველყოფის ინსტალაცია
პროგრამული უზრუნველყოფის ინსტალაცია

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

დააინსტალირეთ Arduino IDE და ESP-32 მხარდაჭერა

თქვენ უნდა დააინსტალიროთ Arduino IDE, რომელიც შეგიძლიათ გადმოწეროთ Arduino– ს ოფიციალური ვებ – გვერდიდან.

შემდეგ თქვენ უნდა დააინსტალიროთ ESP-32 მხარდაჭერა github– ის მითითებების შესაბამისად.

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

ჩამოტვირთეთ ბიბლიოთეკები და კოდი

თქვენ უნდა დაამატოთ ბიბლიოთეკები, რომლებიც საჭიროა პროექტისათვის Arduino ბიბლიოთეკის მენეჯერის გამოყენებით.

Arduino IDE მთავარ მენიუში აირჩიეთ "ესკიზი / ბიბლიოთეკის ჩართვა / ბიბლიოთეკების მართვა …" (იხილეთ პირველი ეკრანის სურათი).

კოდის შესაქმნელად თქვენ უნდა მოძებნოთ და დააინსტალიროთ:

  • ადაფრუტის GFX ბიბლიოთეკა
  • ადაფრუტი SSD1306
  • RootCertificates

ბიბლიოთეკის დასაყენებლად უბრალოდ ჩაწერეთ მისი სახელი საძიებო ველში, დააჭირეთ Enter, შეარჩიეთ სიიდან სწორი ბიბლიოთეკა, ვერსიების სიიდან უახლესი ვერსია და აირჩიეთ "ინსტალაცია" (იხილეთ მეორე ეკრანის სურათი).

ჩამოტვირთეთ კოდი

მას შემდეგ რაც დააინსტალირებთ საჭირო ბიბლიოთეკებს შეგიძლიათ ჩამოტვირთოთ საწყისი კოდი ჩემი github საცავიდან.

თქვენ შეგიძლიათ უბრალოდ გახსნათ ფაილი ან დააკოპიროთ ის საქაღალდეში, სადაც ინახება თქვენი Arduino ესკიზები.

პროგრამული უზრუნველყოფა ჯერ კიდევ მიმდინარეობს, ასე რომ თავისუფლად გახსენით საკითხები github– ზე, თუ პრობლემები შეგექმნათ და თვალი ადევნეთ მას მომავალ განახლებებზე.

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

პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება

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

გაუშვით კონფიგურაციის ესკიზი

Arduino IDE– ში შეგიძლიათ აირჩიოთ „ფაილი / გახსენი…“და გადადით საქაღალდეში, სადაც შეინახავთ github– დან ჩამოტვირთულ კოდს.

შემდეგ თქვენ შეგიძლიათ გადაიტანოთ "KidsClockConfig" საქაღალდე და გახსნათ "KidsClockConfig.ino" ესკიზი (იხილეთ პირველი ეკრანის სურათი).

თქვენ უნდა დააკავშიროთ თქვენი ESP-32 დაფა USB კაბელის გამოყენებით, ეს ასევე გააძლიერებს მას.

თქვენი კომპიუტერი მას მიანიჭებს სერიულ პორტს, თქვენ უნდა აირჩიოთ იგი მარჯვენა პორტში Arduino IDE- ს "ინსტრუმენტები / პორტები" ქვემენიუში.

ამის შემდეგ თქვენ შეგიძლიათ აირჩიოთ "ატვირთვის" ღილაკი (ისარი მარჯვნივ მიმართულია) Arduino ინსტრუმენტთა პანელიდან, რათა შექმნათ და ჩამოტვირთოთ კოდი თქვენს მოდულზე.

ბოლო შეტყობინება გამომავალ ფანჯარაში (Arduino IDE ბოლოში) უნდა იყოს:

რთული გადატვირთვა RTS პინის საშუალებით…

თუ პროცესი წარმატებით დასრულდა, შეგიძლიათ გახსნათ ტერმინალის ფანჯარა კონფიგურაციის მონაცემების ჩასასმელად.

ტერმინალის გასახსნელად აირჩიეთ "ინსტრუმენტები / სერიული მონიტორი …" Arduino IDE მთავარ მენიუში, ეს გახსნის ახალ ფანჯარას, რომელიც საშუალებას მოგცემთ დაუკავშირდეთ მოწყობილობას სერიული საშუალებით (იგივე USB კაბელის გამოყენებით, რომელსაც იყენებდით კოდის გადმოსაწერად).

დააკონფიგურირეთ სერიული სიჩქარე 115200 baud (იხილეთ თანდართული ეკრანის სურათი) და დააჭირეთ ღილაკს "გაგზავნა".

მოწყობილობა მოგთხოვთ SSID (თქვენი wi-fi ქსელის სახელი). პარამეტრები ინახება მოწყობილობის შიგნით EEPROM (მუდმივი საცავი), თუ რამე უკვე შენახულია, თქვენ უბრალოდ უნდა დააჭიროთ გაგზავნას, რომ დარჩეს ისე, როგორც არის, წინააღმდეგ შემთხვევაში უბრალოდ დააკოპირეთ ან ჩაწერეთ ინფორმაცია ტექსტურ ყუთში და დააჭირეთ გაგზავნას.

თქვენ მოგეთხოვებათ:

  • SSID (იხილეთ სკრინშოტი)
  • wi-fi გასაღები (პაროლი)
  • კალენდრის საჯარო URL, რომელიც გამოიყენება მოვლენებისთვის (ის, რაც თქვენ შექმენით მე –2 ეტაპზე)
  • სადღესასწაულო კალენდრის URL (თქვენი ქვეყნისთვის/ადგილმდებარეობისთვის, შეგროვებული ნაბიჯი 2)
  • დროის ზონა მე –3 საფეხურზე მიღებული ფორმატით (მაგალითად, იტალიის დროის ზონა არის „CET-1CEST, M3.5.0, M10.5.0/3“ჩასმული ბრჭყალების გარეშე)
  • ინდექსის ფაილის URL (შეიქმნა მე –4 ნაბიჯში)

ბოლო ინფორმაციის ჩასმის შემდეგ თქვენ უნდა ნახოთ:

Პარამეტრები შენახულია.

დაბეჭდილია სერიულ კონსოლზე.

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

გაუშვით საბოლოო ესკიზი

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

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

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

ნაბიჯი 7: ბაზის ფირფიტა და ელექტრომომარაგება

ბაზის ფირფიტა და ელექტრომომარაგება
ბაზის ფირფიტა და ელექტრომომარაგება
ბაზის ფირფიტა და ელექტრომომარაგება
ბაზის ფირფიტა და ელექტრომომარაგება
ბაზის ფირფიტა და ელექტრომომარაგება
ბაზის ფირფიტა და ელექტრომომარაგება

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

მე გადავწყვიტე მაგნიტები გამოვიყენო, რათა საათი მიმაგრებულიყო საწოლზე მიმაგრებულ პატარა საყრდენ ფირფიტაზე. ვინაიდან მაგნიტები ასევე ატარებენ ელექტროენერგიას, გადავწყვიტე მათი დაკავშირება კვების ბლოკთან. ამ გზით საათის მოშორება და ხელახლა მიმაგრება თეფშზე ასევე გადატვირთავს მას. თქვენ შეგიძლიათ იპოვოთ 3D დიზაინი საათის დანართისთვის Thinkercad– ზე.

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

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

მოწყობილობის ენერგიის მოხმარება საკმაოდ დაბალია, ასე რომ 500mA დენის წყაროს გააკეთებს. ფრთხილად იყავით, რა მაგნიტს უკავშირებთ კვების ბლოკის დადებით და უარყოფით მავთულს (კარგი იდეაა მარკერით დაწეროთ "+" და "-", რომ არ შეცვალოთ ისინი).

ნაბიჯი 8: მთავარი საქმე

მთავარი საქმე
მთავარი საქმე
მთავარი საქმე
მთავარი საქმე
მთავარი საქმე
მთავარი საქმე

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

ნივთების გასამარტივებლად მე დავჭრა რამდენიმე ჯუმბერის კაბელი (დაფას და სხვა კომპონენტებს აქვს 2.54 მმ ქინძისთავები) და გავაკეთე ორი კაბელი მრავალჯერადი გამოსვლით (იხ. პირველი სურათი). ერთი 3 გამოსასვლელით 5V მიწოდებისთვის და ერთი 4 -ით მიწისთვის.

თქვენ უნდა აიღოთ მავთული ჯუმბერის კონექტორის გარეშე და შეაერთოთ მაგნიტზე, მაგრამ ჯერ ორი რამ უნდა გააკეთოთ:

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

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

ნაბიჯი 9: კომპონენტების დამონტაჟება ქეისის შიგნით

სამონტაჟო კომპონენტები ქეისის შიგნით
სამონტაჟო კომპონენტები ქეისის შიგნით
სამონტაჟო კომპონენტები კორპუსის შიგნით
სამონტაჟო კომპონენტები კორპუსის შიგნით
სამონტაჟო კომპონენტები ქეისის შიგნით
სამონტაჟო კომპონენტები ქეისის შიგნით

3D დაბეჭდილ კორპუსს აქვს ორი სამონტაჟო ხვრელი, ერთი (თავზე) PIR სენსორისთვის და ერთი ქვედა ეკრანის ქვემოთ.

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

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

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

ნაბიჯი 10: გაყვანილობა და ტესტირება

გაყვანილობა და ტესტირება
გაყვანილობა და ტესტირება
გაყვანილობა და ტესტირება
გაყვანილობა და ტესტირება
გაყვანილობა და ტესტირება
გაყვანილობა და ტესტირება

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

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

პირველ რიგში, თქვენ უნდა დაუკავშიროთ ESP-32 დაფის I2C ქინძისთავები (SCL და SDA) ეკრანს.

დოიტის დაფაზე, ეს არის ქინძისთავები, სახელწოდებით GPIO21 და GPIO22, პოზიცია და ეტიკეტები შეიძლება შეიცვალოს სხვა ESP-32 დაფაზე, მაგრამ თქვენ მარტივად უნდა იპოვოთ დოკუმენტაციაში ნახსენები SCL და SDA.

შემდეგ თქვენ უნდა დააკავშიროთ PIR– ის გამომავალი პინი (ჩემი სენსორის შუა პინი, მაგრამ, კიდევ ერთხელ, შეამოწმეთ დოკუმენტაცია, თუ იყენებთ სხვას) GPIO12– თან.

ამ დროს თქვენ მოგიწევთ 5V დენის წყაროს (წითელი კაბელი) დაკავშირება დაფის VIN ქინძისთავებთან, PIR და ეკრანისა და მიწის კაბელით (შავი) დაფის 2 დაფაზე (ერთი საკმარისი უნდა იყოს, მაგრამ მე მირჩევნია გამოიყენეთ ორივე იმისათვის, რომ დაფა უფრო მჭიდროდ იყოს დაკავშირებული საქმის შიგნით), PIR და ეკრანი

შეიძლება ცოტა არეული ჩანდეს, მაგრამ თქვენ უნდა შეძლოთ ყველაფრის სრიალი შიგნით, დატოვეთ ESP32 მოდული თავზე და შემდეგ მიამაგრეთ საქმე ძირითად ფირფიტაზე.

ეკრანი უნდა ჩართოთ ერთ წამზე ნაკლებ დროში, სადაც ნაჩვენებია შეტყობინება: "დაკავშირება" და თქვენი SSID.

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

ნაბიჯი 11: ჩანაწერების დამატება კალენდარში

კალენდარში ჩანაწერების დამატება
კალენდარში ჩანაწერების დამატება

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

თქვენ შეგიძლიათ უბრალოდ გამოიყენოთ კალენდრის ვებსაიტი ან ტელეფონის აპლიკაცია.

დააჭირეთ დიდ "+" ხატულას და დააკონფიგურირეთ თქვენი ღონისძიება.

მნიშვნელოვანი რამ, რაც უნდა შეამჩნიოთ (იხილეთ სკრინშოტი) არის:

- დარწმუნდით, რომ თქვენ სწორად შეარჩიეთ კალენდარი, Google იყენებს თქვენს მთავარ კალენდარს, როგორც ნაგულისხმევი, თქვენ მოგიწევთ მისი შეცვლა

- ღონისძიების დაწყების დრო ასევე არის გაღვიძების დრო, ამიტომ დრო, როდესაც ეკრანი ღამის რეჟიმიდან გადადის ღონისძიებაზე

- მოწყობილობა მხარს უჭერს მხოლოდ ერთ მოვლენას, არა განმეორებით/პერიოდულს

- ტექსტი სათაურის ველში (32 სიმბოლომდე) ნაჩვენები იქნება ხატის ქვეშ

- აღწერილობის ველში შეგიძლიათ დაამატოთ ერთ – ერთი სურათის სახელი, რომელიც დააკონფიგურირეთ მე –4 ნაბიჯში, ან დატოვოთ ცარიელი ნაგულისხმევი ხატის გამოსაყენებლად

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

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

ნაბიჯი 12: დასკვნა

დასკვნა
დასკვნა

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

მე ვგეგმავ ამის დოკუმენტირებას ჩემს ბლოგზე მალე და დავამატებ კიდევ რამდენიმე ტექნიკურ დეტალს ამ აგების ინსტრუქციასთან შედარებით.

თუ თქვენ გაქვთ პრობლემები მის მშენებლობაში, მოგერიდებათ გამოიყენოთ კომენტარები აქ. თუ პროგრამული უზრუნველყოფის პრობლემა გაქვთ, გთხოვთ გამოიყენოთ github repo.

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

გირჩევთ: