Mündəricat:

Avtomatik Windows Shades: 6 Addım (Şəkillərlə birlikdə)
Avtomatik Windows Shades: 6 Addım (Şəkillərlə birlikdə)

Video: Avtomatik Windows Shades: 6 Addım (Şəkillərlə birlikdə)

Video: Avtomatik Windows Shades: 6 Addım (Şəkillərlə birlikdə)
Video: Kim nə başa düşdü ❓ 2024, Iyul
Anonim
Image
Image
Avtomatik Windows Kölgələri
Avtomatik Windows Kölgələri
Avtomatik Windows Kölgələri
Avtomatik Windows Kölgələri

Bir söz qabaqda

Əl çalarları və pərdələrin necə avtomatlaşdırılması ilə bağlı çoxlu dərslər gördüm, yaxşı ki, elektrik çalarlarını avtomatlaşdıracağıq. Cərəyanın polaritesini dəyişdirərək açılan və ya bağlanan davamlı cərəyan (DC) elektrik mühərrikləri ilə işləyən elektrik çalarlarını əhatə edəcəyik.

Elektrikli çalarlar alsanız, bir az avtomatlaşdırma əldə edəcəksiniz, ancaq avtomatlaşdırmanı özünüz etmək üçün bir səbəb var:

* Yanınızda yuxarı/aşağı nəzarət üçün yalnız bir açarınız ola bilər

* daha ucuzdur (bəzi şirkətlər bir çox əlavə dollar üçün inkişaf etmiş avtomatlaşdırma təklif edir)

* daha çevik, onları müxtəlif şəraitlərdə aça və ya bağlaya biləcəyiniz üçün proqramlaşdıra bilərsiniz, çalarları bluetooth interfeysinə bağlayacaq və kölgələri idarə etmək üçün bir API ortaya qoyan pythonda bir veb server qurmağı öyrənəcəyik. şeyi danışmaqla və orada bir zaman cədvəlində kölgələri idarə etmək və ya sensor girişi ilə idarə etmək kimi şeylər edə bilərsiniz

Bu aralıq bir dərs olacaq, lehimləmə, arduino proqramlaşdırma, əsas elektron anlayış və xidmətlərin bir serverə necə qurulması, işlədilməsi və konfiqurasiyası kimi bacarıqlara ehtiyacınız olacaq.

YouTube videolarını bəyəndinizsə bura abunə ola bilərsiniz.

Addım 1: Lazım olan şeylər

Tələb olunan şeylər
Tələb olunan şeylər
Tələb olunan şeylər
Tələb olunan şeylər

İpucu: üzərindəki təsviri etiketləri görmək üçün şəkilləri böyüdün

Parçalar:

1. arduino pro mini 16Mhz 5V tipli (eBay) 2 $

2. HC-05 bluetooth modulu (eBay) 3.3 $

3. 5 V İki kanallı röle (eBay) 1.6 $

4. Ən azı bir neçə amper üçün qiymətləndirilən NPN tranzistoru, Tip142T <1 $ istifadə etdim

5. 220 ohm, 0.25W rezistor <1 $

6. diod, 1N4004 <1 $

7. hissələri birləşdirmək üçün tellər <1 $

8. PCB (eBay) <1 $ parça başına

9. 2 ədəd KF301-2P vida konnektoru (eBay) <1 $ parça başına

10. Kişi-qadın tullanan telləri (eBay) 1.2 $ x 2 dəstə üçün

11. L7805CV 5V tənzimləyicisi (eBay) <1 $ ədəd

12. 5.5mm DC Güc Fişli Jack Soket kişi və qadın (eBay) <1 dollar başına

13. İstilik Büzücü Boru və ya izolyasiya lenti

14. Enerji təchizatı, təchizatı 12V və 2-3A üçün qiymətləndirilməlidir.

Mən 12 V 2 A şarj cihazından (eBay) 3.2 $ -dan xilas oldum

14. Terminal zolaq bloku (eBay) 15c

15. qoruyucu tutacaq (Aliexpress) 1 ədəd üçün 1 dollar

16. qoruyucu (eBay) <1 $ ədəd

17. kişi və qadın pcb bağlayıcıları (eBay) <1 $ ehtiyacımız üçün

18. AC elektrik kabeli

19. plastik qutu örtüyü, mənimki 6 x 19 sm idi

Alətlər:

1. Lehim ilə lehimləmə dəmiri

2. Tel kəsici

3. Müxtəlif növ tornavidalar

4. Kəsici

5. güc matkabı və 8.5 mm qazma ucu

6. Arduino pro mini proqramlaşdırmaq üçün FT232RL seriyalı FTDI adapterindən USB

7. Arduino proqramlaşdırmaq üçün ArduinoIDE quraşdırılmış noutbuk

8. Heat Shrink Boru istifadə etsəniz daha yüngül

9. Bluetooth proqramı quraşdırılmış bluetooth əlaqəsi olan bir smartfon (nümunədə bir android istifadə edirəm)

10. İsteğe bağlı: böyüdücü şüşə, multimetr, kəlbətinlər

Addım 2: Hazırlıqlar

Hazırlıqlar
Hazırlıqlar
Hazırlıqlar
Hazırlıqlar
Hazırlıqlar
Hazırlıqlar

Elektrik təchizatı və plastik qutu seçimi

İlk şey, motorların çalarlarının nə qədər cərəyan və hansı gərginlikdə işlədiyini müəyyən etməkdir.

Bu, spesifikasiyanı oxumaq və ya multimetrdən istifadə edərək ölçü götürməklə edilə bilər. Adətən 12 V və 1-3 Amperdə işləyirlər (mina 2,5 A və 12 V). Lazım olan maksimum cərəyanı öyrənmək üçün cərəyanı eyni anda sürməyiniz lazım olan miqdarla vurun (ikisini idarə edirəm). Eyni gərginliyə və ideal olaraq eyni amperə və ya bir qədər yüksək olan bir enerji təchizatı tapmalısınız.

Bu addımda, iki 12 V və 2.5 A mühərrikləri idarə etmək üçün 12 V və 2.5 A enerji təchizatı istifadə edərək bir az aldatdım, bu da mühərriklərin enerji təchizatının verə biləcəyindən iki qat çox güc istifadə etməsi deməkdir. Ancaq PWM adlı bir texnikadan istifadə edərək (daha ətraflı məlumat üçün linki yoxlayın) motoru eyni vaxtda daha aşağı sürətlə idarə etməyi bacardım.

Bunu etməyimin səbəbi qutuda yer saxlamaqdır (daha kiçik bir qutu seçmişəm).

Plastik korpusda elektrik təchizatı, iki röle, elektronikası olan kiçik bir pcb və tellər olmalıdır, buna görə hər şeyi uyğunlaşdırmaq üçün ölçüsü seçin.

Enerji təchizatımda bir dremel aləti ilə parçaladığım plastik bir qapaq var idi, mövcud telləri kəsdim və bu şəkildə layihəm üçün uyğun ucuz və kiçik bir enerji təchizatı aldım (şəkillərə baxın).

Motor kabellərini hazırlayın

Motor kabellərinin nə qədər uzun olacağını hesablamalısınız, yəni bulduğumuz idarəetmə qutusuna çatana qədər. Çox güman ki, mövcud kabellər kifayət qədər uzun deyil və onları uzatmalısınız, hər iki teli (mövcud bıçaq kabeli və uzatma kabelləri) bir ucundan soyun, istilik büzücü borular qoyun, telləri lehimləyin və sonra istilik tətbiq edin. izolyasiya etmək üçün daha yüngüldür.

Uzatma kabelinin sonunda kişi 5.5mm DC Güc Fişi Jak Soketi olacaq. İki teli yuvaya yapışdırmalısınız, son nəticə şəkildəki kimi olacaq.

Dişi 5.5mm DC Güc Fişini qutuya daxil edin

Qazma maşınından istifadə edərək krikonun keçməsi üçün kifayət qədər böyük olan iki delik qazın. Elektrik fişini daxil edin, qoz -fındıqdan istifadə edərək vidalayın. Sonra qalın qara və qırmızı telləri hər bir jak girişinə lehimləyin, bundan sonra istilik büzmə borusu ilə izolyasiya edin. Tellər terminal şeridi blokuna asanlıqla girə biləcək qədər uzun olmalıdır, lakin çox yer tutmaq üçün uzun olmamalıdır.

Sigorta tutucusunun sigorta ilə bağlanması

Qutunun bir tərəfində, qoruyucu tutucunu yerində tutan kiçik bir qoz qoymaq üçün kiçik bir çuxur qazın. Sonra kəlbətin, bir tornavida və qozdan istifadə edərək, vidalayın. Sigorta tutucusu enerji təchizatı yerinə yaxın olmalıdır və qutunun içərisində olmalıdır. Şəkilləri bir daha yoxlayın.

Addım 3: Elektronika ilə PCB qurmaq

Elektronika ilə PCB qurulması
Elektronika ilə PCB qurulması
Elektronika ilə PCB qurulması
Elektronika ilə PCB qurulması
Elektronika ilə PCB qurulması
Elektronika ilə PCB qurulması

PCB -də mikro nəzarətçi, bluetooth əlaqəsi, RTC modulu, qoruma üçün bir diodlu bir güc tranzistoru və kiçik bir rezistor, bağlayıcı tellər və 5V tənzimləyicisi olacaq.

Fritzig sxemini əlavə etdim ki, işlər asan olsun. İlk şəkil, sxematikanın ixrac edilmiş görüntüsünü təmsil edir və sketch.fzz faylını da əlavə etdim (orijinal fayl, bu alətlə aça bilərsiniz)

Lehimləmə addımları:

1. qadın PCB konnektorlarını kəsin, mikrokontrolör üçün iki 12 pinli bağlayıcı var, bluetooth üçün 6 pinli bağlayıcı və mikro nəzarətçinin sağ tərəfində başqa 12 pinli konnektor və rölin mənfi üçün iki pinli bağlayıcı var və müsbət güc

2. Bütün bağlayıcılar kəsildikdən sonra PCB -nin arxasına lehimlənməlidir

3. İki KF301-2P fiş konnektorunu lehimləyin

4. L7805CV 5V tənzimləyicisini PCB -yə qoyun. Ayaqlarını bükün və digər tərəfdən lehimləyin, sonra artıq ayaqları kabel kəsici ilə kəsin

5. NPN Tip142T tranzistorunu və 1N4004 qoruyucu diodunu lehimləyin, sonra artıq ayaqları kəsin

6. Müvafiq rəqəmsal pin 5 ilə tranzistor əsas pimi arasında 220 ohm rezistoru lehimləyin

7. Tranzistor və KF301-2P fişləri arasında qalın telləri lehimləyin (şəkillərdə qeyd edildiyi kimi qırmızı və qara)

8. Bütün qırmızı (+), qara (-) və ağ (siqnal) nazik telləri fritzig sxeminə görə lehimləyin

9. Mikrokontroldəki lehimləyici kişi sancaqları, yanlarda iki 12 erkək sancağına ehtiyacınız var

10. Hər bir mikrokontrolörün sağ tərəfindəki dişi uyğun pinlər arasında əlaqə qurun (şəkillərdə daha yaxşı izah edilmişdir). Bağlantılar yalnız lehimlə ediləcək (pinlər yaxın olacaq)

11. İsteğe bağlı: böyüdücü şüşə ilə qısa qapanmalar üçün lehimləri yoxlayın və tellərin PCB -nin arxasında düzgün bir şəkildə lehimləndiyini yoxlayın, pozitiv və qısaqapanma arasında multimetrlə (müqavimət ayarı) yoxlaya bilərsiniz. mənfi əlaqələr. Başqa bir sınaq, mikrokontrolör, bluetooth olmadan dövrəni gücləndirməkdir

12. Mikro nəzarətçini və HC-05 bluetoothunu PCB-yə yerləşdirin

Addım 4: Kablolama və montaj

Kabel və montaj
Kabel və montaj
Kabel və montaj
Kabel və montaj

İndiyə qədər pcb -ni hazırladıq, plastik qutumuz kabel tellərini bağladı və digər komponentlərimizi hazırladı. İndi etməli olduğumuz tək şey sistemə tel çəkməkdir.

1. Qutunun yuxarı yan çuxurundan AC elektrik kabelini daxil edin, kabeli soyun və elektrik təchizatı üzərində lehimləyin (əgər elektrik təchizatında vintlər varsa, vidalayın)

2. Qırmızı telli lehimdən istifadə edərək qoruyuculardan birinə enerji təchizatı çıxışını (+) çıxarın, açılmış teli gizlətmək üçün bir az istilik büzücü borudan istifadə edin.

3. Sigortanın digər tərəfinə başqa bir qırmızı tel lehimləyin, büzülmə borusunu tətbiq edin, telin digər tərəfi KF301-2P vida bağlayıcısının girişinə (+) vidalanmalıdır.

4. Qara teli enerji təchizatının çıxışına (-) tərəfə lehimləyin və sonra PCB girişi KF301-2P vida bağlayıcısına vidalayın.

4. Kişi-qadın çörək taxtası bağlayıcılarından istifadə edərək röleyi pozitiv və mənfi pcb pozitiv və mənfi qadın konnektorlarına bağlayın. Ayrıca mikrokontrolörün 8 və 9 pinlərini (PCB -nin solundakı pcb ana bağlayıcılarından istifadə edərək) röle tetikleyicilərinə bağlayın.

5. terminal zolaq blokunun bir tərəfini dişi 5.5mm DC Güc Plug konnektorlarından gələn qırmızı rəngli qara tellərə bağlayın. Məndə olduğu kimi 5,5 mm -dən çox qadın konnektorlar varsa, bütün qırmızı tellər terminal bloğunun sol üst tərəfində və terminal blokunun sağ üst tərəfindəki bütün qara tellərdə bitəcək (şəkillərə baxın)). Çalarları eyni istiqamətdə hərəkət etməsələr işlədəcəyiniz zaman buradakı telləri tərsinə çevirəcəyik (bu barədə daha sonra)

6. KF301-2P (çıxan) vida konnektorundan gələn müsbət və mənfi telləri röle terminallarının arakəsmələrinə bağlayın. Terminalların ortasına ümumi deyilir.

7. sol rölin sol tərəfini (gerçəklə necə qarşılaşdığınızın əhəmiyyəti yoxdur) sağ rölin sol tərəfinə terminal blokunun aşağı sol tərəfinə bağlayın. Sonra sol rölin sağ tərəfini sağ rölin sağ tərəfinə terminal blokunun sağ alt tərəfinə bağlayın. Terminal blokunun üst tərəfi dişi 5.5 mm konnektorlara bağlanacaq (5 -ci addıma baxın).

Qeyd: Terminal blokunu hər birinin sol və sağ tərəfi olan yuxarı və aşağı tərəfləri kimi təsvir etdim. Hansı tərəfin nə olduğunu xatırladığınız müddətcə terminal blokunu necə tutmağınızın əhəmiyyəti yoxdur. Şəkilləri və xüsusilə fritzig sxemini yoxlaya bilərsiniz.

Addım 5: Arduino Kodu

Arduino kodu
Arduino kodu

Kodun USB -dən seriyalı FTDI adapteri FT232RL -dən istifadə edərək arduino pro mini -yə yüklənməsi lazımdır.

GND, VCC, Rx, Tx və DTR pinini arduino pro mini -yə bağlamalı olacaqsınız. Sonra arduino proqram seçim alətlərini/portunu və istifadə etdiyiniz portu açın. Sonra Tools/Board/Arduino Pro və ya Pro Mini. Sonra Alətlər/Kart/Prosessor/ATmega328 (5V 16Mhz).

Nəhayət, aşağıdakı eskizi açın və Yüklə düyməsini basın.

Düzəlişlər: Eskizdə düzəldilə bilən tək şey pwmPower -dir. Dəyər 0 ilə 255 arasında ola bilər və təxminən enerji təchizatı gücünün çalarların motorlarına nə qədər gedəcəyini ifadə edir. Əsasən gücü tez bir zamanda açmaq və söndürməkdir. Daha çox qızdırmadan və ya söndürmədən daha kiçik bir enerji təchizatı istifadə etməyimə icazə vermək üçün əsasən tətbiq etdim. Elektrik təchizatı mühərriklərin çəkəcəyindən daha böyük bir gücə sahibdirsə, pwmPower -i 255 -ə təyin edə bilərsiniz.

Beləliklə, bu proqram necə işləyir: əvvəlcə gələn ötürmələr üçün serial xəttini (ikincil proqram seriyası) dinləyir. Bir ötürmə gəldikdə, mesaj buferdə ";" işarəsinə qədər oxunur. mövcuddur və ya buferin sonuna çatılır. Sonra təhlil edilir və düzgün formatda olarsa (məsələn: O45;) toggleState funksiyası ilk parametr vəziyyəti və sonra müddəti ilə çağırılır.

Qütb keçidinə nail olmaq üçün hər iki röle ya açılır, ya da bağlanır. Tranzistor, müəyyən edilmiş müddət üçün PWM istifadə edərək açılır və söndürülür. O45 45 saniyə ərzində açıq olacaq.

Komanda icra edildikdən sonra tampon silinir.

Addım 6: İstifadə

İstifadə
İstifadə
İstifadə
İstifadə
İstifadə
İstifadə

Nəzarətləri birdən çox şəkildə istifadə edə bilərik

1. Android və ya iphone bluetooth tətbiqi ilə (ən sadə)

Demomda Bluetooth Controller adlı bir Android tətbiqini seçdim. Bu proqram, serial məlumatları göndərəcək düymələri düzəltməyə imkan verir. Yuxarı və Aşağı adlı iki düymə yaratdım, "C40;" kodu ilə əlaqələndirdim. və Down "O35;" ilə.

"C40;" kölgələri 40 saniyə bağlayacağım deməkdir, "035" 35 saniyə açılacaq (yuxarı qalxacaq) deməkdir. ";" eskizimdə seçdiyim əmr terminatorudur, bu o deməkdir ki, bir əmrin bitdiyini bildirir.

2. Arxa planda davamlı işləyən bir python skripti vasitəsi ilə

Bu, təlimin təbliğ olunan hissəsidir. Məndə moruq pi və ya internetə çıxışı olan noutbuk kimi bir serverdə işləyəcək bir python skriptim var. İdarəetmə qutusundakı bluetooth -a qoşulacaq və http API -ni ifşa edəcək. API -yə birbaşa və ya şeyi danışmaqla daxil olmaq olar.

Nə etməli olduğunuzu addım -addım izah edəcəyəm

a. ilk şey bluetooth -u qoşmaqdır

konsoldan bluetoothctl əmrindən istifadə edəcəksiniz, içərisində

işə salın

xx: xx: xx: xx: xx: xx (və parol daxil edin) etibar edin xx: xx: xx: xx: xx: xx (parol yoxdursa):

sonra bluetooth konfiqurasiya faylını açın

vim /etc/bluetooth/rfcomm.conf

içərisində bluetooth cihazınızı belə konfiqurasiya etməlisiniz:

rfcomm1 {

bəli bağla; Sizin_bluetooth_mac_address cihazınız 97: D3: 31: 21: A0: 51; kanal 1; şərh "Çalarlarımla əlaqə bt"; }

bağlayın, bluetooth xidmətlərini yenidən başladın

sudo rfcomm bind allsudo /etc/init.d/bluetooth yenidən başladın sudo hciconfig hci0 yuxarı

b. flask, flask basic auth quraşdırın:

sudo -H pip Flask Flask -BasicAuth quraşdırın

c. aşağıdakı kodu olan server.py faylını yaradın və serveri işə salın:

# istifadə: python httpToBluetooth istifadəçi adı bluetooth_address

# Qeyd: istifadəçi adı, şifrə istifadə olunur

id, os, bluetooth, sys, yiv açma

balon idxalından flask_basicauth idxalından Flask növbə idxaldan BasicAuth idxal Queue app = Flask (_ name_) konfiqurasiya = sys.argv app.config ['BASIC_AUTH_USERNAME'] = konfiqurasiya [1] app.config ['BASIC_AUTH_PASSWORD'] = konfiqurasiya [2] növbə = Queue () basic_auth = BasicAuth (app) sinfi BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue self.shutdown = Yanlış def run (özünü): özünü._ bluetooth = self.get_bluetooth () özünü yox edərkən: bağlama: mesaj = özünü._ növbə.get () özünü._ bluetooth. göndər (mesaj) özünü._ bluetooth.close () def get_bluetooth (özünü)): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (Yoxdur) cəhd edin: connection.connect ((self._ bluetooth_address, 1)) istisna olmaqla, e: print 'bluetooth -a səhv bağlantı' + str (e) bağlantısı.setblocking (Yanlış) geri dönmə əlaqə sinfi Webserver (threading. Thread): def run (self): port = in t (os.environ.get ('PORT', 5000)) app.run (host = '0.0.0.0', port = port, debug = True, use_reloader = False) @app.route ("/send_to_serial/") @basic_auth.required def send_to_serial (command): queue.put (command) return 'ok' threads = threads.append (BluetoothBackground (configuration [3], queue)) threads.append (Webserver ()) [thread.start () mövzuda olan mövzu üçün]

serveri çalıştırmak üçün:

python server.py istifadəçi şifrəsi 97: D2: 31: 20: A0: 51

Tamam, buna görə server.py bizim skriptimizdir, istifadəçi və şifrəniz, doğrulamanız üçün istifadə olunan etimadnamənizdir və "97: D2: 31: 20: A0: 51" bluetooth MAC ünvanınızdır.

d. dünyanın hər yerindən əmr göndərmək üçün serverinizdən istifadə edin

brauzer növündən: https:// your_ip: 5000/send_to_serial/C30;

- python serverini işə salanda əvvəllər qurduğunuz istifadəçi və şifrəni daxil edin

- "C30;" bluetooth cihazına yönəldiləcək əmrdir (çalarları idarə edəcək qutumuz)

- 5000 portunun firewall tərəfindən bloklanmadığını yoxlayın (bu portdan istifadə edirik)

- bir marşrutlaşdırıcının (məsələn, bir moruq pi) arxasındasınızsa, marşrutlaşdırıcıdan 5000 portdan 5000 porta yönləndirmə etməlisiniz.

e. Zaman cədvəlində çalarları idarə etmək və ya bəzi kanal sensoru məlumatlarının dəyişməsi kimi işlər görmək üçün şeylərdən istifadə edə bilərsiniz. Məsələn, düşünmək üçün bir işıq sensoru (kənarda) bağlaya bilərsiniz və işıq səviyyəsi bir qədər aşağı düşəndə (axşam) kölgələri bağlaya bilərsiniz ki, xaricdəki insanlar sizi görməsin.

ThingHTTP istifadə edərək kölgələri (əvvəllər qurduğumuz python serveri) ThingsHTP ilə birləşdirə bilərsiniz.

Nümunə olaraq doldurulmuş məlumatları olan ThingHTTP formasının bir şəklini və TimeControl ilə bir şəkil daxil etdim, buna görə maksimum rahatlıq üçün, danışmaq üçün lazım olan hər şeyi etməlisiniz.

3. Ev avtomatlaşdırma tətbiqim vasitəsi ilə

Bu bir az daha mürəkkəbdir, mənim ev avtomatlaşdırma tətbiqim kölgələri idarə etməkdən daha çox şey edir.

Həm də işıqları, qapını idarə edir, birdən çox sensoru var, açarları ilə inteqrasiya olunur və içəridə işıq səviyyəsi aşağı olduqda və ya səhər saatlarında kölgələri aça bilən kompleks istifadəçi qaydalarına malikdir.

Github anbarımı yoxlaya bilərsiniz və suallarınız varsa cavablandırmaqdan məmnun olaram.

Dərsliyimi bir qədər faydalı hesab edirsinizsə, paylaşın və ya sevimlilərinizə əlavə edin. Mən də maraqlı şərhlər görmək istəyirəm:)

Tövsiyə: