Სარჩევი:

ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით: 13 ნაბიჯი (სურათებით)
ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით: 13 ნაბიჯი (სურათებით)

ვიდეო: ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით: 13 ნაბიჯი (სურათებით)

ვიდეო: ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით: 13 ნაბიჯი (სურათებით)
ვიდეო: ამიკო ჩოხარაძე - ამინდის პროგნოზი 2024, ივლისი
Anonim
ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით
ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით
ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით
ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით

ირგვლივ გატეხილი მაღვიძარა მქონდა და გამოვიდა იდეა გადამეცვალა საათის და ამინდის პროგნოზის სადგურად.

ამ პროექტისთვის დაგჭირდებათ:

  • ძველი წრიული მაღვიძარა
  • არდუინო ნანო
  • BME280 სენსორის მოდული (ტემპერატურა, ტენიანობა, წნევა)
  • LCD ეკრანის მოდული Nokia 5110– დან
  • DS1307 RTC საათი
  • TP4056 ლითიუმის ბატარეის დამტენი
  • ძველი Li-ion ბატარეა ამოღებულია მობილური ტელეფონიდან
  • მცირე 3.7 ვ - დან 5 ვ - მდე გამაძლიერებელი მოდული
  • სინათლის დამოკიდებული რეზისტორი (LDR - სინათლის მრიცხველი)
  • ბუზერი (გამოყენებული ძველი კომპიუტერისგან გამოხსნილი)
  • 3 ღილაკი
  • რამოდენიმე რეზისტორი (2x10k, 270 ohm) და ტრანზისტორი (2N2222A ან მსგავსი)
  • ზოგიერთი ფართო შემცირება მილის
  • ჯართი PCB გამოიყენოს როგორც წინა ფირფიტა გაფორმება
  • მიკრო USB გაფართოების კაბელი (ორივე ქალი და მამაკაცი არის მიკრო USB)
  • 2x8 სმ პროტოტიპის დაფა და რამდენიმე მავთული

ნაბიჯი 1: დაიშალეთ ყველაფერი

დაშალე ყველაფერი
დაშალე ყველაფერი

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

ნაბიჯი 2: ღილაკები ციფრული პარამეტრებისთვის

ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის
ღილაკები ციფრული პარამეტრებისთვის

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

ალუმინის ჯართის გამოყენებით მე ამოვიღე გადახურვა ეტიკეტის შესაქმნელად. ეტიკეტების ასოები შეიქმნა ასო-მუშტებისა და შავი მარკერის გამოყენებით.

ნაბიჯი 3: კონდენსატორი ძრავისთვის

კონდენსატორი ძრავისთვის
კონდენსატორი ძრავისთვის

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

ნაბიჯი 4: ახალი სახე საათისათვის

ახალი სახე საათისათვის
ახალი სახე საათისათვის
ახალი სახე საათისათვის
ახალი სახე საათისათვის

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

ნაბიჯი 5: ციფრული ჩვენება ძველი მობილური ტელეფონიდან

ციფრული ჩვენება ძველი მობილური ტელეფონიდან
ციფრული ჩვენება ძველი მობილური ტელეფონიდან
ციფრული ჩვენება ძველი მობილური ტელეფონიდან
ციფრული ჩვენება ძველი მობილური ტელეფონიდან

ამ პროექტისთვის გადავწყვიტე გამოვიყენო LCD ეკრანი ძველი Nokia 5110 მობილური ტელეფონისგან. ეს ეკრანები ფართოდ იყიდება მოდულის სახით, ისინი ძალიან მცირე ენერგიას იძენენ და არის კარგი ბიბლიოთეკები არდუინოსთვის. თუ თქვენ ყიდულობთ ახალ მოდულს 5110 ეკრანით - თქვენ დაზოგავთ პლანეტას, რადგან ყველა ახალი მოდული შექმნილია გადარჩენილი 5110, 3110 და 3210 ტელეფონებისგან!

ნაბიჯი 6: ჩართეთ სქემები

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

თქვენ ალბათ უკვე მიხვდით, რომ მე ვგეგმავდი არდუინოს დაფის გამოყენებას ამ საათის გასაკონტროლებლად. პროექტი ადვილად განმეორებადია დამწყები არდუინოს თაყვანისმცემლებისთვისაც კი, რადგან მე არ შევქმენი ჩემი მიკროსქემის დაფები. ეს არის Arduino Nano დაფა, რომელთანაც არის დაკავშირებული მოდულები - BME280 ტემპერატურის, წნევისა და ტენიანობის სენსორი, DS1307 RTC საათი, TP4056 ლითიუმის ბატარეის დამტენი, პატარა 3.7v– დან 5V– მდე გამაძლიერებელი, სინათლისგან დამოუკიდებელი რეზისტორი (LDR - სინათლის მეტრი) და ზუზუნი (აღებულია ძველი კომპიუტერიდან).

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

რამდენიმე შენიშვნა კონფიგურაციის შესახებ:

  • ძრავა პირდაპირ აკავშირებს ბატარეიდან ტრანზისტორის საშუალებით. Arduino აკონტროლებს ტრანზისტორს რეზისტორისა და PWM pin D5- ის საშუალებით.
  • ქინძისთავები D7-12 გამოიყენება LCD კონექტორისთვის. სახმელეთო და VCC უკავშირდება რკინიგზას შეერთების დაფაზე.
  • LDR დამონტაჟდა საათის ზედაპირზე და რეზისტორი + 3 გამავალი მავთული შეკრული იყო საათის უკანა მხარეს.
  • ღილაკებთან კავშირისთვის მე გამოვიყენე შიდა PULLUP ფუნქცია არდუინოს შიგნით. მენიუს ღილაკი ერთვის შეწყვეტას და მხოლოდ მოგვიანებით მივხვდი, რომ თქვენ ასევე შეგიძლიათ გამოიყენოთ შიდა PULLUP შეფერხებისთვის. მენიუს ღილაკის შეწყვეტა საჭიროა ისე, რომ კოდი არ აკონტროლებს ღილაკების მდგომარეობას მუდმივად.
  • საათი აკონტროლებს და აჩვენებს ბატარეის მდგომარეობას, ასე რომ ბატარეა პირდაპირ არის დაკავშირებული pin A0- თან. ბატარეის ძაბვა არასოდეს აღემატება 4.2 ვ -ს, ამიტომ უსაფრთხოა ბატარეის პირდაპირ Arduino- ს ანალოგურ პინთან დაკავშირება.
  • Buzzer პირდაპირ არის დაკავშირებული PWM pin D6– თან. მიუხედავად იმისა, რომ ეს არ არის კარგი პრაქტიკა, მე თავი დავანებე მას, რადგან არდუინო ნანომ შეძლო გამოეჩინა უფრო მაღალი სპეციფიკა, ვიდრე ეს იყო და ასევე იმიტომ, რომ ზუზერი მუდმივად არ იმუშავებდა. იგივე კონფიგურაცია ადვილად წვავს ქინძისთავებს ESP დაფებზე, ამიტომ ასეთ შემთხვევებში გირჩევთ გამოიყენოთ ტრანზისტორი კონტროლი.
  • საათს უკვე ჰქონდა გადამრთველი, ამიტომ მისი გამოყენება გადავწყვიტე. ის ბუნებრივად გამოიყურება უკანა მხარეს.

ნაბიჯი 7: კავშირის დაფა მარტივი კავშირებისთვის

Junction Board მარტივი კავშირებისთვის
Junction Board მარტივი კავშირებისთვის
Junction Board მარტივი კავშირებისთვის
Junction Board მარტივი კავშირებისთვის

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

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

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

btw შეგიძლიათ ნახოთ LDR სენსორი, რომელიც უკვე დამონტაჟებულია საათის სახეზე პირველ სურათზე?

ნაბიჯი 8: დენის დაყენება

დენის დაყენება
დენის დაყენება

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

ბატარეის დასაკავშირებლად თქვენ უბრალოდ შეაერთეთ მავთულები + და - ქინძისთავებზე ბატარეაზე. არ ინერვიულოთ, თქვენ არ დააზიანებთ უჯრედს, რადგან არის კონტროლერი და ცარიელი ადგილი ქინძისთავებსა და უჯრედის ქიმიკატებს შორის.

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

ნაბიჯი 9: მიკრო USB ფირმის დატენვისა და განახლებისთვის

მიკრო USB ფირმის დატენვისა და განახლებისთვის
მიკრო USB ფირმის დატენვისა და განახლებისთვის

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

ახლა დრო იყო მიკრო USB პორტის დაყენება უკანა მხარეს. რატომ მიკრო USB თუ ნანო იყენებს მინი USB- ს? მხოლოდ იმიტომ, რომ ოჯახში, USB კაბელების უმეტესობა მობილური ტელეფონებიდან არის და მოსახერხებელი იქნებოდა, თუ საათმაც შეძლო ამის გადატანა.

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

ნაბიჯი 10: საბოლოო შეკრება

დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა

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

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

ნაბიჯი 11: კოდი

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

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

  • დროის და თარიღის ჩვენება (ასევე დრო და სიგნალიზაციის გააქტიურება იმავე ეკრანზე)
  • ეკრანი ანათებს ბნელ პირობებში ან მოძრაობის გამოვლენისას (სინათლის ცვლილებებზე დაყრდნობით)
  • ამინდის პროგნოზი (მზიანი, მოღრუბლული, წვიმიანი)
  • ტემპერატურის, წნევის და ტენიანობის ჩვენება (ტენიანობისთვის ის მიანიშნებს ძალიან მშრალია თუ არა)
  • პარამეტრების მენიუ: სიგნალიზაცია, დროის შეცვლა, თარიღის ჩვენების ჩართვა/გამორთვა, ამინდის ცვლილების ხმის შეტყობინებების ჩართვა/გამორთვა და იმპერიულ და მეტრულ ერთეულებს შორის გადართვა
  • სიგნალიზაციის პარამეტრები - ჩართვა/გამორთვა, დროის დაყენება, შეტყობინებების მელოდიის და/ან ზარების დაყენება

უახლესი კოდი:

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

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

  • დააინსტალირეთ USB დრაივერი თქვენი დაფისთვის (მაგ. CH340)
  • დააინსტალირეთ Arduino IDE
  • დააინსტალირეთ ბიბლიოთეკები, რომლებიც გამოიყენება ამ პროექტში
  • ჩამოტვირთეთ GitHub– დან და ატვირთეთ პროექტის უახლესი კოდი საათში მიკრო USB კაბელის გამოყენებით (შეგიძლიათ გამოიყენოთ ერთი მობილური ტელეფონიდან)

პროგნოზირების ალგორითმი შემდეგია:

Arduino Nano იღებს ახალ მონაცემებს BME280 სენსორიდან ყოველ 12 წუთში. გაზომვის ციკლი 3 საათია. 3 საათის შემდეგ წნევის მონიტორინგის დიაპაზონი (მაქსიმალური და მინიმალური მნიშვნელობა 3 საათის განმავლობაში) იცვლება საშუალო მნიშვნელობებთან შედარებით მიმდინარე დიაპაზონისა და მიმდინარე წნევის მნიშვნელობის დროს. ყოველ საათში ინახება წნევის ცვლილების მიმართულება მიმდინარე წნევის მნიშვნელობით. kPa ერთეულები გამოიყენება პროგნოზის გაანგარიშებისთვის.

ნანოს მეხსიერების შეზღუდვის გამო პროგნოზირების ალგორითმი უნდა გამარტივდეს. მიუხედავად გამარტივებისა, მას შეუძლია ნალექის პროგნოზირება მომდევნო 12-24 საათში, მიუხედავად იმისა, რომ პროგნოზი ახლა უფრო პესიმისტურია - ნაგულისხმევი მნიშვნელობა არის "ღრუბლიანი ამინდი".

"მზიანი ამინდი" - წნევის ამჟამინდელი მნიშვნელობა ნორმაზე მაღალია 7 პუნქტით, წნევა არ ეცემა და განსხვავება მინიმალურ და მაქსიმალურ მნიშვნელობებს შორის ბოლო 3 საათის განმავლობაში არ არის 2 ქულაზე მეტი.

შესაძლო ნალექი "წვიმიანი ამინდი" - მიმდინარე წნევა არის ნორმაზე 15 პუნქტით დაბალი და სხვაობა min & max მნიშვნელობებს შორის 2 ქულაზე მეტია ან წნევა ეცემა და განსხვავება მიმდინარე მნიშვნელობასა და ნორმას შორის არის 3 - 30 ქულა.

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

ნაბიჯი 12: ნაბიჯ ნაბიჯ ვიდეო

Image
Image

თუ ძნელი იყო დაიცვას ის, რაც მე გავაკეთე ზემოთ, აქ არის ასევე ვიდეო ვერსია ნაჩვენები ყველა ნაბიჯით.

ნაბიჯი 13: ბოლო სიტყვები

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

ყველა კომპონენტი დაბალი ფასია და ხელმისაწვდომია Sparkfun/Aliexpress/eBay/Amazon.

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

საათების კონკურსი
საათების კონკურსი
საათების კონკურსი
საათების კონკურსი

მეორე ადგილი საათების კონკურსში

გირჩევთ: