Mundarija:

Avtomatik Windows oynalari: 6 qadam (rasmlar bilan)
Avtomatik Windows oynalari: 6 qadam (rasmlar bilan)

Video: Avtomatik Windows oynalari: 6 qadam (rasmlar bilan)

Video: Avtomatik Windows oynalari: 6 qadam (rasmlar bilan)
Video: Noutbook klaviaturasini yoqish #shorts 2024, Iyul
Anonim
Image
Image
Avtomatik Windows pardalari
Avtomatik Windows pardalari
Avtomatik Windows pardalari
Avtomatik Windows pardalari

Oldinda bir so'z

Men qo'lda pardalar va pardalarni avtomatlashtirish bo'yicha juda ko'p qo'llanmalarni ko'rdim, bunda biz elektr soyalarni avtomatlashtiramiz. Biz oqim qutbini teskari aylantirish orqali ochiladigan yoki yopiladigan uzluksiz elektr tok dvigatellari bilan ishlaydigan elektr soyalarni qamrab olamiz.

Agar siz elektr soyalarni sotib olsangiz, siz avtomatizatsiyaga ega bo'lasiz, lekin avtomatlashtirishni o'zingiz qilishingiz uchun sabablar bor:

* ularning yonida faqat yuqoriga/pastga boshqarish uchun kalit bo'lishi mumkin

* bu arzonroq (ba'zi kompaniyalar qo'shimcha $$ uchun ilg'or avtomatlashtirishni taklif qilishadi)

* yanada moslashuvchan, siz ularni har xil sharoitda ochish yoki yopishni dasturlashingiz mumkin, biz bluetooth interfeysining soyalariga ulanadigan python -da veb -server yaratish va soyalarni boshqarish uchun API -ni ochish haqida bilib olamiz, biz ham birlashtiramiz. u so'zlar bilan va u erda siz vaqt jadvalidagi soyalarni boshqarish yoki sensorli kirish orqali boshqarish kabi narsalarni qilishingiz mumkin

Bu oraliq qo'llanma bo'ladi, sizga lehimlash, arduino dasturlash, asosiy elektron tushuncha va xizmatlarni serverga o'rnatish, ishga tushirish va sozlash kabi ko'nikmalar kerak bo'ladi.

Agar sizga youtube videolari yoqqan bo'lsa, bu erga obuna bo'lishingiz mumkin.

1 -qadam: Kerakli narsalar

Kerakli narsalar
Kerakli narsalar
Kerakli narsalar
Kerakli narsalar

Maslahat: tasvirli yorliqlarni ko'rish uchun rasmlarni kattalashtiring

Qismlar:

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

2. HC-05 bluetooth moduli (eBay) 3,3 $

3. 5 V Ikki kanalli o'rni (eBay) 1.6 $

4. NPN tranzistorining qiymati kamida bir necha amperga teng, men Tip142T <1 $ dan foydalanganman.

5. 220 ohm, 0,25 Vt rezistor <1 $

6. diod, 1N4004 <1 $

7. qismlarni ulash uchun simlar <1 $

8. PCB (eBay) <1 $ dona uchun

9. 2 dona KF301-2P vintli ulagich (eBay) <1 $ dona uchun

10. erkak va ayol o'tish simlari (eBay) 1,2 $ x 2 shamlardan

11. L7805CV 5V regulyatori (eBay) <1 $ dona uchun

12. 5,5 mm DC quvvat vilkasi Jek soket erkak va ayol (eBay) <1 $ dona uchun

13. Issiqlikni pasaytiruvchi quvur yoki izolyatsion lenta

14. Elektr ta'minoti, ta'minot 12V va 2-3A uchun baholanishi kerak.

Men o'zimni 12 V 2 A zaryadlovchidan (eBay) 3.2 $ qutqarib qoldim

14. Terminal tasmasi bloki (eBay) 15c

15. sug'urta ushlagichi (Aliexpress) 1 dona

16. sug'urta (eBay) <1 $ dona uchun

17. Erkak va ayol PCB ulagichlari (eBay) <1 $ bizga kerak bo'lgan narsalar uchun

18. AC quvvat kabeli

19. plastik quti muhofazasi, meniki 6 x 19 sm

Asboblar:

1. Lehim bilan lehimlanadigan temir

2. Tel kesuvchi

3. Har xil tornavidalar

4. To'sar

5. kuch matkap va 8,5 mm matkap

6. Arduino pro mini -ni dasturlash uchun USB -ning ketma -ket FTDI adapteri FT232RL

7. Arduino dasturlash uchun ArduinoIDE o'rnatilgan noutbuk

8. Agar siz issiqlik qisqaradigan quvurlardan foydalansangiz, engilroq

9. Bluetooth dasturiy ta'minoti o'rnatilgan bluetooth ulanish qobiliyatiga ega smartfon (men misolda androiddan foydalanaman)

10. Majburiy emas: kattalashtirish oynasi, multimetr, penseler

2 -qadam: tayyorgarlik

Tayyorgarlik
Tayyorgarlik
Tayyorgarlik
Tayyorgarlik
Tayyorgarlik
Tayyorgarlik

Quvvat manbai va plastik qutini tanlash

Birinchidan, dvigatellarning soyalari qancha oqim va qanday kuchlanish bilan ishlashini aniqlash.

Buni spetsifikatsiyalarni o'qish yoki multimetr yordamida o'lchash mumkin. Odatda ular 12 V va 1-3 Amperda ishlaydi (meniki 2,5 A va 12 V). Maksimal oqimni bilish uchun tokni bir vaqtning o'zida qancha haydash kerakligiga ko'paytiring (men ikkitasini boshqaraman). Siz aynan bir xil kuchlanishga va ideal darajada bir xil amperga yoki biroz yuqoriroq quvvat manbasini topishingiz kerak.

Bu bosqichda men 12 V va 2,5 A ikkita dvigatelni boshqarish uchun 12 V va 2,5 A quvvat manbalaridan foydalanib, bir oz aldanib qoldim, bu shuni anglatadiki, dvigatellar quvvat manbaidan ikki barobar ko'proq quvvat sarflaydi. Ammo PWM texnikasi yordamida (batafsil ma'lumotni ko'rish uchun havolani tekshiring) men bir vaqtning o'zida past tezlikda motorni boshqarishga muvaffaq bo'ldim.

Buni qilishimning sababi - qutidagi joyni tejash (men kichikroq qutini tanladim).

Plastik korpusda elektr ta'minoti, ikkita o'rni, elektron qurilmalari va simlari bo'lgan kichik kompyuter bo'lishi kerak, shuning uchun hamma narsa mos bo'lishi uchun o'lchamini tanlang.

Quvvat manbaim plastik korpusga ega edi, men uni dremel asbobi bilan yirtib tashladim, men mavjud simlarni kesib tashladim va shu tariqa men loyihamga mos keladigan arzon va kichik quvvat manbaiga ega bo'ldim (rasmlarga qarang).

Dvigatel kabellarini tayyorlang

Dvigatel kabellari qancha vaqt bo'lishini hisoblashingiz kerak, ya'ni ular biz boshqarayotgan boshqaruv qutisiga yetguncha. Ehtimol, mavjud kabellar etarlicha uzun emas va siz ularni uzaytirasiz, ikkala simni (mavjud pichoqlar kabeli va uzaytirgich kabellari) bir chetidan echib oling, issiqlik qisqaruvchi naychalarni joylashtiring, simlarni lehimlang va keyin issiqlikni qo'llang. izolyatsiyalash uchun engilroq.

Uzaytiruvchi kabelning oxirida erkak 5,5 mm doimiy quvvat manbaiga ega rozetka bo'ladi. Siz ikkita simni rozetkaga lehimlashingiz kerak, natijada rasmdagi kabi bo'ladi.

Quvvat qutisiga 5,5 mm kuchlanishli ayol quvvat manbaiga ulagichni joylashtiring

Burg'ulash mashinasidan foydalanib, uyani siljitish uchun etarlicha katta ikkita teshik oching. Elektr vilkasini rozetkalarga joylashtiring, yong'oq yordamida vidalang. Keyin har bir ulagichga qalin qora va qizil simlarni lehimlang, shundan so'ng ularni issiqlik o'tkazmaydigan quvur yordamida izolyatsiya qiling. Simlar terminallar blokiga osongina kirishi uchun etarlicha uzun bo'lishi kerak, lekin juda ko'p joyni egallash uchun emas.

Sug'urta ushlagichini sug'urta bilan ulash

Qutining bir tomonida sug'urta ushlagichini ushlab turadigan kichik nonni qo'yish uchun kichik teshik oching. Keyin qisqich, tornavida va gaykani ishlatib mahkamlang. Sug'urta ushlagichi quvvat manbai yaqinida bo'lishi va qutining ichida bo'lishi kerak. Yana bir bor rasmlarni tekshiring.

3 -qadam: Elektron yordamida tenglikni yaratish

PCBni elektronika bilan qurish
PCBni elektronika bilan qurish
PCBni elektronika bilan qurish
PCBni elektronika bilan qurish
PCBni elektronika bilan qurish
PCBni elektronika bilan qurish

PCBda mikrokontroller, bluetooth aloqasi, RTC moduli, himoya qilish uchun diodli kuch tranzistori va kichik rezistor, ulagich simlari va 5V regulyator mavjud.

Men fritsig sxemasini biriktirdim, shuning uchun hamma narsa oson bo'ladi. Birinchi rasm sxemaning eksport qilingan tasvirini aks ettiradi va men sketch.fzz faylini ham qo'shdim (asl fayl, siz uni shu asbob yordamida ochishingiz mumkin)

Lehimlash bosqichlari:

1. ayol PCB ulagichlarini kesib oling, mikrokontroller uchun ikkita 12 pinli ulagich mavjud, bluetooth uchun 6 pinli ulagich va mikrokontrollerning o'ng tomonida yana 12 pinli ulagich va o'rni manfiy uchun ikkita pinli ulagich mavjud. va ijobiy kuch

2. Barcha ulagichlar kesilgandan so'ng, PCB orqasida lehimlangan bo'lishi kerak

3. Ikkita KF301-2P ulagichini lehimlang

4. L7805CV 5V regulyatorini tenglikka joylashtiring. Oyoqlarini buking va boshqa tomondan lehimlang, so'ngra ortiqcha oyoqlarini kabel kesgich bilan kesib oling

5. NPN Tip142T tranzistorini va 1N4004 himoya diodini lehimlang, keyin ortiqcha oyoqlarini kesib oling.

6. 220 ohmli rezistorni mos keladigan raqamli pin 5 va tranzistor tayanch pimi o'rtasida lehimlang

7. Tranzistor va KF301-2P vilkalari orasidagi qalinroq simlarni lehimlang (qizil va qora rasmlarda ko'rsatilgan)

8. Barcha qizil (+), qora (-) va oq (signalli) ingichka simlarni fritsig sxemasiga muvofiq lehimlang.

9. Mikrokontrolerdagi lehimli erkak pinlar, yon tomonlarida ikkita 12 ta erkak pin bo'lishi kerak

10. Har bir mikrokontrollerning o'ng tomonidagi ayol mos keladigan pimlarni ulang (bu rasmlarda yaxshiroq tushuntirilgan). Ulanishlar faqat lehim yordamida amalga oshiriladi (pinlar yaqin bo'ladi)

11. Ixtiyoriy: kattalashtiruvchi oynada qisqa tutashuvlar uchun lehimlarni tekshiring va simlar PCB orqasida to'g'ri lehimlanganligini tekshiring, shuningdek, multimetr bilan tekshiring (qarshilik sozlamasi), agar musbat va salbiy aloqalar. Yana bir sinov - bu mikrokontrollersiz, bluetoothsiz, kontaktlarning zanglashiga olib kelishi

12. Mikrokontroller va HC-05 bluetooth-ni kompyuterga joylashtiring

4 -qadam: simlarni o'rnatish va yig'ish

O'rnatish va ulash
O'rnatish va ulash
O'rnatish va ulash
O'rnatish va ulash

Hozircha bizda shaxsiy kompyuter tayyor, bizning plastik qutimizda kabellar va boshqa komponentlar tayyor. Endi biz tizimni sim bilan bog'lashimiz kerak.

1. qutidagi yuqori yon teshik orqali AC quvvat simini joylashtiring, kabelni echib oling va uni quvvat manbaiga lehimlang (agar elektr manbaida vintlar bo'lsa, uni burab qo'ying).

2. Qizil simli lehimdan foydalanib, sigortalar tarafidan quvvat manbai chiqishi (+), ochiq bo'lgan simni yashirish uchun issiqlik qisqaruvchi trubkadan foydalaning.

3. boshqa qizil simni sigortaning boshqa tomoniga qisish trubkasini lehimlang, simning boshqa tomonini KF301-2P vintli ulagichining kirishiga (+) vidalash kerak.

4. Qora simni quvvat manbaining chiqish (-) tomoniga lehimlang, so'ng uni KF301-2P PCB vint ulagichiga ulang.

4. Erkak-ayol non paneli ulagichlaridan foydalanib, o'rni musbat va manfiy pcb musbat va manfiy ayol ulagichlariga ulang. Shuningdek, mikrokontrolerning 8 va 9 -pinlarini (PCB ning chap tomonidagi PCB ulagichlari yordamida) o'rni tetik pimlariga ulang.

5. terminalli bloklar blokining bir tomonini 5,5 mm uzunlikdagi shahar quvvat manbaiga ulanadigan qizil rangli qora simlarga ulang. Sizda men kabi 5,5 mm dan ortiq ayol konnektorlar mavjud, shunda barcha qizil simlar terminal blokining yuqori chap tomonida, terminalning o'ng yuqori qismidagi barcha qora simlarda tugaydi (rasmlarga qarang)). Qachonki siz soyalarni ishlatsangiz, ular bir xil yo'nalishda harakat qilmasa, biz simlarni teskari buramiz (bu haqda keyinroq).

6. KF301-2P (chiqib ketish) vintli ulagichidan keladigan musbat va manfiy simlarni o'rni terminallarining o'rtalariga ulang. Terminallarning o'rtasi umumiy deb ataladi.

7. chap o'rni chap tomonini (siz qanday qarayotganingiz muhim emas) o'ng o'rni chap tomoniga terminal blokining pastki chap qismiga ulang. Keyin chap o'rni o'ng tomonini o'ng o'rni o'ng tomoniga terminal blokining pastki o'ng tomoniga ulang. Terminal bloki yuqori tomoni 5,5 mm bo'lgan ayol konnektorlarga ulangan bo'ladi (5 -qadamga qarang).

Eslatma: Men terminal blokini yuqori va pastki tomonlari har biri chap va o'ng tomonga ega deb ta'rifladim. Qaysi tomon nima ekanligini eslab qolsangiz, terminal blokini qanday ushlab turishingiz muhim emas. Siz rasmlarni va ayniqsa fritsig sxemasini tekshirishingiz mumkin.

5 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

Kodni arduino pro mini -ga USB orqali ketma -ket FTDI FT232RL adapteriga yuklash kerak.

GND, VCC, Rx, Tx va DTR pinini arduino pro mini -ga ulashingiz kerak bo'ladi. Keyin arduino dasturiy ta'minot vositalarini/portini va siz foydalanadigan portni oching. Keyin Tools/Board/Arduino Pro yoki Pro Mini. Keyin asboblar/taxta/protsessor/ATmega328 (5V 16 MGts).

Nihoyat, pastdagi eskizni oching va yuklashni bosing.

Sozlamalar: Eskizda sozlanishi mumkin bo'lgan yagona narsa - bu pwmPower. Qiymat 0 dan 255 gacha bo'lishi mumkin va bu taxminan elektr ta'minotining qancha qismi dvigatellarning soyalariga o'tishini ko'rsatadi. Bu, asosan, quvvatni tezda yoqish va o'chirish. Men buni asosan qizib ketmasdan yoki o'chirmasdan kichikroq quvvat manbasidan foydalanishga ruxsat berish uchun amalga oshirdim. Agar sizning quvvat manbai dvigatellar tortadigan kuchdan katta bo'lsa, siz pwmPower -ni 255 ga o'rnatishingiz mumkin.

Xo'sh, bu dastur qanday ishlaydi: avval u kiruvchi uzatmalar uchun ketma -ket chiziqni (ikkinchi darajali dasturiy ta'minot) tinglaydi. Qachon uzatish kelsa, xabar buferda ";" ga qadar o'qiladi. mavjud yoki buferning oxiriga yetgan. Keyin u tahlil qilinadi va agar u to'g'ri formatda bo'lsa (masalan: O45;), toggleState funktsiyasi birinchi parametr holati va keyin davomiyligi bilan chaqiriladi.

Polarizatsiya kalitiga erishish uchun ikkala o'rni ham ochiladi yoki yopiladi. Tranzistor PWM yordamida belgilangan vaqt davomida yoqiladi va o'chadi. O45 45 soniya davomida ochilishini bildiradi.

Buyruq bajarilgandan so'ng, bufer tozalanadi.

6 -qadam: Foydalanish

Foydalanish
Foydalanish
Foydalanish
Foydalanish
Foydalanish
Foydalanish

Biz boshqaruv elementlarini bir necha usulda ishlatishimiz mumkin

1. Android yoki iphone bluetooth ilovasi orqali (eng oddiy)

Namoyishimda men Bluetooth Controller deb nomlangan android ilovasini tanladim. Bu ilova sizga ketma -ket ma'lumotlarni yuboradigan tugmalarni sozlash imkonini beradi. Men yuqoriga va pastga nomli ikkita tugma yaratdim, men "C40" kodi bilan bog'ladim. va pastga "O35;" bilan.

"C40;" Men soyalarni 40 soniya yopaman (orqaga tortaman) degan ma'noni anglatadi, "035" 35 soniya davomida ochilishini (ko'tarilishini) bildiradi. ";" men eskizda tanlagan buyruq terminatori, bu buyruq tugaganligini bildiradi.

2. Orqa fonda uzluksiz ishlaydigan python skript orqali

Bu darslikning ilgari surilgan qismi. Menda malina pi yoki noutbuk kabi Internetda ishlaydigan serverda ishlaydigan python skriptlari bor. U boshqaruv qutisidagi bluetooth -ga ulanadi va http API -ni ochadi. API -ga to'g'ridan -to'g'ri yoki so'zlar orqali kirish mumkin.

Sizga nima qilish kerakligini bosqichma -bosqich tushuntiraman

a. Birinchi narsa - bluetooth -ni ulash

siz bluetoothctl buyrug'ini konsoldan, ichki turdagi ishlatasiz

yoqish

xx: xx: xx: xx: xx: xx (va parolni kiriting) xx: xx: xx: xx: xx: xx (parol bo'lmasa):

Keyin bluetooth konfiguratsiya faylini oching

vim /etc/bluetooth/rfcomm.conf

ichida siz bluetooth qurilmangizni shunday sozlashingiz kerak bo'ladi:

rfcomm1 {

ha bog'lang; your_bluetooth_mac_address qurilmasi 97: D3: 31: 21: A0: 51; kanal 1; izoh "Mening soyalarimga ulanish bt"; }

ulang, bluetooth xizmatlarini qayta ishga tushiring

sudo rfcomm bind allsudo /etc/init.d/bluetoothni qayta ishga tushirish sudo hciconfig hci0 yuqoriga

b. idishni o'rnatish, kolbaning asosiy avtorizatsiyasi:

sudo -H pip Flask Flask -BasicAuth -ni o'rnatadi

v. Quyidagi kod bilan server.py faylini yarating va serverni ishga tushiring:

# foydalanish: python httpToBluetooth foydalanuvchi nomi paroli bluetooth_address

# Eslatma: foydalanuvchi nomi, parol ishlatiladi

import os, bluetooth, sys, threading

kolbadan importdan flask_basicauth -dan import BasicAuth -ni navbatdan importdan Kuyruk ilovasi = Flask (_ nomi_) konfiguratsiyasi = sys.argv app.config ['BASIC_AUTH_USERNAME'] = konfiguratsiya [1] app.config ['BASIC_AUTH_PASSWORD'] = konfiguratsiya [2] navbati. = Queue () basic_auth = BasicAuth (app) klassi BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_adress, navbati): threading. Thread._ init _ (self) o'zini._ bluetooth_adress = bluetooth_adress o'zini._ navbat = navbat o'z -o'zidan o'chirish = Yolg'on def yugurish (o'zini): o'zini._ bluetooth = self.get_bluetooth () o'z -o'zidan emas. O'chirish: xabar = o'zini._ navbat.get () o'zini._ bluetooth. yuborish (xabar) o'zini._ bluetooth.close () def get_bluetooth (o'zini)): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) try: connection.connect ((self._ bluetooth_adress, 1)) istisnolardan tashqari, e: chop etish "bluetooth -ga xato ulanish" + str (e) ulanishi.setblocking (False) qaytish ulanish klassi 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 (konfiguratsiya [3], navbat)) threads.append (Webserver ()) [thread.start () iplardagi iplar uchun]

serverni ishga tushirish uchun:

python server.py foydalanuvchi paroli 97: D2: 31: 20: A0: 51

OK, shuning uchun server.py - bu bizning skriptimiz, foydalanuvchi va parol - bu sizning autentifikatsiyangiz uchun ishlatiladigan hisob ma'lumotlari va "97: D2: 31: 20: A0: 51" - bu sizning Bluetooth MAC manzilingiz.

d. dunyoning istalgan burchagidan buyruq yuborish uchun serveringizdan foydalaning

brauzer turidan: https:// your_ip: 5000/send_to_serial/C30;

- Python serveri ishga tushganda ilgari o'rnatgan foydalanuvchi va parolni kiriting

- "C30;" bluetooth qurilmasiga yuboriladigan buyruq (soyalarni boshqaradigan qutimiz)

- 5000 -sonli port xavfsizlik devori tomonidan bloklanmaganligini tekshiring (biz bu portdan foydalanmoqdamiz)

- agar siz yo'riqnoma orqasida bo'lsangiz (masalan, malina pi), siz yo'riqchidan 5000 portdan 5000 portgacha yo'naltirishni amalga oshirishingiz kerak.

e. Vaqt jadvalidagi soyalarni boshqarish yoki ba'zi kanal sensori ma'lumotlari o'zgarganda, siz narsalarni boshqarishingiz mumkin. Masalan, siz fikrlash uchun yorug'lik sensori (tashqariga) ulashingiz mumkin, va yorug'lik darajasi biroz tushganda (kechqurun), siz tashqaridagi odamlar sizni ko'rmasligi uchun soyalarni yopishingiz mumkin.

Siz ThingHTTP yordamida soyalarni (biz ilgari o'rnatgan python serverini) Thingspeak bilan ulashingiz mumkin.

Men ThingHTTP shaklining rasmini misol sifatida to'ldirilgan ma'lumotlar va TimeControl bilan rasmni qo'shdim, shuning uchun maksimal moslashuvchanlik uchun so'zlar kerakli narsani qilish kerak.

3. Uy-avtomatlashtirish ilovasi orqali

Bu biroz murakkabroq, mening uyni avtomatlashtirish ilovasi soyalarni boshqarishdan ko'ra ko'proq narsani amalga oshiradi.

U, shuningdek, chiroqlarni, eshikni boshqaradi, bir nechta datchiklarga ega, kommutatorlar bilan birlashtirilgan va foydalanuvchi tomonidan belgilangan murakkab qoidalarga ega, masalan, yorug'lik darajasi past bo'lsa yoki ertalab bo'lsa, soyalarni ochadi.

Siz mening github omborimni tekshirishingiz mumkin va agar sizda savollar bo'lsa, men ularga javob berishdan xursand bo'laman.

Agar siz mening darsligimni biroz foydali deb bilsangiz, uni baham ko'ring yoki sevimlilarga qo'shing. Va men ham qiziqarli sharhlarni ko'rishni xohlayman:)

Tavsiya: