Машинка Arduino - как собрать и программа

Поделиться
HTML-код
  • Опубликовано: 2 окт 2024
  • Я уже давно увлекаюсь Arduino и понемногу делаю небольшие проекты. В прошлом году я начал собирать свою машинку, у которой в качестве мозга выступала бы плата Arduino. Для этого я купил пластмассовую платформу, на которую можно крепить все остальные детали, четыре двигателя и четыре колеса.
    Плата Arduino у меня уже была. Но когда я начала изучать, как заставить колеса крутиться, то выяснилось, что нужна еще одна плата, которая и будет управлять двигателем. Пришлось заказывать ее.
    - для управления двигателями я использовал плату L298N
    - какой-то безымянный IR Receiver, у которого нет на плате никакого номера. Я вообще не знаю, там ставят какие-то номера или нет.
    Текстовая версия этого видео и исходники можно скачать здесь:
    www.flenov.inf...
    Мой ИТ блог www.flenov.ru и www.flenov.info
    Мой просто блог blo.moe
    Facebook: / mikhailflenov
    Tweeter: / flenov
    Инстаграмм: / mflenov
    Телеграмм: mflenov
    Обо мне - Михаил Фленов - блогер, программист, бывший автор журнала Хакер (рубрики Кодинг и FAQ) и автор нескольких книг по программированию и безопасности. Хакером не являюсь, но безопасностью интересуюсь, в основном в области Web. Живу и работаю в Канаде с 2009-го года, в течении 9 лет работал на Sony и отвечал за их крупнейший e-commerce веб сайт

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

  • @HowItWorks
    @HowItWorks 5 лет назад +2

    С меня лайк. Я вот тоже попробовал закинуть видосик по программированию микроконтроллеров. Типа на пробу, как зайдет, насколько интересно зрителям. Только я про ассемблерное программирование. Писал конечно и на сишке и даже паскаль есть под микроконтроллеры (на нем много писал). Но видео не зашло от слова совсем. Хотел отснять видосик по лазерному ЧПУ граверу на ардуинке (собрал даже), но забросил пока в этом направлении что либо снимать. Зрителю заходят скандалы, интриги, расследования. Зрелище нужно. Пока не придумал как снять, что бы было интересно, а не просто очередное уныло видео.
    ruclips.net/video/1AO0XUXTmWU/видео.html
    Просто по электронике тоже выкладывал видосики (на канале если порыть). Немного получше по просмотрам, но тоже уныленько.

  • @keeper-volok
    @keeper-volok 5 лет назад +9

    почему "адрино" то?
    "Ардуино" же, ну ли "адайно"

    • @programisli
      @programisli  5 лет назад +1

      Не знаю, почему у меня так звучит

    • @leoha13ru
      @leoha13ru 5 лет назад +1

      А кто как привык так и называет, можно и аДуриной и все поймут о чем речь)

    • @HowItWorks
      @HowItWorks 5 лет назад

      @@leoha13ru абдурино. :)

  • @somestrangeperson
    @somestrangeperson 5 лет назад +4

    Мне интересно ваше мнение как ардуино развивает как-то программиста? Может ардуино хорошо потому что пишешь на низкоуровневым С. Так как я все время работал с высокоуровневыми языками программирование типа: JavaScript, PHP(только основы и сделал проект по видео на RUclips, не понравился язык), перешёл на Python и на Python все легко тот же цикл for в Python или OОП Python это сказка в отличие от Java, но я перестал это ценить считая это как данное, извеняюсь за большой коммент просто, решил объяснить ситуация и узнать ваше мнение.

    • @programisli
      @programisli  5 лет назад +1

      Ну язык С не на много сложнее тут, потому что особо с памятью не приходится работать. Можно писать код и даже указатели не использовать. Разве что со строками чуть сложнее работать. Если посмотреть на мой код, то там почти все простые числа, для которых не нужно выделять память в куче и все без проблем умещается в стеке. Да даже об этом можно не задумываться. Но в целом знание С на мой взгляд очень полезно.

    • @somestrangeperson
      @somestrangeperson 5 лет назад +1

      @@programisli Спасибо за развернутый коммент.У вас самые необычные темы видео от алкоголь для программиста до
      машинка на Arduino. Мне нравится такое разнообразие контента, спасибо и продолжайте дальше.

  • @КамиллаГенадьевнаЮвакаева

    Почему скорость не регулируется? меняю вместо 255 первое значение (speed) на 150 у меня только одно колесо крутится (правое), я хочу чтобы помедленнее крутились двигатели

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

    Спасибо, но как электронщик программисту, скажу, что можно проще. В кейсе processIrInput задавать матрицу моторов, а в основном цикле программы только один раз вызвать изменение состояния моторов. Да и моторы можно объединить в группы левая/правая. В общем все можно покороче написать.
    И дальше чтобы рулить в движении нужно задать несколько скоростей моторов и в повороте изменять дельту скоростей на стороны.

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

      Можно и так

    • @sergeyrink3003
      @sergeyrink3003 4 года назад +1

      @@programisli
      Вот так у меня работает. Еще нужно добавить "газ" (скорость) на кнопки +/- громкости пульта.
      #include
      const int RECEIVER_PIN = 6;
      const int LEFT_F = 9, LEFT_B = 10;
      const int RIGHT_F = 7, RIGHT_B = 8;
      int L_M = 0,R_M = 0;
      // IR ресивер
      IRrecv irrecv(RECEIVER_PIN);
      decode_results results;
      void setup()
      {
      //Serial.begin(9600);
      setupMotors();
      irrecv.enableIRIn();
      }
      void setupMotors()
      {
      pinMode(LEFT_F, OUTPUT); digitalWrite(LEFT_F, 0); pinMode(RIGHT_F, OUTPUT); digitalWrite(RIGHT_F, 0);
      pinMode(LEFT_B, OUTPUT); digitalWrite(LEFT_B, 0); pinMode(RIGHT_B, OUTPUT); digitalWrite(RIGHT_B, 0);
      }
      void LeftMotor(int M1) {
      switch (M1) {
      case 1: // ---- вперед ---
      digitalWrite(LEFT_F, 1); digitalWrite(LEFT_B, 0); break;
      case 0: // ---- стоп -----
      digitalWrite(LEFT_F, 0); digitalWrite(LEFT_B, 0); break;
      case -1: // ---- назад ----
      digitalWrite(LEFT_F, 0); digitalWrite(LEFT_B, 1); break;
      }
      }
      void RightMotor(int M1) {
      switch (M1) {
      case 1: // ---- вперед ---
      digitalWrite(RIGHT_F, 1); digitalWrite(RIGHT_B, 0); break;
      case 0: // ---- стоп -----
      digitalWrite(RIGHT_F, 0); digitalWrite(RIGHT_B, 0); break;
      case -1: // ---- назад ----
      digitalWrite(RIGHT_F, 0); digitalWrite(RIGHT_B, 1); break;
      }
      }
      void processIrInput() {
      if (!irrecv.decode(&results)) return;
      //Serial.println(results.value, HEX);
      switch (results.value) {
      case 0xFDC837: // ======== Вперед =======
      L_M =1; R_M=1; break;
      case 0xFD28D7: // ======== Назад ========
      L_M =-1; R_M=-1; break;
      case 0xFD8877: // ======== Влево ========
      if (L_M==0 and R_M==0) {L_M=-1; R_M=1;}
      else if (L_M==-1 and R_M==-1) {L_M=0; R_M=-1;}
      else {L_M=0; R_M=1;} break;
      case 0xFD48B7: // ======== Вправо =======
      if (L_M==0 and R_M==0) {L_M=1; R_M=-1;}
      else if (L_M==-1 and R_M==-1) {L_M=-1; R_M=0;}
      else {L_M=1; R_M=0;} break;
      case 0xFD08F7: // ======== Стоп ========
      L_M =0; R_M=0; break;
      }
      irrecv.resume();
      }
      // Главный цикл
      void loop()
      {
      processIrInput();
      LeftMotor(L_M); RightMotor(R_M);
      }

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

      @@programisli Хотя вчера только закончил собирать своего мелкого "робота" (чуть больше KOZMO), а программку твою вот только, что переделал для себя. :)))
      Но хочу сделать все функции как у китайских наборов плюс, оживить немного как KOZMO. Типа танцы, фразочки и т.п. Только Arduino NANO для этого не хватит. :)) Но есть у меня Arduino Mega256 на совсем маленькой плате. Плюс SD карта для звуков.

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

      жаль что на канале у тебя нет видео)

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

      @@neodzen Это же нужно время на это. У АлексаГайвер смотрите, есть много интересного.
      А я бы хотел на эмуляторе Протеус сделать симуляцию Энигмы и возможно машины для взлома Энигмы построенную в Блетчли парке во время второй мировой войны. :))

  • @DVIService
    @DVIService 2 года назад +2

    За АдРиНу диз...

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

      Понимаю. Но вот такая у меня лажа, почему-то так говорю это слово.

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

      @@programisli Ардуино... И все так называют) Прост слух зарезало страшно, а так - что хотел узнал. Спс)

    • @programisli
      @programisli  2 года назад +1

      Я знаю, как произносить, но.. ты знаешь, у меня сын тоже прекрасно знает, что правильно произносить паровоз, но он почему-то в детстве произносил павароз. Это что-то, что иногда неконтролируемо

  • @ФандеевАлексей
    @ФандеевАлексей 5 лет назад +2

    круть

  • @gomersimpson4203
    @gomersimpson4203 5 лет назад +7

    Занятная вещь

    • @programisli
      @programisli  5 лет назад

      Ты уже посмотрел? Видео еще в плохом качестве, youtube все еще обрабатывает более высокое качество

    • @gomersimpson4203
      @gomersimpson4203 5 лет назад

      На огрызке 7 плюс нормально было))))

    • @gomersimpson4203
      @gomersimpson4203 5 лет назад +1

      @@programisli Миша, и сколько такая прелесть стоит? Я же правильно понимаю, что там не только машинки и главная вещь в ней тот контроллер куда ты все подсоединял. Или не так?

    • @jekasylar3397
      @jekasylar3397 5 лет назад

      @@gomersimpson4203 Тоже цена интересная

    • @programisli
      @programisli  5 лет назад

      Эти компоненты обошлись мне примерно в 30 долларов. Сама плата Arduino на eBay стоит кажется от 8 до 12 канадских долларов. Она дешевле Raspberry PI, потому что на много слабее

  • @rerurkful
    @rerurkful 4 года назад +1

    Подскажите пожалуйста, как правильно сделать обзор на свой продукт? Ибо я креатив не мое, сдала вот такое ruclips.net/video/GPmCFFOHXF4/видео.html

  • @АлексейМалык-н6у
    @АлексейМалык-н6у 3 года назад +3

    Сын тоже удивился почему адрино???

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

      Я не знаю почему язык так поворачивается

  • @Истории_Наоборот
    @Истории_Наоборот Год назад +1

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

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

      В смысле к тем четырем двигателям? Коннект будет плохой. Как временное решение можно и прикрутить

  • @hamil1806
    @hamil1806 5 лет назад +3

    Да интересно, надо будет снегоуборочную машину замутить

    • @programisli
      @programisli  5 лет назад

      В этом году в канаде столько снега, что не помешало бы.

    • @Nekby2
      @Nekby2 5 лет назад +1

      а я уже начал мутить свой адронный коллайдер

    • @HowItWorks
      @HowItWorks 5 лет назад +1

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

  • @hamil1806
    @hamil1806 5 лет назад +2

    о_о программист взял паяльник

    • @programisli
      @programisli  5 лет назад

      Бывает иногда для разнообразия. В 40 лет машинки поять.

  • @СтефанОрловский-ч1ц
    @СтефанОрловский-ч1ц 4 года назад +1

    Подскажите пожалуйста, какие внешние габариты этой машинки?

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

      Где-то сантиметров 30 в длину и может 15 в ширину. Линейки под рукой нет, а смотрел ан Амазоне и никто габариты не дает

    • @СтефанОрловский-ч1ц
      @СтефанОрловский-ч1ц 4 года назад +1

      @@programisli а не могли бы при случае измерить?
      В интернете нигде не могу найти размеры, а нам для детского конкурса нужен робот не более 25 см по любому из измерений.
      он точно будет больше 25?

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

      @@СтефанОрловский-ч1ц У меня получилось 25,5 сантиметра самая большая величина

    • @СтефанОрловский-ч1ц
      @СтефанОрловский-ч1ц 4 года назад

      @@programisli Спасибо большое!
      А там можно напильничком эти 0,5 см укоротить? Не повлияет на функционал?

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

      @@СтефанОрловский-ч1ц Не повлияет, спилить можно без проблем

  • @ВАСькакот-н5ч
    @ВАСькакот-н5ч 3 года назад +2

    сколько вы заплатили за все детали?

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

      Около 70 канадских доллара

  • @Авдей-д8ы
    @Авдей-д8ы Год назад

    А где купить прогрмнуюкарту

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

      Плату? я давно уже покупал на АлиЭкспресс

  • @сергейборисов-о7й
    @сергейборисов-о7й Год назад +1

    биографию только выдержал послушать.

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

      В этом видео биографии как таковой нет

  • @eduardryazapov3210
    @eduardryazapov3210 5 лет назад +2

    Михаил, можешь написать все заказники для этой машинки (платформа, движки, платы и тд).

    • @programisli
      @programisli  5 лет назад

      Платформа стандартная, я видел только один такой вариант на eBay для четырех колесной машины. Есть еще для двух и для трех, а для четырех я видео только одну. Движка - на них ничего не написано, шли вместе с платформой. Платы - номер в описании к видео