Სარჩევი:

ავტომატური გაგრილების ვენტილატორი Pi- სთვის: 4 ნაბიჯი (სურათებით)
ავტომატური გაგრილების ვენტილატორი Pi- სთვის: 4 ნაბიჯი (სურათებით)

ვიდეო: ავტომატური გაგრილების ვენტილატორი Pi- სთვის: 4 ნაბიჯი (სურათებით)

ვიდეო: ავტომატური გაგრილების ვენტილატორი Pi- სთვის: 4 ნაბიჯი (სურათებით)
ვიდეო: MKS sGen L V2.0 - A4988/DRV8825 Step/Dir configuration 2024, ნოემბერი
Anonim
ავტომატური გაგრილების ვენტილატორი Pi- სთვის
ავტომატური გაგრილების ვენტილატორი Pi- სთვის

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

შესავალი მას შემდეგ, რაც ზაფხული ახლოვდება, ჩემი მეორეხარისხოვანი პია ძალიან ცხელა ჩემი გემოვნებით, ასე რომ მინდოდა დროდადრო მისი გაგრილება. რა თქმა უნდა, მე შემიძლია ვენტილატორი 24/7 საათზე დაუბრკოლებლად, მაგრამ ა) ამას დასჭირდება პურის დაფა და ზოგიერთი რეზისტორი და ა. შ., რადგან მე მას უბრალოდ ვერ შევაერთებ GPIO ქინძისთავებში ბ) რაღაც კოდის დაწერა, რომელიც ურთიერთობს გარედან სამყარო უფრო სახალისოა:) და გ) ის მართლაც იაფია … ყველაფერი რაც თქვენ გჭირდებათ არის კაბელები და სარელეო.

ისიამოვნეთ და მოგერიდებათ კომენტარის გაკეთება!

ნაბიჯი 1: საჭირო მასალები

საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები
საჭირო მასალები

- crontab / python დაინსტალირებული თქვენს pi- ჟოლოს პი ქეისით - 5v მინი ვენტილატორი (ბმული) - 2 არხიანი სარელეო (ბმული) - წყვილი ქალი მდედრობითი კაბელი (ბმული). მე მქონდა მხოლოდ 1, ამიტომ გამოვიყენე ძველი DVD აუდიო კაბელი კომპიუტერისთვის და დამატებითი f2f კაბელი სარელეო კონტროლერის პინისთვის.

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

ნაბიჯი 2: წრე - შეკრება

წრე - შეკრება
წრე - შეკრება
წრე - შეკრება
წრე - შეკრება
წრე - შეკრება
წრე - შეკრება
წრე - შეკრება
წრე - შეკრება

როგორც ხედავთ ზემოთ გამოსახულიდან მე ვიყენებ ქინძისთავებს 2, 6, 12, რომლებიც ყველა ერთნაირია ნებისმიერი სახის ჟოლოსთვის, რაც შეიძლება გქონდეთ, ასე რომ თქვენ არ ინერვიულოთ იმაზე, რომ მე ვიყენებ Pi- ს მოდელი B rev2.

შეაერთეთ კაბელები იმავე გზით, როგორც ამას ვაკეთებ.- 5v (pin2) მიდის VCC- ში- GND (pin6) GND- ში- GPIO18 (pin2) მიდის IN1 დარწმუნდით, რომ თქვენს სარელეო ჯუმბერს აქვს მითითებული: JD-VCC VCC.

ახლა სარელეოზე … ჩემი დაყენება ცოტა უცნაურია, ვიცი. მე არ მინდოდა გარე ენერგიის წყაროს გამოყენება გულშემატკივართა დასაწყებად, ამიტომ მე მას ასევე ვამაგრებდი პიზე. თქვენ მოგიწევთ მცირე ზომის გაჭრა როგორც 5v- დან ასევე GND კაბელიდან, რომელიც მოდის pi- დან, რათა ვენტილატორის კაბელები მიამაგროთ ისე, როგორც მე ამას ვაკეთებ. თქვენ შეგიძლიათ გამოიყენოთ soldering რკინის და ზოგიერთი ფირზე, როგორც მე. მე არ ვფიქრობ, რომ არსებობს მიზეზი ფიქრი bricking თქვენი pi, რადგან მხოლოდ ადგილზე კაბელი პირდაპირ კავშირშია pi. თუ სურათზე ყურადღებით ხედავთ, სარელეო გადამრთველი დაკავშირებულია კვების კაბელთან, რაც იმას ნიშნავს, რომ როდესაც ვენტილატორი გამორთულია, პითან პირდაპირი კავშირი ასევე არის "ღია". ამრიგად, ნებისმიერი ელექტრული დენი, რომელსაც გულშემატკივარი გააქრობს, როდესაც ის გამორთულია, არ ექნება გზა უკან დაბრუნდეს. მიზეზი, რის გამოც მე ვიყენებ ამ ჭიშკრებს სარელეოზე, არის ის, რომ რელეს აქვს პატარა ლიდერი მის თავზე. მინდოდა წითელი შუქის დანახვა, როდესაც გულშემატკივარი ჩართულია, ასე რომ მე ვიცი, როდესაც pi გაცივდება. თუ გინდათ, შეგიძლიათ გამოიყენოთ სხვა კარიბჭე ისე, რომ პირიქით მოხდეს. მაგრამ თქვენ ალბათ დაგჭირდებათ GPIO ბრძანებების უკუქცევა პითონის სკრიპტში (მომდევნო ნაბიჯში ნაჩვენებია fanON fan OFF ფუნქციები), რათა ის იმუშაოს … თქვენ მიხვდებით რას ვგულისხმობ, როდესაც მას მივაღწევთ.

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

სკრიპტი
სკრიპტი
სკრიპტი
სკრიპტი

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

ინსტრუქციები

1) ჩამოტვირთეთ დანართი, ან უბრალოდ დააკოპირეთ/ჩასვით ის pastebin– დან აქ და დაასახელეთ fan.py

2) განათავსეთ fan.py სკრიპტი/home/pi/საქაღალდეში

3) შეასრულეთ: sudo chmod +x /home/pi/fan.py და sudo chown pi: pi /home/pi/fan.py

4) დავუშვათ, რომ თქვენ გაქვთ დამონტაჟებული crontab თქვენს pi- ზე დაასრულეთ: crontab -e

5) ბოლოში დააკოპირეთ /ჩასვით: 5 * * * * sudo python /home/pi/fan.py და შეინახეთ ფაილი. (Ctrl+X და Y)

ეს crontab შეასრულებს სკრიპტს ყოველ 1h5m. სკრიპტი ასევე იმუშავებს როგორც დამოუკიდებელი სკრიპტი … რაც იმას ნიშნავს, რომ ავტომატური კრონტაბის მოქმედების გარდა თქვენ შეგიძლიათ ხელით ჩართოთ/გამორთოთ ვენტილატორი. თქვენ ამას აკეთებთ ისეთი პარამეტრების გამოყენებით, როგორიცაა:

  • sudo python /home/pi/fan.py on ან
  • sudo python /home/pi/fan.py off

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

მაშ, როგორ მუშაობს ეს?

ყოველ საათში სკრიპტი ასრულებს და ამოწმებს პი ტემპერატურას. თუ ტემპერატურა X- ზე მაღალია, ვენტილატორი ჩართულია და დარჩება სანამ არ გაცივდება Y მნიშვნელობამდე. როდესაც ეს მოხდება, სკრიპტი გამოვა. თუ რაიმე მიზეზის გამო ის არასოდეს მიაღწევს იმ დაბალ ტემპერატურას და გავა საათი, მომდევნო სკრიპტის შესრულებისას ის დაინახავს რომ ვენტილატორი კვლავ ჩართულია და მეორე სკრიპტი გათიშავს … ასე რომ გამოიყენეთ რეალისტური ტემპერატურის მნიშვნელობები რეალურად ჩართვა/გამორთვა. თუ არა, უბრალოდ დააყენეთ სასაცილო მნიშვნელობები (როგორიცაა Y = 0 გრადუსი ცელსიუსი) ისე, რომ გულშემატკივარი ყოველთვის დარჩეს.) თუ თქვენი pi მუშაობს ამ 2 მნიშვნელობას შორის (X, Y), ეს ნიშნავს რომ ის მუშაობს "მიღებულ" ტემპერატურაზე, ამიტომ სკრიპტი უბრალოდ გამოვა, როდესაც ის შეამოწმებს ტემპერატურას ყოველ საათში.

ზოგიერთი ღირებულების ახსნა

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

# დაადგინეთ რომელი პინი აკონტროლებს სარელეო FAN_PIN = 18 # ყვითელი ყუთი მაგ: GPIO18 # ტემპერატურის შემოწმება. ჩართეთ ვენტილატორი, თუ ტემპერატურა> 49C FAN_START = 49 # ტემპერატურის შემოწმება. გამორთეთ 28C- ზე FAN_END = 28

საკმაოდ ნათელია, რა უნდა გააკეთოს აქ. თუ თქვენ იყენებდით GPIO18- ს, როგორც მე, მაშინ დატოვეთ 18 აქ, წინააღმდეგ შემთხვევაში შეცვალეთ ეს მნიშვნელობა თქვენს მიერ გამოყენებული gpio– ზე. FAN_START და FAN_END არის მაღალი/დაბალი ტემპერატურა, რომლის გამოყენებაც გსურთ. სურვილისამებრ, თქვენ შეგიძლიათ განათავსოთ float ნომრები, მაგალითად 49.2

Შენიშვნა:

გახსოვთ როგორ შევქმენი ჩემი სარელეო? თუ დაინახავთ fanON და fanOFF ფუნქციებს, შეამჩნევთ, რომ მე gpio გამომავალს ვაყენებ False, რომ ვენტილატორი ჩართოს და True გამორთოს. თუ თქვენ აირჩევთ სხვა კარიბჭის კონფიგურაციას სარელეოზე, თქვენ ალბათ დაგჭირდებათ ამ მნიშვნელობების გადაბრუნება.

ნაბიჯი 4: საბოლოო შენიშვნები

დასკვნითი შენიშვნები
დასკვნითი შენიშვნები

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

მცირე ბონუს კოდი

თუ გსურთ თქვენი პი ტემპერატურის შემოწმების სწრაფი გზა, შექმენით ფაილი სახელწოდებით temp/usr/local/bin საქაღალდეში და შემდეგ დააკოპირეთ ჩასვით ეს სკრიპტი შიგნით:

pastebin.com/rUYqGjV5

შესრულება: chmod +x/usr/local/bin/temp, რომ ის შესრულებადი იყოს.

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

გირჩევთ: