Мазмуну:

Rotary Encoder баскычы: 6 кадам
Rotary Encoder баскычы: 6 кадам

Video: Rotary Encoder баскычы: 6 кадам

Video: Rotary Encoder баскычы: 6 кадам
Video: Lesson 97: Controlling Servo Motor using Rotary Encoder and Display Angle On LCD 2024, Ноябрь
Anonim
Rotary Encoder баскычы
Rotary Encoder баскычы

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

  • Батарея иштетилгенде өтө аз ток керектөө менен иштейт
  • Башкаруу бурулганда автоматтык түрдө жандыруу
  • Белгисиз мезгилден кийин автоматтык уйку
  • Башкаруу өзгөртүлгөндө конфигурациялануучу аракеттер

    • Позициясы билдирилген жөнөкөй веб кирүү
    • MQTT отчету
    • Lighwaverf лампасын караңгылатууну башкаруу
  • Өтө кичинекей өлчөм
  • Төмөн наркы
  • Wi -Fi аркылуу программалык камсыздоону жаңыртуу
  • Wi -Fi тармагына кирүүнү башкаруу

1 -кадам: Компоненттер жана инструменттер керек

Компоненттер жана инструменттер керек
Компоненттер жана инструменттер керек
Куралдар жана компоненттер керек
Куралдар жана компоненттер керек
Куралдар жана компоненттер керек
Куралдар жана компоненттер керек

Төмөнкү компоненттер керек

Кап - 3D басылган тиркеме бар

www.thingiverse.com/thing:3173779

  • ESP-12F ESP8266 модулу
  • Ротари коддогучту башкаруу (EC11) + Баскыч
  • Слайдды которуу/өчүрүү
  • 3 пин розетка
  • LIPO батарейкасы 400mAh 802030
  • 3.3V чыңалуу refulator (xc6203)
  • 220uF конденсатор
  • Резисторлор 1M, 4K7 (2)
  • Schottky диод 1N5819 (2)
  • P каналы MOSFET (AO3401)
  • Эмаль зым (ширетүүчү)
  • Зымды туташтыруу

Төмөнкү инструменттер керек

Жакшы чекит

2 -кадам: Электроника

Электроника
Электроника

Электроника ESP-12F модулуна негизделген. Батареяны жөнгө салуу үчүн автоматтык түрдө өчүрүү жана өчүрүү үчүн керектүү электроника колдонулат.

Электр кубатын башкаруу ESP-12Fдеги EN сигналы аркылуу жүргүзүлөт, ал модулду иштетүү үчүн бийик болушу керек. Бул 1M каршылыгы менен төмөн кармалып турат, бирок MOSFET транзистору менен жогору көтөрүлүшү мүмкүн. 4u7 конденсатору MOSFET өчүрүлгөндөн кийин дагы эң аз дегенде бир нече секунда активдештирүүнү берет.

MOSFET транзистору адегенде айлануучу коддоо которгучтарынын бири тарабынан күйгүзүлөт. Андан кийин ESP8266 коду иштей баштаганда GPIO сигналы менен сакталышы мүмкүн.

MOSFET GPIO сигналы тыныгуу мезгилинде аракетсиздиктен кийин бошотулганда өчөт.

3 -кадам: Ассамблея

Ассамблея
Ассамблея
Ассамблея
Ассамблея

Мен кийинки монтаждык кадамдарды жасадым.

  • 3d корпусун басып чыгаруу
  • Күйгүзүү/өчүрүү которгучуна жана 3 пин заряддагыч чекитке туура келет. Орнотуу үчүн чайырды колдонуңуз жана ички белгилерди минималдуу узундукка түшүрүңүз
  • Бийиктигиңизди азайтуу үчүн бутуңузду тегерете башкарып туруңуз
  • Башкаруу үчүн 4 зым бекит. Баскыч баскычынын которгучунун бир жагы коддоочу өчүргүчтөрдүн борбордук туташтыргычына туташтырылган.
  • Капкагы бар кодерди тиркеп, анын гайкасы менен бекемдеңиз. Кнопканы кошуу
  • Регуляторду конденсаторго орнотуп, андан зымдарды ESP-12F модулундагы электр казыктарына туташтырыңыз
  • ESP-12F модулунун арт жагындагы башка электрондук компоненттерди ширетүү. Буларды туташтыруу үчүн эмаль жез зымын колдондум. EN пининде кыска зым колдонулган, анткени ага бир нече компоненттер тиркелген.
  • Күйгүзүү / өчүрүү зымына илгич
  • Батареядагы ширетүү заряддагыч пунктка алып келет жана күйгүзүү / өчүрүүчүдөн азыктандырат
  • Күйгүзүү/өчүрүү которгучтан жөндөгүчтүн киришине чейин зымдагы ширетүү.
  • Тракторго коддогучтан 4 зымды тиркеңиз.

Эскертүү Мен мүмкүн болушунча кичине өлчөмдө болуш үчүн smd компоненттерин колдондум. Эгерде чоңураак компоненттерди колдонуп жатсаңыз, анда 3d корпусунун бийиктигин жогорулатууңуз керек болот. Ошо сыяктуу эле, сиз башка өлчөмдөгү батареяны колдонсоңуз. Өлчөмдөр SCAD файлында оңой жөнгө салынат.

4 -кадам: Программалык камсыздоо

Бул долбоордун программасы https://github.com/roberttidey/RotaryEncoderButton дарегинде жеткиликтүү

Бул Arduino негизделген долбоор, ошондуктан esp8266 Arduino өнүктүрүү чөйрөсүн орнотуңуз. WifiManager үчүн сырсөздөрдү жана ino файлындагы программалык камсыздоону жаңыртууну акылга сыярлык кылып коюңуз.

Ал Arduino ESP8266 IDEде түзүлүп, модулга сериялык түрдө жүктөлүшү керек.

Биринчи жолу колдонуу телефон же планшет телефону менен туташуусу керек болгон кирүү чекитин баштайт. Сырсөз үчүн кодду караңыз. Телефондогу же планшеттеги браузер 192.168.4.1ге кирүү үчүн колдонулушу керек, бул жергиликтүү WiFi ssid жана паролду тандоого мүмкүндүк берет. Бул бир гана жолу жасалышы керек же wifi тармагы өзгөрсө. Андан кийин, модуль, керек болсо, жергиликтүү WiFi тармагына туташат.

Кээ бир колдоо файлдары да жүктөлүшү керек. Булар гиттин маалымат папкасында. Алар ip/uploadке кирүү менен жүктөлүшү мүмкүн. Булар жүктөлүп бүткөндөн кийин, ip/түзөтүүнү жүктөөнү жеңилдетүү үчүн колдонсо болот.

5 -кадам: Конфигурация

Конфигурация rotaryEncoderConfig.txt файлында камтылган

Бул эки негизги параметрге ээ (хосттун аты жана аракетсиздиктин миллисекунддары плюс 3кө чейин айлануучу коддогучтарды конфигурациялоо.

Бул түзүлүш 1 коддогучту гана колдонсо да, колдонулган китепкана 3кө чейин уруксат берет.

Ар бир коддогучтун конфигурация файлында бир катар параметрлери бар сап бар.

  • pin1, pin2, баскыч GPIO казыктары
  • коддогучтун мин
  • коддогучтун максималдуу мааниси
  • баштапкы абалдын мааниси (акыркы маани иштетилгенде да эсте калат.
  • аткарыла турган иш түрү 0 = Эч ким, 1 = веб GET, 2 = UDP / Lightwave, 3 = MQTT
  • интервал - аракеттердин ортосундагы мс минималдуу узактык
  • иш шаблону - иш үчүн негизги шаблон
  • par1, par2, par3, par4, par5 кошумча параметрлер

Аракеттин шаблону өзгөрмөлөргө ээ, алар колдонуудан мурун алмаштырылат

  • $ p Ротари абалы
  • $ d Ротари багыты
  • $ e коддогуч номери (0 биринчи)
  • $ l жарык толкунунун функциясын түзөт
  • $ x, $ y, $ z, $ u, $ v substiute par1 - par5
  • $ t алмаштыруучу эсептегич
  • $ c алмаштыруучу үтүр

6 -кадам: операция

Wi -Fi орнотулгандан кийин, башкаруу эки баскычка басуу менен жандандырылат. Бул позицияны өзгөртпөйт же аракетти козгобойт.

Ошондон тартып, ар кандай айлануу конфигурацияланган аракетти баштайт. Минималдуу аракет интервалы башкаруу айландырылганда аткарылган аракеттерди чектейт. Мисалы, эгерде минималдуу интервал 2000 мС болсо, анда тез айлануу биринчи жана акыркы өзгөрүүлөрдү жөнөтүшү мүмкүн. Акыркы позиция ар дайым иш -аракетти козгойт, андыктан эгерде диммер башкарылса, анда анын баасы кээ бир аралык кадамдар өтпөсө дагы акыркы абалды чагылдырат.

LightwaveRF операциясы

Мисал берилген конфигурация файлында көрсөтүлгөн. Негизги аракет - Lightwaverf шилтемесине UDP. Кабыл алуучу IP жана порт номери par1 жана par2ге коюлат. Room/Device сабы par3кө коюлган.

Шилтеме биринчи esp8266 mac дарегинен буйруктарды кабыл алуу үчүн шилтеме менен жупташкан керек. Бул үчүн initLink деп аталган файлды тапшыруу системасына txt, андан кийин башкарууну бир кадамга айландыруу аркылуу буйрукту жөнөтүңүз (активдештирилгенден кийин). Бул шилтемедеги бир баскычты басуу менен тастыкталууга тийиш болгон жупташтыруу буйругун жөнөтөт. InitLink файлы автоматтык түрдө жок кылынат.

Тейлөө

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

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