Სარჩევი:

MQTT განწყობის განათება ESP32– ით: 4 ნაბიჯი (სურათებით)
MQTT განწყობის განათება ESP32– ით: 4 ნაბიჯი (სურათებით)

ვიდეო: MQTT განწყობის განათება ESP32– ით: 4 ნაბიჯი (სურათებით)

ვიდეო: MQTT განწყობის განათება ESP32– ით: 4 ნაბიჯი (სურათებით)
ვიდეო: MQTT (Mosquitto) Протокол | Теория 2024, ნოემბერი
Anonim
MQTT განწყობის განათება ESP32– ით
MQTT განწყობის განათება ESP32– ით

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

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

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

მარაგები

ელექტრონიკა:

  • 1x ESP32 განვითარების დაფა
  • 1x 0.96 დიუმიანი I2C OLED დისპლეი
  • 1x Buzzer
  • 1x ლულის ბუდე
  • 1x 12V კვების წყარო (დენი დამოკიდებულია თქვენი ზოლის სიგრძეზე)
  • 1x LM2596 მამალი კონვერტორი
  • 1x საერთო ანოდი RGB LED ზოლები
  • 3x IRFZ44N MOSFET
  • 3x BC547 ტრანზისტორი
  • 3x 10kΩ რეზისტორები
  • 4x 100Ω რეზისტორები
  • 1x პროტოტიპის დაფა
  • 4x ხრახნიანი ტერმინალები
  • მამაკაცი და ქალი სათაურები
  • მავთული (მე ვიყენებ ერთსართულს)

სხვა ტექნიკა და ინსტრუმენტები:

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

მე მტკიცედ გირჩევთ არ მიხვიდეთ ESP32– ით ჩაშენებული OLED დისპლეით, რადგან ძალიან ძნელი ხდება ამის გაკეთება თქვენს შიგთავსში.

ნაბიჯი 1: ელექტრონიკა

ელექტრონიკა
ელექტრონიკა
ელექტრონიკა
ელექტრონიკა

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

Ძალა

LM2596 მამლის კონვერტორი დგას 12V დენის წყაროდან 5V– მდე ESP– ის VIN– ისთვის. დარწმუნდით, რომ თქვენი კვების ბლოკი სწორად არის შეფასებული თქვენ მიერ გამოყენებული LED ზოლის სიგრძისთვის. ჩემი 2 მეტრი სიგრძის ზოლები 2 ამპერზე ოდნავ მეტს ამახვილებს.

ქინძისთავები და პერიფერიული საშუალებები

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

MOSFET არეულობს

MOSFET– ები შეირჩა PWM– ის სწრაფი გადართვის დროის და შედარებით მაღალი დენის დამუშავებისათვის. არსებობს ერთი MOSFET თითოეული ფერის კომპონენტისთვის. მე გამოვიყენე ცალკეული NPN BJT (BC547) ერთად გამწევ რეზისტორთან ერთად IRFZ44N– ების გადასაყვანად, რადგან ESP32– დან 3.3V ციფრული სიგნალები შეიძლება არ იყოს საკმარისი MOSFET– ებისთვის იმდენი დენის ჩასატარებლად, რამდენადაც საჭიროა. IRLZ44N– ის მსგავსი ლოგიკური დონის MOSFET– ები არსებობს, მაგრამ მე მათ შესახებ შევიტყვე მხოლოდ მას შემდეგ, რაც დავასრულე ყველაფრის შედუღება. ასეა თუ ისე, ჩემი ზოლი, რომელიც იხდის A 2A კარგად მუშაობს.

შედუღება

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

რატომ ავირჩიე ESP32

მას აქვს WiFi და Bluetooth ბორტზე (თუმცა მე მხოლოდ WiFi ახლა გამოვიყენე), და მე მქონდა ერთი ტყუილი, რომ მე ქავილი გამოვიყენო. შეხების საშუალებები ასევე გამოსადეგი იყო კონტროლერთან ინტერფეისისთვის, რადგან მათ სჭირდებათ მხოლოდ ერთი მავთული კონტაქტზე. თუ გინდათ, ESP32 ადვილად შეიცვლება მიკროკონტროლით, როგორიცაა ESP8266.

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

მე გამოვიყენე Arduino ინსტრუმენტების ნაკრები (სინამდვილეში Arduino გაფართოება VS Code– ისთვის:)) ამის დასაპროგრამებლად. არსებობს ასეთი დიდი გაკვეთილები, თუ როგორ უნდა დაიწყოთ ESP32 და Arduino IDE, თუ ეს უკვე არ გაქვთ.

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

MQTT დავამატე სამუშაოებსაც, რათა შევძლო მისი კონტროლი WiFi- ზე. მე ვცდილობ ვიგრძნო ვებ – პროგრამის დიდი სამი (HTML, CSS, JS), ამიტომ მე შევიმუშავე Star Trek (მაგრამ საკმაოდ მახინჯი) ვებ გვერდი, რომელიც ურთიერთობს MQTT ბროკერთან განწყობის განათების გასაკონტროლებლად.

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

გაითვალისწინეთ, რომ ჩემი კოდი მუშაობს, მაგრამ ალბათ არ არის ყველაზე დიდი. მაგრამ ამას არ უნდა ჰქონდეს მნიშვნელობა, რადგან შენ მაინც აპირებ შენს წერას, არა?:)

ნაბიჯი 3: დანართი და შეკრება

დანართი და შეკრება
დანართი და შეკრება
დანართი და შეკრება
დანართი და შეკრება
დანართი და შეკრება
დანართი და შეკრება
დანართი და შეკრება
დანართი და შეკრება

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

Უკანა პანელი

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

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

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

Წინა პანელი

OLED ეკრანის გაჭრა

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

კონექტორი

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

სენსორული ბალიშები

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

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

Დასვენება

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

Velcro ორ კიდეზე უჭირავს წინა ნაწილს უკანა პანელზე. ხარვეზები იძლევა ზუზუნის ხმის გაქცევის საშუალებას. თუ თქვენ ჩემზე უკეთეს საქმეს აკეთებთ, არ უნდა დაასრულოთ ისეთი რამ, რაც 5 წლის სკოლამდელი აღზრდის ხელობას ჰგავს:)

ჩემს LED ზოლს წებოვანი ზურგი ჰქონდა (დარწმუნებული ვარ, თქვენიც ასეა). მე ისე დავამონტაჟე ჩემი, რომ სინათლე კედლიდან იშლება.

ნაბიჯი 4: შეაერთეთ იგი

Შეაერთე!
Შეაერთე!

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

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

გირჩევთ: