Мазмуну:

IoT Moon Lamp: 5 кадам
IoT Moon Lamp: 5 кадам

Video: IoT Moon Lamp: 5 кадам

Video: IoT Moon Lamp: 5 кадам
Video: Dua Lipa - Levitating Featuring DaBaby (Official Music Video) 2024, Ноябрь
Anonim
IoT Moon Lamp
IoT Moon Lamp

Бул нускамада мен батарейка менен иштөөчү жөнөкөй лампаны IoT түзмөгүнө кантип айландырууну көрсөтөм.

Бул долбоор төмөнкүлөрдү камтыйт:

  • ширетүү;
  • Arduino IDE менен ESP8266 программалоо;
  • MIT App Inventor менен Android тиркемесин түзүү.

Кызыккан нерсе - бул ай формасындагы лампа, мен gearbestтен сатып алдым. Бирок, чынында, бул окуу куралы ар кандай аз DC чыңалуучу түзүлүшкө ылайыкташтырылышы мүмкүн (AC менен иштеген түзүлүштөр кошумча схеманы талап кылат).

Жабдуулар

  1. Android смартфону (андроид версиялары 7-9 сыналган).
  2. Лайкоо куралдары.
  3. PCB прототиптештирүү (протобоард).
  4. ESP-12E тактасы (же ESP8266 микроконтроллери бар башка devboard).
  5. Программалоо үчүн USB-сериялык конвертер.
  6. Пассивдүү компоненттердин (резисторлор жана конденсаторлор) бир нече ар кандай мааниси.

(Милдеттүү эмес. "Блок диаграммасы" бөлүмүн караңыз)

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V логикалык деңгээлдеги конвертер тактасы.
  3. 5V DC электр менен камсыздоо.

1 -кадам: Идея

Идея
Идея

Ай чырагы бир Li-ION 18650 клеткасы менен иштейт жана анын 3 иштөө режими бар:

  • өчүрүү;
  • кол менен;
  • авто

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

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

Прототип бүткөндөн кийин ал батареядан ~ 80mA тынымсыз күйүп турчу (~ 400мА толук жарыкта). Күтүүчү ток жогору, анткени ESP8266 сервер катары иштейт жана дайыма WiFi менен туташып турат жана суроо -талаптарды угат. Батарея бир жарым күндөн кийин гана өчүк абалда түгөндү, ошондуктан мен кийинчерээк тышкы 5В электр булагынан бардык электрониканы кубаттоо үчүн лампалардын USB кубаттоочу портун колдонууну чечтим жана батарейканы чогуу таштадым (бирок бул милдеттүү эмес).

2 -кадам: Блок диаграммасы

Блок диаграммасы
Блок диаграммасы

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

Документтерге ылайык ESP8266 болгону 3.3V чыдайт, бирок ESP8266 5V менен толугу менен жакшы иштегенде көптөгөн мисалдар бар, андыктан логикалык деңгээлдеги конвертер жана 3.3V LDO четте калышы мүмкүн, бирок мен эң жакшы тажрыйба менен калып, ошол компоненттерди кошуп койгом.

Мен 3 ESP8266 I/O казыгын жана ADC пинин колдондум. Бир санарип чыккыч кнопканы басууну симуляциялоо үчүн, эки санариптик кирүү кандай түстүү LEDлердин күйүп турганын аныктоо үчүн арналган (мындан биз баскычты баскандан кийин MCU кайсы абалда жана кайсы абалда экенин аныктай алабыз). ADC пин кирүү чыңалуусун өлчөйт (чыңалуу бөлүштүргүч аркылуу), ошентип биз батарейканын калган заряд деңгээлин көзөмөлдөй алабыз.

Тышкы энергия булагы катары мен эски телефон заряддагычын 5V@1A колдоном (тез кубаттагычтарды колдонбоңуз).

3 -кадам: Программалоо

Программалоо
Программалоо
Программалоо
Программалоо

Кыскача айтканда, программа мындай иштейт (көбүрөөк маалымат үчүн коддун өзүн караңыз):

ESP8266 сиздин WiFi кирүү чекитине туташат, ал үчүн кодду программалоонун башында киришиңиз керек, ал сиздин DHCP сервериңизден IP дарегин алат, кийин сизге керек болгон IPди билүү үчүн, роутерлердин веб интерфейсин текшере аласыз DHCP орнотуулары же орнотуу 1деги коддогу желекти мүчүлүштүктөрдү оңдоо жана сиз IP ESPтин сериялык монитордо эмне болгонун көрөсүз (бул IPди роутерлердин жөндөөлөрүндө ESP ар дайым жүктөөдө бирдей IP алуусу үчүн сактап коюшуңуз керек).

Инициализацияланганда, MCU дайыма бир тартипти түбөлүккө аткарат:

  1. APге дагы эле туташып турганын текшериңиз, эгер ийгиликке жеткенге чейин кайра туташууга аракет кылбаңыз.
  2. Кардар HTTP суранычын күтөт. Сураныч болгондо:

    1. Киргизүү чыңалуусун текшериңиз.
    2. Кайсы абалда LED бар экенин текшериңиз.
    3. Белгилүү LED абалдары менен HTTP өтүнүчүн дал келиңиз (көк күйүп, кызгылт сары күйүк, экөө тең күйүк, өчүк).
    4. Суралган абалга жетүү үчүн, керек болсо, ушунчалык көп баскыч басууну окшоштуруңуз.

Мен программалоо көрсөтмөлөрүн кыскача сүрөттөп берем, эгерде сиз ESP8266 MCU программасын биринчи жолу тереңирээк көрсөтмөлөрдү издесеңиз.

Сизге Arduino IDE жана USB сериялык интерфейс конвертери керек болот (мисалы FT232RL). IDEди даярдоо үчүн бул көрсөтмөлөрдү аткарыңыз.

Программалоо үчүн ESP-12E модулун туташтыруу үчүн схеманы аткарыңыз. Кээ бир кеңештер:

  • тышкы 3.3V@500mA электр булагын колдонуңуз (көпчүлүк учурларда USB-сериялык электр менен камсыздоо жетишсиз);
  • USB сериялык конвертериңиздин 3.3V логикалык деңгээлге туура келерин текшериңиз;
  • USB сериялык конвертер драйверлери ийгиликтүү орнотулгандыгын текшериңиз (Windows түзмөк менеджеринен), ошондой эле IDEден, COMX портунан караганда, кыска RX жана TX пиндеринен туура иштегенин текшере аласыз, сериялык мониторду ачыңыз жана бир нерсе жазыңыз, эгер баары иштесе сиз жөнөткөн текст консолдо пайда болушу керек;
  • Эмнегедир мен ESPти программалай алдым, мен USB-сериялык конвертерин биринчи жолу компьютерге туташтырып, анан тышкы 3.3V булактан ESPти иштеткенде;
  • ийгиликтүү программалоодон кийин, кийинки жүктөөдө GPIO0 бийиктигин тартканды унутпаңыз.

4 -кадам: схемалык жана ширетүү

Схемалык жана ширетүү
Схемалык жана ширетүү
Схемалык жана ширетүү
Схемалык жана ширетүү
Схемалык жана ширетүү
Схемалык жана ширетүү

Бардык компоненттерди протоборго ширетүү үчүн схеманы аткарыңыз. Жогоруда айтылгандай, кээ бир компоненттер милдеттүү эмес. Мен KA78M33 3.3V LDO IC жана логикалык деңгээлдеги конвертер тактасын sparkfun колдондум, же схемада көрсөтүлгөндөй өзүңүз эле конвертер жасай аласыз (BSS138дин ордуна каалаган N-канал mosfetин колдонсоңуз болот). Эгерде сиз Li-ION батареясын колдоно берсеңиз, +5V электр тармагы батареянын оң терминалы болот. ESP8266 ADC маалымдама чыңалуусу 1В, менин тандаган каршылыгымды бөлүүчү баалуулуктар кирүү чыңалуусун 5,7Вге чейин өлчөөгө мүмкүндүк берет.

Оригиналдуу лампа PCBге 5 туташуу болушу керек: +5V (же +Батарея), GND, баскыч, көк жана кызгылт сары диоддорду көзөмөлдөө үчүн MCU лампаларынан PWM сигналдары. Эгерде сиз лампаны 5В булактан иштетсеңиз, мен сыяктуу эле, батарейканын IC VCC түйүнүн OUTPUT пин менен кыскарткыңыз келет, ошондо бардык электроника түздөн -түз +5Vдан кубатталат жана батарейканын кубаттагычы OUTPUTтан эмес.

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

ЭСКЕРТҮҮЛӨР:

  1. Эгерде сиз батарейканын заряддоочу IC чыгаруусу менен +5В кыска болууну чечсеңиз, батареяны толугу менен алып салыңыз, +5Вны түз эле батареяга туташтыргыңыз келбейт.
  2. Кайсы баскычтын пинсине көңүл буруңуз, сиз ESP өндүрүшүн туташтырасыз, анткени баскычтын 2 казыгы жерге туташтырылган жана ESP өндүрүшү жогору болгондо кыска туташууну каалабаңыз, мультиметр менен эки эсе жакшы текшериңиз.

5 -кадам: Android колдонмосу

Android колдонмосу
Android колдонмосу
Android колдонмосу
Android колдонмосу
Android колдонмосу
Android колдонмосу

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

Биринчи иштетүүдө сиз орнотууларды ачып, ESP8266 IP дарегиңизди киргизишиңиз керек болот. Бул IP сакталат, андыктан программа кайра жүктөлгөндөн кийин аны кайра киргизүүнүн кажети жок.

Колдонмо бир нече Android 9 жана Android 7 түзмөктөрү менен сыналган.

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