Სარჩევი:

Arduino სამაგიდო გულშემატკივართა კონტროლერი: 4 ნაბიჯი
Arduino სამაგიდო გულშემატკივართა კონტროლერი: 4 ნაბიჯი

ვიდეო: Arduino სამაგიდო გულშემატკივართა კონტროლერი: 4 ნაბიჯი

ვიდეო: Arduino სამაგიდო გულშემატკივართა კონტროლერი: 4 ნაბიჯი
ვიდეო: arduino uno flashlight არდუინო უნო 2024, ნოემბერი
Anonim
Arduino სამაგიდო გულშემატკივართა კონტროლერი
Arduino სამაგიდო გულშემატკივართა კონტროლერი
Arduino სამაგიდო გულშემატკივართა კონტროლერი
Arduino სამაგიდო გულშემატკივართა კონტროლერი
Arduino სამაგიდო გულშემატკივართა კონტროლერი
Arduino სამაგიდო გულშემატკივართა კონტროლერი

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

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

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

ნაბიჯი 1: საყიდლების სია და საქმე

სავაჭრო სია და საქმე
სავაჭრო სია და საქმე
სავაჭრო სია და საქმე
სავაჭრო სია და საქმე
სავაჭრო სია და საქმე
სავაჭრო სია და საქმე

Სავაჭრო სია:

  • 12 მმ MDF– ის 1 ფურცელი - საქმისთვის
  • 1 არდუინო უნო - ტვინი
  • 1 sml breadboard და მავთულები
  • 1 DHT11 - ციფრული ტემპერატურისა და ტენიანობის სენსორი - მხოლოდ ტემპერატურის შესამოწმებლად
  • 1.96 "OLED დისპლეი - ცვლადების ჩვენება - სიჩქარე, ტემპერატურა და ა
  • 1 IRF520 Mosfet მოდული - ჩართეთ და გამორთეთ USB ვენტილატორი
  • 4 10 კ პოტენომეტრი სხვადასხვა ფერის სახელურებით - ვენტილატორის სიჩქარის გასაკონტროლებლად, დროულად, გამორთულ დროს, ტემპერატურის დაყენების წერტილი
  • 1 დენის გადამრთველი
  • 1 სმლ კალის დაფის საღებავი - შესაფერისი MDF– სთვის 1 ფენით
  • 1 usb კაბელი და 1 usb სოკეტი

საქმე:

საქმის ზომა განისაზღვრება ჩემი 24 მონიტორის ბაზისა და 4 პორტიანი KVM ჩამრთველის სიდიდით 220 მმ სიგანეზე და საბოლოო სიმაღლეზე მინდოდა ჩემი მონიტორის დაყენება. სიღრმე იყო საკმაოდ მოქნილი, ამიტომ 180 მმ -ით გადავედი, რათა მიმეცა ბევრი. ოთახი. ასე რომ 220 მმ x180 მმ x60 მმ იყო ზომა. ახლა გააკეთე და შეავსე.

12 მმ MDF მოჭრილი იყო სახლში საკმაოდ მარტივად, წებოსა და ხრახნამდე სამუშაო ბაზისა და წინა ნაწილის შესაქმნელად. წინა ნაწილი გაბურღული იყო 4 10k პოტენომეტრი და 1 ზევით ჩართვა/გამორთვის გადამრთველი, რომელიც აკონტროლებდა არდუინოს და ვენტილატორს. მართკუთხა ხვრელი გამოიკვეთა პატარა შებოლილი ნაცრისფერი აკრილის პანელის ჩასატარებლად, რომლის უკანაც ვგეგმავდი ერთ -ერთ იმ მიმზიდველ OLED დისპლეის დაცვას. შუა გზაზე, ვისურვებდი, რომ წინ წასულიყავი 3 მმ ფლაკონის ნაცვლად, 12 მმ MDF– ის ნაცვლად, რადგან იქ მეტი ხე იყო ამოღებული, ვიდრე დარჩა.

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

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

კონტროლის გვერდით…

ნაბიჯი 2: კონტროლი

კონტროლი
კონტროლი

ყველაფერი დაფუძნებულია Arduino Uno– ს გარშემო. მე პური შევედი კომპონენტებში და დავიწყე ესკიზი.

ესკიზი იყენებს 3 ბიბლიოთეკას:

  • ერთი მართოს irf520 mosfet, რომ ჩართოს ვენტილატორი.
  • ერთი OLED ეკრანის მართვისთვის
  • ერთი წაიკითხეთ და თარგმნეთ ტემპერატურის მონაცემები DHT11– დან

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

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

Ლოგიკა:

ერთი USB კაბელი უზრუნველყოფს ენერგიას Arduino– ს და USB ვენტილატორს. Arduino– ს არ შეუძლია გულშემატკივართა გაშვება, რადგან დენი, რომელსაც ის გაიყვანს, აზიანებს Arduino– ს (რეალურად ცოტა დრამატული! ასე რომ, ჩვენ უნდა ვიპოვოთ Arduino– ს გამოყენების გზა, რომ ჩართოთ ან გამორთოთ დენი ვენტილატორზე.

ტრანზისტორი არის საჭირო, მე პირველად შევუკვეთე დარლინგტონის ტრანზისტორი, მაგრამ წაკითხვის შემდეგ, შევეცადე irf520 MOSFET დრაივერის მოდულს HobbyComponents.com– დან. გიკის გაფრთხილება !! IRF520 შესანიშნავია ლოგიკური დონის გადართვისთვის (გამომავალი არდუინოს ქინძისთავებიდან). მოწყობილობაზე გაგზავნილი ძაბვა განსაზღვრავს MOSFET- ის წინააღმდეგობას, I. E. 0 -დან 255 -მდე ციფრულ პინზე გაგზავნა გამოიწვევს გულშემატკივართა (ან სხვა დაკავშირებული მოწყობილობის) გამორთვას სრული სიჩქარით.

ჩვენ დავბრუნდებით 0 -დან 255 -მდე მოგვიანებით.

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

დავუბრუნდეთ იმ 0 -დან 255 ბიზნესს. თუ ვიცით, რომ ცოტაოდენი კოდი ჩართავს ვენტილატორს (255) თუ ტემპერატურა მაღალია, ან გამორთულია (0) თუ ტემპერატურა დაბალია, თუ ჩვენ გვქონდა მნიშვნელობა 0 -დან 255 -მდე, წინააღმდეგობა გაიზრდება ან დაეცემა მთელს MOSFET და დააჩქარეთ ან შეანელეთ ვენტილატორი.

შეიყვანეთ პოტენომეტრი, რომელიც დაკავშირებულია ანალოგიურ პინთან! როდესაც ბრუნავს, წარმოქმნის მნიშვნელობას 0 -დან 1023 -მდე. ეს მნიშვნელობა შეიძლება შემდგომში შემოწმდეს კოდში, რათა შეცვალოს ვენტილატორის სიჩქარე !! yipeeeee

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

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

ნაბიჯი 3: ჩვენება

Დისპლეი
Დისპლეი
Დისპლეი
Დისპლეი

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

U8G ბიბლიოთეკა ბრწყინვალეა ამ პატარა OLED ეკრანის მართვაში. დასჭირდა კვლევის საღამო და მივიღე ბრძანება, რომ მივიღო შრიფტის ზომა, რომელიც მინდოდა 5 სტრიქონით და ცვლადების ჩვენებისათვის u8g.print () ბრძანებების გამოყენებით. ამ ჩვენების უპირატესობა ის არის, რომ ის არ არის 2 ან 4 'რიგის' დისპლეი, რომელსაც Arduino საზოგადოება ასე ეჩვევა, ამიტომ გრაფიკა, შრიფტები ძალიან მოსახერხებელია.

სიმართლე გითხრათ, კოდის უმეტესობა მართავს ეკრანს. თუ განცხადებები განსაზღვრავს ჩვენების მნიშვნელობებს, ე.გ. გადააკეთეთ მნიშვნელობა ანალოგური ქოთნებიდან (0 -დან 1023 -მდე) მნიშვნელობად ეკრანზე გამოსაჩენად. საერთო ჯამში, არსებობს განცხადებების ბლოკების რამდენიმე ნაკრები, განსაზღვრავს გულშემატკივართა სიჩქარეს ქვაბიდან, გადააქცევს % მნიშვნელობად ეკრანისთვის და მნიშვნელობა 0 -დან 255 -მდე, რომ მართოს ვენტილატორი.

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

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

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

ასე რომ აქ არის …..

გირჩევთ: