Menu for the LCD 1602 based on the Arduino Nano. Monitoring and managing loads.

Поделиться
HTML-код
  • Опубликовано: 21 май 2020
  • Sketch of the project kolotushkin.com/article.php?id=26
    Projects based on Arduino Nano:
    Automatic drive for quadrocopter chassis • Автоматический привод ...
    Doorphone key duplicator • Дубликатор домофонных ...
    How to remake the servomotor from 180 to 360 degrees • Как переделать сервомо...
    Control of two unipolar stepper motors via Bluetooth • Управление двумя унипо...
    Homemade RGB controller for 2 RGB tapes • Самодельный rgb контро...
    Useful programs:
    Arduino IDE for beginners • Arduino ide для начина...
    Arduino UnoArduSim Simulator • Лучший симулятор Ardui...
    One of the subscribers asked me to make an example of a menu for Arduino, which should be displayed on a 2-line 16-character I2C LCD display.
    So that using the buttons, you can navigate through the menu, for example, control LEDs and some kind of simple program.
    The basis of the project is the Arduino Nano board, and the I2C LCD display, I also use 4 buttons, 5 low-power LEDs, 5 resistances at 500 ohms, a breadboard, and connecting wires.
    On the video I show how it works, and explain the contents of the sketch so that it would be easier for you to navigate.
    I use 4 buttons for control, “OK”, “EXIT”, “UP”, and “DOWN”.
    When the Arduino board is turned on, the main page is displayed.
    Click OK, and we get into the menu with five blocks.
    Here you can move in a circle both in one direction and in the other direction. Having selected the block of interest, click OK, and we get into the block with the setting.
    You can go back to the main one by double-clicking the exit button, or by pressing and holding the exit button.
    If you open the fourth program, we will see the inscription “Blink”. I signed it like that, because this program turns on and off the green LED, just as it does in the standard Blink example.
    Instead of just turning on the LEDs, you can program some algorithms, and organize the ability to control and configure these algorithms.
    Initially, the sketch is not suitable for the Arduini Nano board !!!
    The fact is that the UnoArduSim application in which the sketch was created and tested only supports the Adafruit_LiquidCrystal.h library, and the Arduino NANO board into which this sketch will be loaded does not support this library.
    I will replace it with the LiquidCrystal I2C library. I will indicate the library object with the name lcd, as well as the I2C address, and the size of the LCD display.
    To initialize the display, you need to delete the contents of the brackets, and specify the init command here.
    Even before void loop (ohm), you need to declare the function void blink4 (), otherwise when compiling the sketch, the Arduino IDE application will throw an error.
    Also, an error may be generated if you do not have the LiquidCrystal I2C library. This can be fixed in two ways: connect the library that you have, or download this library through the Sketch tab / connect library / manage libraries.
    After updating the list of libraries, in the search window write the query LiquidCrystal I2C. Find this library in the list, highlight it and click install.
    My install button is missing, because the library is already installed. When the library is installed, close this window and you can upload the sketch to the board.
    When the sketch loads, you can connect the display to pins A4 and A5. We connect the LEDs to the contacts indicated in the sketch, in my case it is 0, 1, 2, 3, and 4.
    Buttons are also connected to the contacts that were indicated in the sketch, in my case they are 14, 15, 16, and 17.
    Then we connect the power, and check.
    THANKS FOR BROWSING, AND BEFORE MEETING IN THE NEXT VIDEO!
    #arduinoprojects #lcd #arduino
  • НаукаНаука

Комментарии • 59

  • @aleksej442
    @aleksej442 4 года назад +6

    Спасибо Вам огромное за видеоурок !!! Это то о чем я Вас просил..!!! Ничего лишнего и все по теме!! Теперь буду разбираться и "играться" с кодом, чтобы его лучше осознать. Да, кстати.. я и не знал, что у Вас свой сайт есть по программированию. Оставьте ссылку своего сайта под видео.

  • @user-wb6th2pv1u
    @user-wb6th2pv1u 3 года назад +1

    Отличный проект!

  • @user-lk4op7et2n
    @user-lk4op7et2n 4 года назад +2

    Спасибо за позитив👏👏👏👏👏👏лайк от друзей 👍👍👍👍👍👍👍👍👍

  • @anatolym.9580
    @anatolym.9580 2 года назад +2

    Спасибо тебе человек. Доходчиво. Пожелание, снабдить код комментариями. На видео слышу пояснения, но смотреть на код и одновременно крутить видео, все же неудобно.

    • @Nevzoroff_
      @Nevzoroff_ 11 месяцев назад +1

      Все мои скетчи снабжены подробными комментариями

  • @menxxx1
    @menxxx1 4 года назад +4

    Здравствуйте! Спасибо вам, большое. Если вас не затруднит, можно как один из ваших подписчиков просил про энкодер снять. Такое же доскональное видео. Ещё раз СПАСИБО!!! За ваш труд (Он действительно не заменим для новичка)

    • @menxxx1
      @menxxx1 4 года назад

      @@m_kolotushkin Нет вы меня с кем-то путаете. Но за ответ спасибо. Я бы хотел болия наглядно узнать принцип его работы с меню. На примере вашего меню. и чтоб последний светодиод который работает как блинк был шим выходом к примеру. Ведь шим можно будет использовать к примеру. Подсоединив его к серве или через транзистор управлять той же яркостью светодиода, мотора и тому подобными электрическим нагрузкам с большим потреблением. Ещё раз спасибо! За ваш труд.

  • @user-rd8jt3jq1d
    @user-rd8jt3jq1d 4 года назад

    Лайк за ролик 👍

  • @yanwolf8601
    @yanwolf8601 Год назад

    класс

  • @Admin-td4xv
    @Admin-td4xv 2 года назад

    1:03 включение и выключение светодиодов с отображением состояния на дисплее 1602

  • @dimmid4109
    @dimmid4109 4 года назад +2

    Энкодер? В следующем видео.

  • @djaventureiro
    @djaventureiro 3 года назад

    Super like ok 👍🏼👍🏼👍🏼

  • @user-ws2ny7po1b
    @user-ws2ny7po1b 2 года назад

    Подскажите пожалуйста почему выдает ошибку на этом месте Wire.endTransmission(); "Подключенный жк контроллер все еще занят - вам нужно вставить некоторую задержку"

  • @user-ig9yl1ti6s
    @user-ig9yl1ti6s 3 года назад +1

    Подписка и лайк! Побольше простых практических проектов. Ведь вместо диодов можно реле с опторазвязкой подключить? Или я не прав?

    • @m_kolotushkin
      @m_kolotushkin  3 года назад +1

      Все верно! Или твердотельное реле! Или мощные транзисторы, да все что угодно, что будет потреблять до 40 миллиампер при включении!

    • @user-ig9yl1ti6s
      @user-ig9yl1ti6s 3 года назад

      @@m_kolotushkin Скрупулёзно подмечено!!

  • @alexandrorlov7332
    @alexandrorlov7332 3 месяца назад

    А можно подключить проводную мышку для управления меню на дисплее,вместо кнопок?

  • @user-ju4il5un9u
    @user-ju4il5un9u 3 месяца назад

    У меня меню переключается само на Ардуино Уно. Похоже на дребезг кнопки, но прописан программно шунт резистором. Что может быть не так?

  • @alexandrorlov7332
    @alexandrorlov7332 3 месяца назад

    А что в скетче надо поменять чтобы он залился в ArduinoGeniusUno
    //error: stray '\302' in program//

  • @user-sr1pi6ew7o
    @user-sr1pi6ew7o 2 года назад +1

    Блинк в каждый лист меню? А если там опрос датчика с вычислением среднего значения, каджое листание будет начинать вычисление? А паралельно как делать листание и мограние если надо моргать?

    • @Admin-td4xv
      @Admin-td4xv 2 года назад +1

      Все зависит от конкретной задачи, что и как будет вычисляться!
      В этом примере Blink работает на основе проверки значения millise(); тоесть если оно больше предыдущего значения на определенное время, то изменить состояние светодиода, поэтому перелистывание страничек не будет оказывать существенного влияния.
      Но влияние все же будет, только оно обусловлено низкой скоростью передачи данных по шине i2c на данный дисплей.
      То есть, так как микроконтроллер имеет одно ядро, то он в одно время может выполнять только одну задачу, либо включать/выключать светодиод либо передавать пакет данных на дисплей, а это занимает определенное количество времени. В общем этот момент надо учитывать при создании своих проектов.

  • @RadioKot_Pensioner
    @RadioKot_Pensioner 4 года назад

    Привет. Ничего не понял, пока не понял. На днях получу Arduino UNО R3. Это совместимо с Arduino Nano?

  • @ILYAS.Leninogorsk
    @ILYAS.Leninogorsk 3 года назад

    Здравствуйте. Необходимо на нано , чтобы крутился шаговик нема 17 с определенной скоростью, выставленная энкодером, замер температуры ds18b20, и все данные высвечивались на дисплей, кроме этого, ещё несколько датчиков,с которых читается информация. Всё это я собрал и написал код, работает, но на некоторых скоростях , шаговик начинает дёргаться, не ровно работает. Если убрать дисплей из кода, всё нормально. Проблема понятна, но как её победить???

    • @ILYAS.Leninogorsk
      @ILYAS.Leninogorsk 3 года назад

      @@m_kolotushkin Тоже думаю про 2 платы. А если есп32? Она 2 ядерная, или там 2 ядро только для вай-фай,блютуз..? Никак не задействовать? На счёт 2 плат, не будет тот же эффект? Ведь они же тоже меж собой постоянно общаются. Спасибо за ответ. Буду ждать вашего решения. Может и сам , что-нибудь до ума доведу.

  • @Admin-td4xv
    @Admin-td4xv 2 года назад

    2:31 структура меню для дисплея 1602 на ардуино

  • @avtosket4814
    @avtosket4814 3 года назад +1

    Я искал способ как сделать меню. Нашел

  • @Admin-td4xv
    @Admin-td4xv 2 года назад

    3:04 обзор кода программы

  • @unrealivanov6468
    @unrealivanov6468 3 года назад

    Т.е. в каждом пункте меню находится свой блок опроса кнопок?

    • @m_kolotushkin
      @m_kolotushkin  3 года назад

      Вообще да, но для первых трех похожих блоков, можно было написать функцию с опросом кнопок, и помещать в блоки уже только функцию. Но я написал без функции, потому что так проще манипулировать каждым блоком по отдельности, если надо будет добавлять какие-то другие функции.

  • @TomskikhAA
    @TomskikhAA 3 года назад

    Два вопроса, первый: как засунуть библиотеку в эмулятор? Я что то не нашел.
    второй интереснее, Есть светодиодная одноцветная матрица 16х8 с i2c контроллером (шла в комплекте с роботом от Китайской KeyStudio). Штатная программа без проблем показывает стрелочки и надпись стоп. Но нифига не понятно как заполняется матрица. допустим надпись стоп в коде выглядит так "{0x2E,0x2A,0x3A,0x00,0x02,0x3E,0x02,0x00,0x3E,0x22,0x3E,0x00,0x3E,0x0A,0x0E,0x00}". В интернете все, что нагуглил за пару дней касается экрана типа как у вас. Есть наводка где почитать про генерацию символов?

  • @djaventureiro
    @djaventureiro 3 года назад

    🙂🇧🇷

  • @Dog_live122
    @Dog_live122 Год назад

    добрый день. выкидывает ошибку stray/302 in program. не могу разобратся в чем проблема.подскажите пожалуйста

    • @GM-uj8py
      @GM-uj8py 4 месяца назад

      Не нажимай на сайте "Копировать этот код", копируй код выделив его мышкой и будет тебе счастье

  • @wolandsividi6417
    @wolandsividi6417 3 года назад +2

    Здравствуйте. Не буду льстить ,но вы правда все доступно и хорошо объясняете и показываете. Так же признаюсь , что у меня мало времени что бы достаточно хорошо разобраться в программировании Ардуино и написании скетча. Хотел бы узнать можите ли вы мне помочь сделать скетч для максимум кнопок и трёх осей на базе одной платы Ардуино про микро или Леонардо. Я сделал и то и другое отдельно на основе примеров , но пытаюсь уменьшить колличество занятых входов usb. Но у меня не получается объединить это все в одно устройство и что бы на ПК это определялось как игровой контроллер. Пытаюсь сделать автосимулятор, скетчи брал на просторах интернета . Если вы имеете возможность мне помочь , то пожалуйста дайте знать.

    • @wolandsividi6417
      @wolandsividi6417 3 года назад

      @@m_kolotushkin за такие деньги можно купить готовый Баттон бокс ))) , мне всего лишь нужно , что бы на одной плате Ардуино Леонардо работали три оси ( патенциометры) и 24 или 32 кнопки. У меня есть два скетча отдельно, нужно только их соединить и посмотреть изменится ли схема подключения.

    • @wolandsividi6417
      @wolandsividi6417 3 года назад

      @@m_kolotushkin ок, спасибо в любом случае. Буду искать и пробовать .)

  • @user-uj5jw3ed2d
    @user-uj5jw3ed2d 4 года назад +1

    Привет, я посмотрел твой код и решил его чуть-чуть улучшить, если интересно, то напиши мне свою почту, я тебе скину код, чтобы ты его проверил у себя (P.S сейчас нет в наличии дисплея 1602)

    • @user-uj5jw3ed2d
      @user-uj5jw3ed2d 4 года назад

      @@m_kolotushkinпо какой причине вы используете delay?

  • @snouzz-gaming
    @snouzz-gaming 2 года назад

    kruto!
    Mne bi eto tolko dja fingerprint sensora 4tob moshno bilo sdelat enroll / udalitj drugije palzi - esli ti admin toest 1,
    otobrashenije vremeni i po bluetooth soobs4enije: kto i kogda otkrival dverj.
    Bilo bi kruto..

    • @m_kolotushkin
      @m_kolotushkin  2 года назад

      Спасибо, но в последние месяцы очень много работы, так что в ближайшее время точно не получится реализовать!

  • @user-mt9hv2bj6r
    @user-mt9hv2bj6r 4 года назад

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

    • @user-mt9hv2bj6r
      @user-mt9hv2bj6r 4 года назад

      @@m_kolotushkin а как задонатить

    • @user-mt9hv2bj6r
      @user-mt9hv2bj6r 4 года назад

      @@m_kolotushkin а как задонатить

    • @user-mt9hv2bj6r
      @user-mt9hv2bj6r 4 года назад

      @@m_kolotushkin здравствуйте.хотел поинтересоваться как продвигается работа с намоточным станком.какие проблемы.

    • @user-mt9hv2bj6r
      @user-mt9hv2bj6r 4 года назад

      а банк российский? .или неправильные цифры@@m_kolotushkin

    • @user-mt9hv2bj6r
      @user-mt9hv2bj6r 3 года назад

      не могу перевести на эту карту@@m_kolotushkin

  • @brawlstarslegends7050
    @brawlstarslegends7050 Год назад +2

    Я подписчик можно пж на ардуино Уно

    • @brawlstarslegends7050
      @brawlstarslegends7050 Год назад

      Залайкайте чтоб увидел

    • @m_kolotushkin
      @m_kolotushkin  Год назад +1

      Нано от уно только платой отличаются, и иногда юарт ттл переходником, а микроконтроллер тот же стоит atmega328p!
      Так что будет и на уно работать!

    • @user-ju4il5un9u
      @user-ju4il5un9u 3 месяца назад

      ​@@m_kolotushkin не только. Пины 14, 15 и 16 где берём на Уно?

  • @Ivan_Balakirev
    @Ivan_Balakirev 3 года назад

    музыка отвлекает

    • @m_kolotushkin
      @m_kolotushkin  3 года назад +1

      Вот поэтому я ее больше и не добавляю, все равно вечно не угодишь, то жанр не такой, то исполнитель не тот, то слишком громко. А если без музыки то каждый сам себе может на фоне включить то что нравится.

  • @blackmug5696
    @blackmug5696 2 года назад

    Автомат для воды с таким дисплеем.

  • @CoderRnD
    @CoderRnD 2 года назад

    Сайт гавно, нихера не открывается!!!!