Სარჩევი:

DIY Smart LED Dimmer კონტროლირებადი Bluetooth– ის საშუალებით: 7 ნაბიჯი
DIY Smart LED Dimmer კონტროლირებადი Bluetooth– ის საშუალებით: 7 ნაბიჯი

ვიდეო: DIY Smart LED Dimmer კონტროლირებადი Bluetooth– ის საშუალებით: 7 ნაბიჯი

ვიდეო: DIY Smart LED Dimmer კონტროლირებადი Bluetooth– ის საშუალებით: 7 ნაბიჯი
ვიდეო: Transform Any Room With These DIY Smart LED Strip Lights! 2024, ივლისი
Anonim
DIY Smart LED Dimmer კონტროლირებადი Bluetooth- ის საშუალებით
DIY Smart LED Dimmer კონტროლირებადი Bluetooth- ის საშუალებით

ეს ინსტრუქცია აღწერს თუ როგორ უნდა ავაშენოთ ჭკვიანი ციფრული მბზინავი. მბზინავი არის საერთო შუქნიშანი, რომელიც გამოიყენება სახლებში, სასტუმროებში და ბევრ სხვა შენობაში. მბზინავი ჩამრთველების ძველი ვერსიები იყო მექანიკური და ჩვეულებრივ შეიცავდა მბრუნავ გადამრთველს (პოტენომეტრი) ან ღილაკებს სინათლის დონის გასაკონტროლებლად. ეს ინსტრუქცია აღწერს როგორ ავაშენოთ ციფრული მბზინავი, რომელსაც აქვს სინათლის ინტენსივობის კონტროლის ორი გზა; სმარტფონი და ფიზიკური ღილაკები. ორ რეჟიმს შეუძლია შეუფერხებლად იმუშაოს ისე, რომ მომხმარებელს შეუძლია გაზარდოს ან შეამციროს სიკაშკაშე როგორც ღილაკიდან, ასევე სმარტფონიდან. პროექტი ხორციელდება SLG46620V CMIC, HC-06 Bluetooth მოდულის, ღილაკების და LED- ების გამოყენებით.

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

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

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

ნაბიჯი 1: პროექტის მახასიათებლები და ინტერფეისი

პროექტის მახასიათებლები და ინტერფეისი
პროექტის მახასიათებლები და ინტერფეისი

პროექტის მახასიათებლები:

1. კონტროლის ორი მეთოდი; მობილური აპლიკაცია და რეალური ღილაკები.

2. გლუვი ჩართვა-გამორთვის სინათლე. ეს უფრო ჯანმრთელია მომხმარებლის თვალისთვის. ის ასევე იძლევა უფრო მდიდრულ განცდას, რაც მიმზიდველია სასტუმროებისთვის და სხვა მომსახურების ინდუსტრიებისთვის.

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

პროექტის ინტერფეისი

პროექტის ინტერფეისს აქვს ოთხი ღილაკი, რომლებიც გამოიყენება GreenPAK შეყვანის სახით:

ON / OFF: ჩართეთ შუქი / OFF (რბილი დაწყება / გაჩერება).

UP: განათების დონის გაზრდა.

ქვემოთ: შეამცირეთ განათების დონე.

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

სისტემა გამოუშვებს PWM სიგნალს, რომელიც გადაეცემა გარე LED და ძილის რეჟიმის LED ინდიკატორს.

GreenPAK დიზაინი შედგება 4 ძირითადი ბლოკისგან. პირველი არის UART მიმღები, რომელიც იღებს მონაცემებს Bluetooth მოდულიდან, ამოიღებს შეკვეთებს და აგზავნის მათ საკონტროლო განყოფილებაში. მეორე ბლოკი არის საკონტროლო განყოფილება, რომელიც იღებს შეკვეთებს UART მიმღებიდან ან გარე ღილაკიდან. საკონტროლო განყოფილება წყვეტს საჭირო მოქმედებას (ჩართვა/გამორთვა, გაზრდა, შემცირება, ძილის რეჟიმის ჩართვა). ეს ერთეული ხორციელდება LUT– ების გამოყენებით.

მესამე ბლოკი ამარაგებს CLK გენერატორებს. ამ პროექტში FSM მრიცხველი გამოიყენება PWM– ის გასაკონტროლებლად. FSM- ის ღირებულება შეიცვლება (ზემოთ, ქვემოთ) 3 სიხშირის (მაღალი, საშუალო და დაბალი) ბრძანებების შესაბამისად. ამ განყოფილებაში შეიქმნება სამი სიხშირე და საჭირო CLK გადადის FSM– ში საჭირო თანმიმდევრობით; ჩართვის/გამორთვის ოპერაციისას, მაღალი სიხშირე გადადის FSM– ზე რბილი დაწყების/გაჩერების მიზნით. დაბნელების დროს საშუალო სიხშირე გადის. დაბალი სიხშირე გადადის ძილის რეჟიმში, რათა უფრო ნელა შეამციროს FSM მნიშვნელობა. შემდეგ, სინათლის სიკაშკაშეც ნელ -ნელა მცირდება. მეოთხე ბლოკი არის PWM ერთეული, რომელიც წარმოქმნის იმპულსებს გარე LED- ებზე.

ნაბიჯი 2: GreenPAK დიზაინი

GreenPAK– ის გამოყენებით მბზინავის აშენების საუკეთესო გზაა 8 ბიტიანი FSM და PWM გამოყენებით. SLG46620– ში, FSM1 შეიცავს 8 ბიტს და მისი გამოყენება შესაძლებელია PWM1 და PWM2– ით. Bluetooth მოდული უნდა იყოს დაკავშირებული, რაც ნიშნავს რომ SPI პარალელური გამომავალი უნდა იქნას გამოყენებული. SPI პარალელური გამომავალი ბიტი 0 -დან 7 კავშირამდე შერეულია DCMP1, DMCP2 და LF OSC CLK, OUT1, OUT0 OSC გამომავლებით. PWM0 იღებს გამომავალს FSM0– დან (16 ბიტი). FSM0 არ ჩერდება 255 -ზე; ის იზრდება 16383 -მდე. მრიცხველის ღირებულების შეზღუდვისათვის 8 ბიტიანი დამატებულია სხვა FSM; FSM1 გამოიყენება როგორც მაჩვენებელი იმის გასაგებად, თუ როდის აღწევს მრიცხველი 0 ან 255. FSM0 გამოიყენებოდა PWM პულსის შესაქმნელად. ვინაიდან FSM– ის ორი მნიშვნელობა უნდა შეიცვალოს ერთსა და იმავე მნიშვნელობისათვის, დიზაინი ხდება ცოტა რთული, სადაც ორივე FSM– ში არის წინასწარ განსაზღვრული, შეზღუდული, შესარჩევი CLK. CNT1 და CNT3 გამოიყენება როგორც შუამავლები CLK– ს გადასასვლელად ორივე FSM– სთვის.

დიზაინი შედგება შემდეგი სექციებისგან:

- UART მიმღები

- საკონტროლო განყოფილება

- CLK გენერატორები და მულტიპლექსერი

- PWM

ნაბიჯი 3: UART მიმღები

UART მიმღები
UART მიმღები

პირველ რიგში, ჩვენ უნდა შევქმნათ HC06 Bluetooth მოდული. HC06 იყენებს UART პროტოკოლს კომუნიკაციისთვის. UART არის უნივერსალური ასინქრონული მიმღები / გადამცემი. UART– ს შეუძლია მონაცემების გადაყვანა წინ და უკან პარალელურ და სერიულ ფორმატებს შორის. იგი მოიცავს სერიულ პარალელურ მიმღებს და პარალელურ სერიულ კონვერტორს, რომლებიც ორივე განლაგებულია ცალკე. HC06- ში მიღებული მონაცემები გადაეცემა ჩვენს GreenPAK მოწყობილობას. Pin 10 -ის უსაქმური მდგომარეობა არის მაღალი. გაგზავნილი ყველა სიმბოლო იწყება ლოგიკური LOW დაწყების ბიტით, რასაც მოჰყვება მონაცემთა ბიტების კონფიგურაცია და ერთი ან მეტი ლოგიკური HIGH stop ბიტი.

HC06 აგზავნის 1 START ბიტს, 8 მონაცემთა ბიტს და ერთ STOP ბიტს. მისი ნაგულისხმევი სიჩქარე არის 9600. ჩვენ მონაცემების ბაიტს გავგზავნით HC06– დან GreenPAK SLG46620V– ის SPI ბლოკში.

ვინაიდან SPI ბლოკს არ აქვს START ან STOP ბიტის კონტროლი, ეს ბიტები ნაცვლად გამოიყენება SPI საათის სიგნალის (SCLK) ჩართვისა და გამორთვისთვის. როდესაც Pin 10 მიდის დაბალ დონეზე, IC- მ მიიღო START ბიტი, ამიტომ ჩვენ ვიყენებთ PDLY დაცემის დეტექტორს კომუნიკაციის დაწყების დასადგენად. ეს დაცემის ზღვარი დეტექტორებს უყრის DFF0- ს, რაც SCLK სიგნალს საშუალებას აძლევს დაათვალიეროს SPI ბლოკი.

ჩვენი ბოდის სიჩქარეა 9600 ბიტი წამში, ასე რომ ჩვენი SCLK პერიოდი უნდა იყოს 1/9600 = 104 µs. ამიტომ, ჩვენ დავაყენეთ OSC სიხშირე 2 MHz და გამოვიყენეთ CNT0 როგორც სიხშირის გამყოფი.

2 MHz - 1 = 0.5 მიკროცი

(104 μs / 0.5 µs) - 1 = 207

აქედან გამომდინარე, ჩვენ გვინდა, რომ CNT0 მრიცხველის მნიშვნელობა იყოს 207. იმის უზრუნველსაყოფად, რომ მონაცემები არ გამოტოვებულია, SPI საათზე ნახევარი საათის ციკლის შეფერხება ემატება ისე, რომ SPI ბლოკი დროულად ხდება. ეს მიიღწევა CNT6, 2-ბიტიანი LUT1 და OSC ბლოკის გარე საათის გამოყენებით. CNT6– ის გამომუშავება არ გაიზრდება 52 მიკრომეტრამდე DFF0– ის დაზუსტების შემდეგ, რაც ჩვენი SCLK პერიოდის ზუსტად ნახევარია 104 μs. როდესაც ის მაღლა იწევს, 2 ბიტიანი LUT1 AND კარიბჭე საშუალებას აძლევს 2 MHz OSC სიგნალს გადავიდეს EXT– ში. CLK0 შეყვანა, რომლის გამომავალი დაკავშირებულია CNT0- თან.

ნაბიჯი 4: საკონტროლო განყოფილება

საკონტროლო განყოფილება
საკონტროლო განყოფილება

ამ განყოფილებაში ბრძანებები შესრულდება UART მიმღებიდან მიღებული ბაიტის მიხედვით, ან გარე ღილაკების სიგნალების მიხედვით. ქინძისთავები 12, 13, 14, 15 ინიციალიზებულია შეყვანის სახით და დაკავშირებულია გარე ღილაკებთან.

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

DFF6 გამოიყენება ძილის რეჟიმის გასააქტიურებლად, როდესაც მისი გამომავალი იცვლება მაღალ დონეზე, 2-ბიტიანი LUT4– დან, ხოლო DFF10 გამოიყენება განათების სტატუსის შესანარჩუნებლად, ხოლო მისი გამომუშავება იცვლება დაბალიდან მაღალამდე და პირიქით ყოველი ამოსული ზღვარზე 3 ბიტიანი LUT10 გამომავალიდან.

FSM1 არის 8 ბიტიანი მრიცხველი; ის იძლევა მაღალ იმპულსს მის გამომავალზე, როდესაც მისი მნიშვნელობა 0 ან 255-ს აღწევს. შესაბამისად, იგი გამოიყენება FSM0 (16-ბიტიანი) 255 მნიშვნელობის გადამეტების თავიდან ასაცილებლად, რადგანაც მისი გამომავალი აღადგენს DFF- ებს და ცვლის DFF10 სტატუსს ჩართვიდან გამორთვაზე და პირიქით, თუ განათება კონტროლდება ღილაკებით +, - და მაქსიმალური/მინიმალური დონე მიღწეულია.

FSM1 საშუალებებთან დაკავშირებული სიგნალები ინახება, up მიაღწევს FSM0– ს P11– დან და P12– მდე სინქრონიზაციისათვის და შეინარჩუნებს ერთსა და იმავე მნიშვნელობას ორივე მრიცხველზე.

ნაბიჯი 5: CLK გენერატორები და მულტიპლექსერი

CLK გენერატორები და მულტიპლექსერი
CLK გენერატორები და მულტიპლექსერი

ამ განყოფილებაში შეიქმნება სამი სიხშირე, მაგრამ მხოლოდ ერთი დაახშობს FSM– ებს ნებისმიერ დროს. პირველი სიხშირე არის RC OSC, რომელიც ამოღებულია მატრიციდან 0 – დან P0– მდე. მეორე სიხშირე არის LF OSC, რომელიც ასევე ამოღებულია მატრიციდან 0 -დან P1- მდე; მესამე სიხშირე არის CNT7 გამომავალი.

3 ბიტიანი LUT9 და 3 ბიტიანი LUT11 იძლევა ერთი სიხშირის გავლას, 3 ბიტიანი LUT14 გამომავალი მიხედვით. ამის შემდეგ, არჩეული საათი გადადის FSM0 და FSM1– ზე CNT1 და CNT3– ის საშუალებით.

ნაბიჯი 6: PWM

PWM
PWM

დაბოლოს, FSM0 მნიშვნელობა გარდაიქმნება PWM სიგნალად, რათა გამოჩნდეს pin 20 – ის საშუალებით, რომელიც ინიციალიზებულია როგორც გამომავალი და იგი დაკავშირებულია გარე LED– ებთან.

ნაბიჯი 7: Android აპლიკაცია

Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია
Android აპლიკაცია

Android აპლიკაციას აქვს ვირტუალური კონტროლის ინტერფეისი, რომელიც ჰგავს რეალურ ინტერფეისს. მას აქვს ხუთი ღილაკი; ON / OFF, UP, DOWN, ძილის რეჟიმი და დაკავშირება. ეს Android აპლიკაცია შეძლებს ღილაკების დაჭერის ბრძანებად გადაყვანას და ბრძანებებს გაუგზავნის Bluetooth მოდულში შესასრულებლად.

ეს აპლიკაცია დამზადებულია MIT App Inventor– ით, რომელიც არ საჭიროებს პროგრამირების გამოცდილებას. აპლიკაციის გამომგონებელი საშუალებას აძლევს დეველოპერს შექმნას პროგრამა Android OS მოწყობილობებისთვის ვებ ბრაუზერის გამოყენებით პროგრამირების ბლოკების შეერთებით. თქვენ შეგიძლიათ შემოიტანოთ ჩვენი აპლიკაცია MIT აპლიკაციის გამომგონებელში, დააწკაპუნეთ პროექტებზე -> პროექტის იმპორტირებაზე (.aia) ჩემი კომპიუტერიდან და ამ აპლიკაციის შენიშვნაში შემავალი.aia ფაილის არჩევით.

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

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

ეს რიცხვები ნაჩვენებია ცხრილში 1.

დასკვნა

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

გირჩევთ: