Სარჩევი:
- ნაბიჯი 1: დაიშალეთ ყველაფერი
- ნაბიჯი 2: ღილაკები ციფრული პარამეტრებისთვის
- ნაბიჯი 3: კონდენსატორი ძრავისთვის
- ნაბიჯი 4: ახალი სახე საათისათვის
- ნაბიჯი 5: ციფრული ჩვენება ძველი მობილური ტელეფონიდან
- ნაბიჯი 6: ჩართეთ სქემები
- ნაბიჯი 7: კავშირის დაფა მარტივი კავშირებისთვის
- ნაბიჯი 8: დენის დაყენება
- ნაბიჯი 9: მიკრო USB ფირმის დატენვისა და განახლებისთვის
- ნაბიჯი 10: საბოლოო შეკრება
- ნაბიჯი 11: კოდი
- ნაბიჯი 12: ნაბიჯ ნაბიჯ ვიდეო
- ნაბიჯი 13: ბოლო სიტყვები
ვიდეო: ამინდის პროგნოზის საათი ძველი მაღვიძარისა და არდუინოს გამოყენებით: 13 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ირგვლივ გატეხილი მაღვიძარა მქონდა და გამოვიდა იდეა გადამეცვალა საათის და ამინდის პროგნოზის სადგურად.
ამ პროექტისთვის დაგჭირდებათ:
- ძველი წრიული მაღვიძარა
- არდუინო ნანო
- 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: კავშირის დაფა მარტივი კავშირებისთვის
ყველა მოდული მოითხოვს პოზიტიურ და სახმელეთო კავშირებს, ამიტომ გადავწყვიტე გამომეყენებინა 2x8 სმ პროტოტიპის დაფა და შევაერთე მას 5V და სახმელეთო რელსები. მე ასევე გავაკეთე პატარა I2C სარკინიგზო იქაც, რადგან I2C ინტერფეისის გამოყენებით რამდენიმე მოდული მქონდა.
მეორე მხარეს მე შევაერთე სტანდარტული ქინძისთავები ისე, რომ საჭიროების შემთხვევაში შემეძლოს მოდულების დაკავშირება და გათიშვა.
ზოგიერთი დამატებითი კომპონენტი ასევე შედუღდა იქ, როგორიცაა ტრანზისტორი და რეზისტორი ძრავის კონტროლისთვის და რეზისტორი მენიუს ღილაკისთვის, რომელიც იყენებს შეწყვეტას. მე ვაჩვენე სქემები წინა ნაწილში.
btw შეგიძლიათ ნახოთ LDR სენსორი, რომელიც უკვე დამონტაჟებულია საათის სახეზე პირველ სურათზე?
ნაბიჯი 8: დენის დაყენება
მე გამოვიყენე ძველი ლითიუმ-იონური ბატარეა მობილურიდან ამ საათის გასაძლიერებლად. ჩვეულებრივ, მობილური ტელეფონის ბატარეებს, რომლებიც იცვლება, ჯერ კიდევ აქვთ კარგი ტევადობა (სულ მცირე, რაც იყო ახალი). მათი უპირატესობა ის არის, რომ მათ აქვთ ჩაშენებული გამონადენის დაცვის წრე და ისინი ასევე ძალიან თხელია, ამიტომ მათი გამოყენება შესაძლებელია მცირე სივრცის სცენარებში.
ბატარეის დასაკავშირებლად თქვენ უბრალოდ შეაერთეთ მავთულები + და - ქინძისთავებზე ბატარეაზე. არ ინერვიულოთ, თქვენ არ დააზიანებთ უჯრედს, რადგან არის კონტროლერი და ცარიელი ადგილი ქინძისთავებსა და უჯრედის ქიმიკატებს შორის.
ამ სურათზე თქვენ ხედავთ ბატარეას და ასევე TP4056 დატენვის კონტროლერს, ასევე 5V გამაძლიერებელს ერთმანეთთან და ბატარეასთან. მე გამოვიყენე შეკუმშვის მილები, რათა ყველაფერი იზოლირებული და კომპაქტური ყოფილიყო.
ნაბიჯი 9: მიკრო 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: ნაბიჯ ნაბიჯ ვიდეო
თუ ძნელი იყო დაიცვას ის, რაც მე გავაკეთე ზემოთ, აქ არის ასევე ვიდეო ვერსია ნაჩვენები ყველა ნაბიჯით.
ნაბიჯი 13: ბოლო სიტყვები
საერთო ჯამში, ჩემი თვალსაზრისით, ამ პროექტის სირთულის დონე არ არის მაღალი და ნებისმიერს შეუძლია ამის გაკეთება. თუ ძველი საათი არ გაქვთ, შეგიძლიათ იაფად იპოვოთ ადგილობრივ რწყილიან ბაზარზე.
ყველა კომპონენტი დაბალი ფასია და ხელმისაწვდომია Sparkfun/Aliexpress/eBay/Amazon.
ვიმედოვნებ, რომ ეს გაკვეთილი თქვენთვის საინტერესო იყო და მადლობელი ვიქნები, თუ თქვენ შეძლებთ ჩემი პირველი Instructable– ის მხარდაჭერას საათის კონკურსში.
მეორე ადგილი საათების კონკურსში
გირჩევთ:
მინი ამინდის ამინდის სადგური Arduino– ს და ThingSpeak– ის გამოყენებით: 4 ნაბიჯი
მინი ამინდის ამინდის სადგური Arduino– ს და ThingSpeak– ის გამოყენებით: გამარჯობა ყველას. ამ ინსტრუქციაში, მე გაგიწევთ ნაბიჯებს პერსონალური მინი ამინდის სადგურის შესაქმნელად. ასევე, ჩვენ ვიყენებთ ThingSpeak API– ს, რომ ატვირთავს ჩვენი ამინდის მონაცემებს მათ სერვერებზე, წინააღმდეგ შემთხვევაში რა არის ამინდის სტატისტიკის მიზანი
არტ დეკოს ამინდის პროგნოზის ჩვენება: 9 ნაბიჯი (სურათებით)
არტ დეკო ამინდის პროგნოზის ჩვენება: გამარჯობა მეგობრებო, ამ ინსტრუქციებში ჩვენ ვნახავთ ცხელს ამ ამინდის პროგნოზის ჩვენების შესაქმნელად. ის იყენებს Wemos D1 მინი დაფას 1.8 დიუმიანი ფერადი TFT ეკრანით ამინდის პროგნოზის ჩვენების მიზნით. მე ასევე შევქმენი და 3D დაბეჭდე დანართი ამისთვის
ამინდის პროგნოზის შუქურა: 4 ნაბიჯი (სურათებით)
ამინდის პროგნოზის შუქურა: ამ პროექტში მე წარმოგიდგენთ მოდელს ადგილობრივი ამინდის შუქურისგან, რომელიც გავაკეთე 3D ბეჭდვის, LED ზოლების, კვების ბლოკისა და არდუინოს დაფის გამოყენებით wifi კავშირით, რათა მომდევნო დღის ამინდის პროგნოზზე შევიდე. მთავარი მიზანი
3 დღიანი ამინდის პროგნოზის არხი: 4 ნაბიჯი
3 დღიანი ამინდის პროგნოზის არხი: 3 დღიანი ამინდის პროგნოზის არხი გთავაზობთ ყოვლისმომცველ 3 დღიან ამინდის პროგნოზს თქვენთვის სასურველ ადგილას ან თქვენი IP მისამართის ადგილმდებარეობის მიხედვით. პროექტი იყენებს Wunderground Weather API სერვისს, რომელიც უზრუნველყოფს JSON ფორმატის პასუხებს, როდესაც
Acurite 5 in 1 ამინდის სადგური Raspberry Pi და Weewx გამოყენებით (სხვა ამინდის სადგურები თავსებადია): 5 ნაბიჯი (სურათებით)
Acurite 5 in 1 ამინდის სადგური Raspberry Pi და Weewx– ის გამოყენებით (სხვა ამინდის სადგურები თავსებადია): როდესაც მე ვიყიდე Acurite 5 in 1 ამინდის სადგური, მინდოდა შემეძლოს ამინდის შემოწმება ჩემს სახლში ყოფნისას. როდესაც სახლში მივედი და დავაყენე მივხვდი, რომ ან ეკრანი კომპიუტერთან უნდა მქონოდა ჩართული, ან მათი ჭკვიანი კერა შემეძინა