Мазмуну:

Автоматташтырылган Windows Shades: 6 кадам (сүрөттөр менен)
Автоматташтырылган Windows Shades: 6 кадам (сүрөттөр менен)

Video: Автоматташтырылган Windows Shades: 6 кадам (сүрөттөр менен)

Video: Автоматташтырылган Windows Shades: 6 кадам (сүрөттөр менен)
Video: Жолугушуу №5-29.04.2022 | ETF командасынын жолугушуусу жана д... 2024, Июль
Anonim
Image
Image
Автоматташтырылган Windows Shades
Автоматташтырылган Windows Shades
Автоматташтырылган Windows Shades
Автоматташтырылган Windows Shades

Бир сөз алдыда

Мен кол көлөкөлөрдү жана жалюзи автоматташтыруу боюнча көптөгөн окуу куралдарын көрдүм, мында биз электрдик көлөкөлөрдү автоматташтырабыз. Биз токтун полярлыгын артка кайтаруу менен ачылган же жабылган үзгүлтүксүз токтун (DC) электр кыймылдаткычтары менен иштеген электрдик көлөкөлөрдү жабабыз.

Эгерде сиз электрдик көлөкөлөрдү сатып алсаңыз, анда сиз автоматташтырууга ээ болосуз, бирок автоматиканы өз алдынча жасоого негиз бар:

* Алардын жанында өйдө/ылдый көзөмөлдөө үчүн бир гана которгуч болушу мүмкүн

* бул арзаныраак (кээ бир компаниялар кошумча $$ үчүн өнүккөн автоматташтырууну сунушташат)

* ийкемдүү, сиз аларды ар кандай шарттарда ачык же жабык түрдө программалай аласыз, биз блютуз интерфейсине туташкан питондогу веб -серверди жасоону үйрөнөбүз жана көлөкөлөрдү көзөмөлдөө үчүн APIди ачабыз, биз дагы интеграцияланабыз. аны сүйлөө менен жана сиз график боюнча көлөкөлөрдү көзөмөлдөө же сенсордун жардамы менен көзөмөлдөө сыяктуу нерселерди жасай аласыз

Бул орто окуу куралы болот, сизге ширетүү, arduino программалоо, негизги электрондук түшүнүк жана сервисте сервисти кантип орнотуу, иштетүү жана конфигурациялоо сыяктуу көндүмдөр керек болот.

Ютубдагы видеолор сизге жакса, бул жерге жазылсаңыз болот.

1 -кадам: Керектүү нерселер

Керектүү нерселер
Керектүү нерселер
Керектүү нерселер
Керектүү нерселер

Кеңеш: сүрөттөрдүн этикеткаларын көрүү үчүн сүрөттөрдү чоңойтуңуз

Бөлүктөр:

1. arduino pro mini 16Mhz 5V түрү (eBay) 2 $

2. HC-05 bluetooth модулу (eBay) 3.3 $

3. 5 V Эки каналдуу реле (eBay) 1.6 $

4. NPN транзистору, жок дегенде бир нече ампер үчүн бааланат, мен Tip142T <1 $ колдондум

5. 220 Ом, 0,25 Вт резистор <1 $

6. диод, 1N4004 <1 $

7. тетиктерди туташтыруучу зымдар <1 $

8. PCB (eBay) <1 $ даана

9. 2 x KF301-2P сайгычтын сайгычына (eBay) <1 $ даана

10. Эркек-ургаачы секирүүчү зымдар (eBay) 1.2 $ x 2 тутам үчүн

11. L7805CV 5V регулятору (eBay) <1 $ даана

12. 5.5мм DC Power Plug Jack Socket эркек жана ургаачы (eBay) <1 $ даана

13. Жылуулукту азайтуучу түтүк же изоляциялоочу тасма

14. Электр энергиясы менен камсыздоо, жабдуу 12В жана 2-3А үчүн бааланышы керек.

Мен өзүмдү 12 V 2 A заряддагычтан (eBay) 3.2 $ куткардым

14. Терминал тилкесинин блогу (eBay) 15c

15. сактандыргыч кармагыч (Aliexpress) 1 даана

16. сактандыруучу (eBay) <1 $ даана

17. эркек жана аял PCB коннекторлору (eBay) <1 $ бизге эмне керек

18. AC электр кабели

19. пластикалык кутуча, менин 6 х 19 см болгон

Куралдар:

1. Лайк менен темир

2. Зым кескич

3. Ар кандай отверткалар

4. кескич

5. күч бургу жана 8,5 мм бургу

6. USB сериялык FTDI адаптерине FT232RL arduino pro mini программасы

7. Arduino программасы үчүн ArduinoIDE орнотулган ноутбук

8. Эгер жылуулукту кысуучу түтүктөрдү колдонсоңуз, жарык

9. Bluetooth программасы орнотулган bluetooth байланышына жөндөмдүү смартфон (мен мисалда андроид колдоном)

10. Кошумча: лупа, мультиметр, кычкач

2 -кадам: даярдыктар

Даярдыктар
Даярдыктар
Даярдыктар
Даярдыктар
Даярдыктар
Даярдыктар

Электр энергиясын жана пластикалык кутучаны тандоо

Биринчи нерсе, көлөкөлөрдүн моторлору канча ток жана кандай чыңалууда экенин аныктоо.

Бул спецификацияларды окуп же мультиметрди колдонуп өлчөө жүргүзүлүшү мүмкүн. Адатта алар 12 В жана 1-3 Амперди иштетет (меники 2,5 А жана 12 В). Агымды керектүү максималдуу токту билүү үчүн бир убакта айдаш керек (экөөнү айдайм) канчага көбөйткүлө. Сиз так ошол эле чыңалуудагы идеалдуу амперге же бир аз жогору болгон энергия булагын табышыңыз керек.

Бул кадамда мен бир аз алдап койдум, 12 В жана 2,5 А кубаттуулугун колдонуп, эки 12 В жана 2,5 А моторлорун айдайм, бул моторлордун энергия менен камсыздоодон эки эсе көп энергия колдонушун билдирет. Бирок PWM деп аталган техниканы колдонуу менен (кененирээк маалымат алуу үчүн шилтемени караңыз) мен моторду бир убакта бир аз ылдамдыкта айдай алдым.

Муну жасаганымдын себеби - кутучадагы орунду үнөмдөө (мен кичинекей кутучаны тандап алдым).

Пластикалык корпус электр менен камсыздоону, эки релени, электроника менен кичинекей компьютерди жана зымдарды камтышы керек, андыктан бардыгы туура келиши үчүн өлчөмдү тандаңыз.

Менин электр менен камсыздоодо пластикалык корпус бар болчу, мен аны dremel куралы менен бөлүп алдым, мен учурдагы зымдарды кесип салдым жана ушинтип менин проектиме ылайыктуу арзан жана кичине электр менен камсыздоону алдым (сүрөттөрдү караңыз).

Мотор кабелдерин даярдаңыз

Сиз мотор кабелдери канча убакытка созуларын эсептеп алышыңыз керек, башкача айтканда, алар биз башкарып жаткан башкаруу кутусуна жеткенге чейин. Мүмкүнчүлүгү бар болгон кабелдер жетишерлик узун эмес, жана сиз аларды узартууңуз керек, эки зымды (учурдагы пышактар кабели жана узартуу кабелдери) бир четинен сыйрып алыңыз, жылуулукту азайтуучу түтүктөрдү салыңыз, зымдарды ширетип, анан жылуулукту жылуулоо үчүн жеңил.

Узартуу кабелинин аягында эркек 5.5мм DC Power Plug Jack Socket болот. Эки зымды розеткага туташтыруу керек, акыркы жыйынтык сүрөттөрдөгүдөй болот.

Аялдын 5,5 мм DC Power Plug Jackин кутуга салуу

Бургулоочу машинаны колдонуу менен, джек аркылуу өтүү үчүн жетишерлик чоң болгон эки тешик бургулаңыз. Электр розеткаларын киргизиңиз, гайкаларды колдонуп бураңыз. Андан кийин ар бир киргичке коюу кара жана кызыл зымдарды эриткиле, андан кийин аларды жылуулукту кысуучу түтүк менен изоляциялагыла. Зымдар терминалдын тилкесине оңой кире турганчалык узун болушу керек, бирок өтө көп орунду ээлөө үчүн көп эмес.

Сактандыргыч кармагычты сактандыргыч менен бекитүү

Кутунун бир жагына кичине тешик бургулап, сактандыргычты кармоочу кичинекей гайканы коюңуз. Анан кычкачты, бурагычты жана гайканы колдонуп, аны бекем бурап алыңыз. Сактандыргычтын кармагычы электр менен камсыздоочу жайга жакын болушу керек жана кутунун ичинде болушу керек. Дагы бир жолу сүрөттөрдү текшериңиз.

3 -кадам: Электроника менен ПХБ куруу

ПКБны электроника менен куруу
ПКБны электроника менен куруу
ПКБны электроника менен куруу
ПКБны электроника менен куруу
ПКБны электроника менен куруу
ПКБны электроника менен куруу

ПХБ микроконтроллерди, bluetooth байланышын, RTC модулун, коргоо үчүн диод менен кичинекей резисторду, туташтыргыч зымдарды жана 5В жөндөгүчтү камтыйт.

Мен фрицигдин схемасын тиркеп койдум, андыктан баары оңой болот. Биринчи сүрөт схеманын экспорттолгон сүрөтүн билдирет жана мен sketch.fzz тиркеп койгом (түпнуска файл, аны бул курал менен ача аласыз)

Soldering кадамдары:

1. аял PCB туташтыргычтарын кесип, микроконтроллер үчүн эки 12 пин туташтыргычы бар, bluetooth үчүн 6 пин туташтыргычы жана микроконтроллердин оң жагында дагы 12 пин туташтыргычы бар жана реле терс үчүн эки пин туташтыргычы бар жана оң күч

2. Бардык туташтыргычтар кесилгенден кийин ПХБнын арт жагында ширетилиши керек

3. Эки KF301-2P сайгычтын туташтыргычтарын

4. ПКБга L7805CV 5V жөндөгүчтү коюңуз. Буттарын бүгөбүз жана башка тарапка ширетебиз, андан кийин ашыкча буттарды кабель кескич менен кесип алабыз

5. NPN Tip142T транзисторун жана 1N4004 коргоо диодун ширетип, ашыкча буттарды кийин кесип

6. Тиешелүү санариптик пин 5 менен транзистордук базалык пиндин ортосунда 220 ом резисторун туташтырыңыз

7. Транзистор менен KF301-2P штепсельдеринин ортосундагы жоонураак зымдар (сүрөттөрдө белгиленгендей кызыл жана кара)

8. Бардык кызыл (+), кара (-) жана ак (сигнал) жука зымдарды фризиг схемасына ылайык эритүү

9. Микроконтроллердеги Solder эркек казыктары сизге капталдарында эки 12 эркек казык керек

10. Ар бир микроконтроллердин оң жагындагы аялдын тийиштүү казыктарынын ортосунда байланыш түзүңүз (бул сүрөттөрдө жакшыраак түшүндүрүлгөн). Байланыштар жөн эле ширетүүчү аркылуу жасалат (казыктар жакын болот)

11. Кошумча: лупанын жардамы менен кыска туташуу үчүн ширетүүлөрдү текшериңиз жана зымдардын ПХБнын арт жагында туура ширетилгенин текшериңиз, эгерде позитивдүү менен кыска туташуу болсо, мультиметр менен (каршылыктын жөндөөсү) текшере аласыз. терс байланыштар. Дагы бир сыноо - микроконтроллерсиз, блютузсуз схеманы иштетүү

12. Микроконтроллерди жана HC-05 bluetoothду pcbге коюңуз

4 -кадам: Электр өткөргүчтөрү жана монтаждоо

Кабель жана монтаж
Кабель жана монтаж
Кабель жана монтаж
Кабель жана монтаж

Азырынча бизде pcb даяр, биздин пластикалык кутуча кабелдер кабелдери жана башка компоненттерибиз даяр. Биз азыр системаны зым менен жабыш керек.

1. кутунун жогорку каптал тешиги аркылуу AC электр кабелин салыңыз, кабелин сыйрып алып, аны электр булагына кошуңуз (эгерде сиздин электр булагыңызда бурамалар болсо, анда аны бурап салыңыз)

2. Кызыл зымдын ширеткичтерин колдонуп, электр менен камсыздоонун бир жагына (+), ачык болгон жипти жашыруу үчүн бир аз жылытуучу түтүктү колдонуңуз.

3. дагы бир кызыл зымдын эриткичти колдонуңуз, зымдын экинчи тарабын KF301-2P сай коннекторунун киришине (+) салыңыз

4. кара зымды электр менен камсыздоонун чыгышына (-) каптап, анан аны PCB киргизүү KF301-2P бурама туташтыргычына сайыңыз

4. Эркек-ургаачы нан коннекторлорун колдонуп, реленин оң жана терсин pcb оң жана терс аял коннекторлоруна туташтырыңыз. Ошондой эле микроконтроллердин 8 жана 9 -казыктарын туташтырыңыз (PCB сол жагындагы pcb эненин туташтыргычтарын колдонуп) реле триггер казыктарына

5. Терминал тилкесинин бир тарабын аялдын 5.5мм DC Power Plug коннекторлорунан келген кызыл түстөгү кара зымдарга туташтырыңыз. Сизде мен сыяктуу 5,5 ммден ашык аял коннекторлору бар, анда кызыл зымдардын баары терминал блогунун жогорку сол жагында, ал эми терминал блогунун жогорку оң жагындагы бардык кара зымдар менен бүтөт (сүрөттөрдү караңыз)). Качан сиз көлөкөлөрдү иштетесиз, эгер алар бир багытта кетпесе, биз бул жердеги зымдарды артка кайтарабыз (бул тууралуу кийинчерээк)

6. KF301-2P (out) бурама коннекторунан келген оң жана терс зымдарды реле терминалдарынын ортолоруна туташтырыңыз. Терминалдардын ортосу жалпы деп аталат.

7. сол реленин сол жагын (реалдуу кандай караганыңыздын мааниси жок) оң реленин сол жагына терминал блогунун төмөнкү сол жагына туташтырыңыз. Андан кийин сол реленин оң жагын оң реленин оң жагына терминал блогунун төмөнкү оң жагына туташтырыңыз. Терминал блогунун жогорку тарабы аял 5,5 мм коннекторлоруна туташкан болот (5 -кадамды караңыз).

Эскертүү: Мен терминалдык блокту ар биринин сол жана оң жактары бар жогорку жана төмөнкү жактары бар деп сүрөттөдүм. Терминал блогун кандай кармап турганыңыздын мааниси жок, эгер сиз кайсы тарап экенин эстесеңиз. Сиз сүрөттөрдү жана өзгөчө фрициг схемасын текшере аласыз.

5 -кадам: Arduino коду

Arduino коду
Arduino коду

Кодду arduino pro miniге USB аркылуу сериялык FTDI адаптерине FT232RL жүктөө керек.

Сиз GND, VCC, Rx, Tx жана DTR пинди arduino pro mini менен туташтырышыңыз керек болот. Андан кийин arduino программалык камсыздоону тандоо куралын/портун жана сиз колдонгон портту ачыңыз. Андан кийин Tools/Board/Arduino Pro же Pro Mini. Андан кийин Tools/Board/Processor/ATmega328 (5V 16Mhz).

Акырында, төмөндөгү эскизди ачып, жүктөө баскычын басыңыз.

Түзөтүүлөр: Эскизде жөнгө салынуучу нерсе pwmPower. Мааниси 0дөн 255ке чейин болушу мүмкүн жана болжол менен электр менен камсыздоо кубатынын канча бөлүгү көлөкөлөрдүн моторлоруна кетет. Бул негизинен кубаттуулукту тез арада өчүрүү жана өчүрүү. Мен муну көбүнчө ысып кетпестен же өчүрбөстөн, кичирээк электр энергиясын колдонууга уруксат берүү үчүн ишке ашырдым. Эгерде сиздин энергия булагыңыз моторлорго караганда чоңураак болсо, pwmPowerди 255ке орнотсоңуз болот.

Ошентип, бул программа кантип иштейт: алгач кирүүчү берүүлөр үчүн сериялык линияны (экинчи программалык серия) угат. Өткөрүү келгенде, билдирүү буферде ";" чейин окулат. бар же буфердин аягына жетти. Андан кийин ал талданат жана эгерде ал туура форматта болсо (мис: O45;), toggleState функциясы биринчи параметр абалы, андан кийин узактыгы менен чакырылат.

Полярдык которуштурууга жетүү үчүн эки реле тең ачылат же жабылат. Транзистор PWMдин жардамы менен көрсөтүлгөн убакытка күйгүзүлүп жана өчүрүлөт. O45 45 секундга ачылат дегенди билдирет.

Буйрук аткарылгандан кийин буфер тазаланат.

6 -кадам: Колдонуу

Колдонуу
Колдонуу
Колдонуу
Колдонуу
Колдонуу
Колдонуу

Биз көзөмөлдү бир нече жол менен колдоно алабыз

1. Android же iphone bluetooth тиркемеси аркылуу (эң жөнөкөй)

Менин демо режимимде Bluetooth Controller деп аталган андроид колдонмосун тандап алдым. Бул колдонмо сизге сериялык маалыматтарды жөнөтө турган баскычтарды ыңгайлаштырууга мүмкүнчүлүк берет. Мен өйдө жана ылдый деп аталган эки баскычты түздүм, мен "C40;" коду менен байланыштырдым. жана Down "O35;" менен.

"C40;" Мен көлөкөлөрдү 40 секундга жабам (артка кетирем), "035" 35 секундга ачылат (жогорулайт) дегенди билдирет. ";" Мен эскизимде тандап алган командалык терминатор, бул команданын аяктаганын билдирет.

2. Арткы фондо тынымсыз иштеген python скрипти аркылуу

Бул үйрөткүчтүн алдыга жылдырылган бөлүгү. Менде малина пи же интернетке туташкан ноутбук сыяктуу серверде иштей турган python скрипти бар. Бул көзөмөл кутучасындагы bluetoothга туташат жана http API ачат. APIге түз же нерселер аркылуу кирүүгө болот.

Мен сизге эмне кылышыңыз керек экенин кадам сайын түшүндүрөм

а. биринчи нерсе bluetoothду жупташтыруу

сиз консолунан bluetoothctl буйругун колдоносуз, ичиндеги түрү

күйгүзүү

xx: xx: xx: xx: xx: xx (жана сырсөздү киргизиңиз) ишенүү xx: xx: xx: xx: xx: xx (эгер сырсөз жок болсо):

кийинки Bluetooth конфигурация файлын ачыңыз

vim /etc/bluetooth/rfcomm.conf

ичинде сиз Bluetooth түзмөгүңүздү төмөнкүдөй конфигурациялашыңыз керек:

rfcomm1 {

ооба байлоо; your_bluetooth_mac_address түзмөгү 97: D3: 31: 21: A0: 51; канал 1; комментарий "Менин көлөкөлөрүмө туташуу bt"; }

байлоо, bluetooth кызматтарын өчүрүп күйгүзүү

sudo rfcomm bind allsudo /etc/init.d/bluetooth кайра өчүрүү sudo hciconfig hci0 жогору

б. колбаны орнотуу, колбанын негизги авторизациясы:

sudo -H пипи Flask Flask -BasicAuth орнотот

в. төмөнкү код менен server.py файлын түзүңүз жана серверди иштетиңиз:

# колдонуу: python httpToBluetooth колдонуучунун сырсөзү bluetooth_address

# Эскертүү: колдонуучунун аты, сырсөз колдонулат

импорт os, bluetooth, sys, threading

колбадан импорттон Flask flask_basicauthтан импорттоо BasicAuth кезектен импорттон Queue app = Flask (_ name_) конфигурация = sys.argv app.config ['BASIC_AUTH_USERNAME'] = конфигурация [1] app.config ['BASIC_AUTH_PASSWORD'] = конфигурация [2] кезек = Queue () basic_auth = BasicAuth (app) class BluetoothBackground (threading. Thread): def _init _ (өзүн, bluetooth_адрес, кезек): threading. Thread._ init _ (өзүн) өзүн._ bluetooth_address = bluetooth_address өзүнчө._ кезек = кезек өзүн өзү өчүрүү = Жалган def иштетүү (өз алдынча): өзүн._ bluetooth = self.get_bluetooth () өзүн өзү өчүрүү учурунда: билдирүү = өзүн._ кезек.get () өзүн._ bluetooth.send (билдирүү) өзүн._ bluetooth.close () def get_bluetooth (өзүн өзү)): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) try: connection.connect ((self._ bluetooth_address, 1)) Exception, e: print 'bluetooth'го ката туташуу' + str (e) туташуусу.setblocking (Жалган) кайтуу байланыш класс Webserver (threading. Thread): def run (өзүнчө): порт = жылы 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 (конфигурация [3], кезек)) threads.append (Webserver ()) [thread.start () жиптердеги жип үчүн]

серверди иштетүү үчүн:

python server.py колдонуучунун сырсөзү 97: D2: 31: 20: A0: 51

Макул, ошондуктан server.py - бул биздин скрипт, колдонуучу жана сырсөз сиздин аутентификацияңыз үчүн колдонулган грамоталар жана "97: D2: 31: 20: A0: 51" сиздин Bluetooth MAC дарегиңиз.

г. дүйнөнүн каалаган жеринен буйрук жөнөтүү үчүн серверди колдонуңуз

браузерден: https:// your_ip: 5000/send_to_serial/C30;

- python серверин иштеткенде мурда орноткон колдонуучуну жана сырсөздү киргизиңиз

- "C30;" bluetooth түзмөгүнө жөнөтүлө турган буйрук (көлөкөлөрдү көзөмөлдөгөн биздин куту)

- 5000 порт сиздин брандмауэр тарабынан тосулбаганын текшериңиз (биз ошол портту колдонобуз)

- эгер сиз роутердин артында болсоңуз (мисалы, малина пи), роутерден 5000 порттон 5000 портко багыттоону жасашыңыз керек

д. Сиз убакыттын графигинде көлөкөлөрдү көзөмөлдөө сыяктуу нерселерди жасоо үчүн нерселерди колдоно аласыз же кээ бир канал сенсорунун маалыматы өзгөргөндө. Мисалы, сиз ой жүгүртүү үчүн жарык сенсорун (сыртынан) илип койсоңуз болот жана жарыктын деңгээли бир аз төмөндөгөндө (кечинде) сиз сырттагы адамдар сизди көрбөшү үчүн көлөкөлөрдү жаба аласыз.

ThingHTTP аркылуу көлөкөлөрдү (биз мурда орноткон python серверин) нерселер менен байланыштырсаңыз болот.

Мен мисал катары толтурулган маалыматтар менен ThingHTTP формасынын сүрөтүн жана TimeControl менен сүрөттү коштум, ошондуктан максималдуу ийкемдүүлүк үчүн нерселер эмне керек болсо, ошонун баарын жасашы керек.

3. Менин үйүмдү автоматташтыруу тиркемеси аркылуу

Бул бир аз татаалыраак, менин үйдү автоматташтыруу тиркемеси көлөкөлөрдү башкаруудан да көптү кылат.

Ал ошондой эле жарыктарды, эшикти башкарат, бир нече сенсорлору бар, өчүргүчтөр менен интеграцияланат жана колдонуучунун татаал эрежелерине ээ, мисалы, жарыктын деңгээли төмөн болсо же эртең менен болсо, көлөкөлөрдү ача алат.

Сиз менин github репозиторийимди текшере аласыз, эгер сизде суроолор болсо, мен аларга жооп берүүгө кубанычтамын.

Эгерде сиз менин окуу куралымды бир аз пайдалуу деп тапсаңыз, аны бөлүшүңүз же сүйүктүүлөргө кошуңуз. Мен дагы кызыктуу комментарийлерди көргүм келет:)

Сунушталууда: