Уроки Arduino #7 - подключение светодиода

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ส.ค. 2017
  • В этом уроке рассмотрим подключение светодиодов к Arduino, научимся рассчитывать токоограничивающий резистор, а также управлять светодиодом при помощи кнопки.
    ▼ Пачку светодиодов можно купить здесь▼
    alexgyver.ru/electronics/
    ▼ Огромный стартовый набор GyverKIT ▼
    kit.alexgyver.ru/
    ▼ Уроки Arduino на сайте ▼
    alexgyver.ru/lessons/
    ▼ Модули и датчики с Али ▼
    alexgyver.ru/arduino_shop/
    ▼ Страница "Заметок Ардуинщика" ▼
    alexgyver.ru/arduino_lessons/
    Теги: #arduino #уроки #ардуино #alexgyver
    ●●●●●●●●●●●●●●●●●●●●
    ► Основной канал: / alexgyvershow
    ► Поддержать автора alexgyver.ru/support_alex/
    ► Официальный сайт: alexgyver.ru/
    ► Почта: alex@alexgyver.ru
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 437

  • @ArduNotes
    @ArduNotes  6 ปีที่แล้ว +171

    Ребята, я берусь за уроки с новыми силами, сейчас озвучено ещё 4 штуки, и ещё для нескольких написан сценарий. В начале осени думаю выйдут все уроки! Дальше будем распиливать библиотеки и всякие модули

    • @kex0723
      @kex0723 6 ปีที่แล้ว +5

      Скорее бы, мы заждались!)

    • @truthful-liar
      @truthful-liar 6 ปีที่แล้ว +4

      Заметки Ардуинщика УРРАААА!!!! ТЫ ВЕРНУЛСЯ!!!! спасибо огромное, мы очень ждали!!!

    • @user-uw6ol1qm3i
      @user-uw6ol1qm3i 6 ปีที่แล้ว +1

      Заметки Ардуинщика урааааа, я так ждал этого!

    • @dmitrychangli7863
      @dmitrychangli7863 6 ปีที่แล้ว +2

      красный ниндзя у него 3 канала на ютубе.И один основной,где 500 000 человек ждут КАЧЕСТВЕННЫЕ И ТРУДНЫЕ САМОДЕЛКИ.

    • @Shumeiko228
      @Shumeiko228 6 ปีที่แล้ว +1

      Dmitry Changli А че за третий канал?

  • @Strannick89
    @Strannick89 4 ปีที่แล้ว +54

    Благодаря тебе познакомился с ардуино и сижу в 30 лет светодиоды включаю)
    Спасибо, Саша. Лучшие уроки!

  • @kotowor
    @kotowor 5 ปีที่แล้ว +24

    Просто супер понятно, логично. Нет воды! Все наглядно. Глаз радуется качественному контенту! Спасибо большое!

  • @FastReviewer
    @FastReviewer 6 ปีที่แล้ว +12

    Спасибо за то, что ты делаешь) уже на данный момент это ЛУЧШЕЕ пособие в рунете

  • @user-nt1qc8cg5d
    @user-nt1qc8cg5d 6 ปีที่แล้ว +19

    Ура, ты вернулся!
    Лайк не глядя, продолжай пилить видосы про ардуино, у тебя классно получается!

  • @notDANGEROUSnot
    @notDANGEROUSnot 6 ปีที่แล้ว +4

    Наконец то, новые Заметки Ардуинщика! Ура.

  • @vidi3266
    @vidi3266 4 ปีที่แล้ว +7

    Сделай пожалуйста новых уроков - уже третий день смотрю и всё проделываю сам - очень круто и очень тебе благодарен за новые знания и твоё время!!

  • @DimaSsooTv
    @DimaSsooTv 4 ปีที่แล้ว +1

    Балдежный урок. Простая тема, но объяснения проще этого не видел)

  • @GLASIKS
    @GLASIKS 6 ปีที่แล้ว +3

    Крутые уроки! Купил набор, учусь!

  • @swasy5179
    @swasy5179 6 ปีที่แล้ว

    Здорово, понятно и прочая хвала). Заказал стартер набор ардуино , будем пробовать.

  • @VictorVedmich
    @VictorVedmich 6 ปีที่แล้ว +6

    Наконец-то новый урок :)

  • @bassdevware
    @bassdevware 4 ปีที่แล้ว +21

    D4 и D5 пин. (2 светодиода)
    Код, который убирает нужду в перезагрузке после загорания всех светодиодов.
    boolean butt_flag = 0;
    boolean butt;
    boolean led_flag = 0;
    unsigned long last_press;
    byte LEDcounter = 4;
    void setup() {
    pinMode(A5, INPUT_PULLUP);
    Serial.begin(9600);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    digitalWrite(4, 0);
    digitalWrite(5, 0);
    }
    void loop() {
    butt = !digitalRead(A5); // считать текущее положение кнопки

    if (butt == 1 && butt_flag == 0 && millis() - last_press > 100) {
    butt_flag = 1;
    Serial.println("Button pressed");
    digitalWrite(LEDcounter, 1); //Включаем светодиод с текущим номером
    LEDcounter++;
    if (LEDcounter > 6) { // У нас 4 и 5 pin, 6-го нет, поэтому сбрасываем.
    digitalWrite(4, 0); // Выключаем D4 pin
    digitalWrite(5, 0); // Выключаем D5 pin
    LEDcounter = 4; // Сбрасываем до первого pin'a
    }
    last_press = millis();
    }
    if (butt == 0 && butt_flag == 1) {
    butt_flag = 0;
    Serial.println("Button released");
    }
    }

    • @user-lv7xz1ih3z
      @user-lv7xz1ih3z 3 ปีที่แล้ว

      а как сделать так чтобы они по нажатию кнопки поочередно тухли, если можно напиши )))

    • @user-lv7xz1ih3z
      @user-lv7xz1ih3z 3 ปีที่แล้ว

      @Maks Tarasenko я добавил еще 1 переменную и выключил поочередно диоды в обратном порядке, но не могу вернуть переменным исходное состояние чтобы не перезагружать, напишите свой код пожалуйста)

    • @user-ek8nn7ym1f
      @user-ek8nn7ym1f 2 ปีที่แล้ว +1

      @@user-lv7xz1ih3z int led = 2;
      bool butt;
      bool zap = false;
      void setup() {
      pinMode(2, OUTPUT);
      pinMode(3, OUTPUT);
      pinMode(4, OUTPUT);
      pinMode(5, INPUT_PULLUP);
      }
      void loop() {
      butt = !digitalRead(5);
      delay(170);
      if(butt == true && zap == false){
      digitalWrite(led,HIGH);
      led++;
      if(led == 5) {zap = true;led--; }
      butt = false;
      }
      if(butt == true && zap == true ){
      digitalWrite(led, LOW);
      led--;
      if(led == 1) {zap = false;led++;}
      butt = false;
      }
      }

    • @user-ek8nn7ym1f
      @user-ek8nn7ym1f 2 ปีที่แล้ว +1

      @@user-lv7xz1ih3z он очень кривой, но работает, хотя вряд ли вопрос актуален. Может кому-то потом пригодится

    • @user-mw2kd4lo7t
      @user-mw2kd4lo7t 2 ปีที่แล้ว

      @@user-ek8nn7ym1f вопрос, где ты переменную led взял?

  • @energochel
    @energochel 6 ปีที่แล้ว +13

    Какие неадекваши в комментариях, уф...
    Хороший урок - простой, понятный, короткий, наглядный! И тема с домашним заданием и разбором на следующем уроке очень крутая

  • @user-vh8no4xs4h
    @user-vh8no4xs4h 4 ปีที่แล้ว +1

    Большое спасибо за хорошие видео уроки. Ну прям неистовое состояние, Я В ПЕРВЫЕ САЖУСЬ ЗА УРОКИ ВОПРЕКИ ЧТО ЭТО ДОМАШНЯЯ РАБОТА. Знаешь это как в прорубь зайти. Год как школу закончил. А тут за домашку сел. СПАСИБО!!!

  • @user-cr3re6vn1e
    @user-cr3re6vn1e 6 ปีที่แล้ว +1

    Очень жду твоих уроков!!!!!

  • @malhwiu
    @malhwiu 6 ปีที่แล้ว +1

    Оно живое! Живое!

  • @user-py8fd4zr9h
    @user-py8fd4zr9h 4 ปีที่แล้ว +54

    Сижу 3.5 ч. пытаюсь сообразить домашнее задание

    • @miwma8254
      @miwma8254 2 ปีที่แล้ว +2

      byte LED = A4;
      byte click3 = 0;
      click3++;
      if (click3 == 8) {
      LED--;
      click3 = !click3;
      byte click3 = 0;
      } else if (click3 > 3) {
      digitalWrite(LED,0);
      LED++;
      Serial.println("2");
      } else {
      digitalWrite(LED,1);
      LED--;
      Serial.println("1");
      }

    • @TheMakckir
      @TheMakckir 2 ปีที่แล้ว +2

      @@miwma8254 я уже 2день сижу и немогу ето разобрать ппц , помможет кто в коментах!???

    • @miwma8254
      @miwma8254 2 ปีที่แล้ว

      @@TheMakckir Я же написал в коммах код, как это сделать

    • @TheMakckir
      @TheMakckir 2 ปีที่แล้ว

      @@miwma8254 непонимаю зачем аналоговый пин а4 ??

    • @TheMakckir
      @TheMakckir 2 ปีที่แล้ว

      @@miwma8254 ваше непонимаю твоего кода куда что и зачем

  • @Harad_nur
    @Harad_nur 6 ปีที่แล้ว +3

    Идея для видео "на потом" - собрать и прошить свою ардуину - с удобными портами, с немного поменянной для удобства и производительности рассыпухой, на самодельной плате, со своим форматом шилдоф=)

  • @bonjorik7990
    @bonjorik7990 6 ปีที่แล้ว +2

    Ура! Ты жив!!!

  • @elenapoplos9537
    @elenapoplos9537 3 ปีที่แล้ว

    Спасибо за видео и советы

  • @bruederlive9831
    @bruederlive9831 6 ปีที่แล้ว +4

    Оно живое!

  • @kulibin555
    @kulibin555 6 ปีที่แล้ว +1

    Здравствуйте. У Вас прекрасно посвленно дикция и алгоритм разъяснения тем. Не хотели бы Вы попробовать объяснить программу FLPlog. Спасибо

  • @simonoleksin6352
    @simonoleksin6352 ปีที่แล้ว

    спасибо за уроки

  • @IurikEpetuk
    @IurikEpetuk 6 ปีที่แล้ว +2

    чувак тебя надо раскрутить! )) неплохо у тебя это получается - видео уроки делать... так держать!

  • @user-cw7ht2nt1u
    @user-cw7ht2nt1u 4 ปีที่แล้ว +1

    Спасибо друг

  • @stalingradcity
    @stalingradcity 5 ปีที่แล้ว +1

    Класс)! Ещё!!!

  • @jerfurt_
    @jerfurt_ 6 ปีที่แล้ว +6

    Жду видео о spi и i2c устройствах

  • @georgijwlassow7430
    @georgijwlassow7430 5 ปีที่แล้ว +1

    Спасибо! Огромнейшая работа.

  • @xeither289
    @xeither289 2 ปีที่แล้ว +1

    Спасибо!

  • @samandar9757
    @samandar9757 6 ปีที่แล้ว +1

    Спасибо АлекГайвер. Интересно библиотеки и разбивание данных на части и разные издевательство над отдельные части строки (-_-)

  • @user-jd6zb1sv7e
    @user-jd6zb1sv7e 6 ปีที่แล้ว

    По больше бы такиз уроков!

  • @user-rn9js9fn2x
    @user-rn9js9fn2x 6 ปีที่แล้ว +39

    Скрытая видео/аудио камера по датчику движения.
    Технология умный дом. Ни одного путного видео на эту тему на базе ардуино.
    Кто за - ставь лайк посту чтобы Алекс увидел

    • @rudolfsikorsky7900
      @rudolfsikorsky7900 6 ปีที่แล้ว +6

      1. Чтобы получить внятный ответ, распиши функционал требуемого решения.
      2. Установка скрытого видеонаблюдения запрещена по закону (в России по крайней мере)

    • @IkkaDoes
      @IkkaDoes 4 ปีที่แล้ว

      Не Ардуино а esp8266 d1 например

  • @user-tz6xq2xi3b
    @user-tz6xq2xi3b 6 ปีที่แล้ว +1

    Ну в актив. 🤗. Лайк. Не тупо, на всякий пожарный, как говорил Семен Семеныч.

  • @user-ie1ey2ey9w
    @user-ie1ey2ey9w 5 ปีที่แล้ว +6

    если вдруг кому надо то я написал прошивку на 3 диода (основа для управления вентилятором на 3 скорости):
    boolean btn;
    boolean btn_flag = 0;
    unsigned long last_press;
    byte press_count = 0;
    void setup() {
    pinMode(7, INPUT_PULLUP); // сюда подключена кнопка
    Serial.begin(9600);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    digitalWrite (6, 0);
    digitalWrite (4, 0);
    digitalWrite (5, 0);
    }
    void loop() {
    btn = !digitalRead(7); // считать текущее положение кнопки
    if (btn == 1 && btn_flag == 0 && millis() - last_press > 100) {
    btn_flag = 1;
    if (press_count > 3){
    press_count = 0;
    }
    press_count ++;
    if (press_count == 1) {
    Serial.println("fan 0");
    digitalWrite(4, 0);
    digitalWrite(5, 0);
    digitalWrite(6, 0);
    }
    if (press_count == 2) {
    Serial.println("fan 1");
    digitalWrite(4, 1);
    digitalWrite(5, 0);
    digitalWrite(6, 0);
    }
    if (press_count == 3) {
    Serial.println("fan 2");
    digitalWrite(4, 0);
    digitalWrite(5, 1);
    digitalWrite(6, 0);
    }
    if (press_count == 4) {
    Serial.println("fan 3");
    digitalWrite(4, 0);
    digitalWrite(5, 0);
    digitalWrite(6, 1);
    }
    last_press = millis();
    }
    if (btn == 0 && btn_flag == 1 && press_count >= 0 && millis() - last_press > 100) {
    btn_flag = 0;
    last_press = millis();
    }
    }

    • @AizekMorze
      @AizekMorze 4 ปีที่แล้ว

      Отлично!!!
      Это то, что я искал)
      А не подскажишь, как прописать в этот код 2 или 3 кнопки, которые будут управлять также, но только другими пинами?

    • @kryukovvladimir3718
      @kryukovvladimir3718 4 ปีที่แล้ว

      ​@@AizekMorze Нужно просто заменить числа в коде.
      digitalWrite(4, 0);
      эту четверку меняешь на что-то другое

  • @MrStrawberryyy
    @MrStrawberryyy 5 ปีที่แล้ว +7

    извините, а можно урок про пищалку сделать

  • @user-kp4tc1sy5z
    @user-kp4tc1sy5z 6 ปีที่แล้ว +2

    Ура, после длительного перерыва ))

  • @alexloktionoff6833
    @alexloktionoff6833 2 ปีที่แล้ว +1

    Для экономии энергии, LED можно подключать через SMD катушку вместо резистора, получается понижайка - BUCK CONVERTER.

  • @konstantinsakharov227
    @konstantinsakharov227 2 ปีที่แล้ว +2

    Привет! Спасибо огромное за материалы! Все очень подробно, понятно = полезно. Занимаюсь по твоим материалам. Обнаружил мини не существенную опечатку в этом видосе (1:14 - вместо анод, написано аноид). Ни на что не влияет это, просто внимательно занимаюсь, вот и заметил, решил написать). С уважением!

  • @Flight2020
    @Flight2020 ปีที่แล้ว

    Спасибо! Подскажите пожалуйста, можно ли подключать резистор со стороны катода, а не анода? И можно ли убрать резистор, если поставить последовательно 2 или 3 светодиода (по аналогии с лампами накаливания)?

  • @arteemon5866
    @arteemon5866 ปีที่แล้ว

    спасибо

  • @mine_fire_man
    @mine_fire_man 6 ปีที่แล้ว

    Супер

  • @MaryJane-vc4zz
    @MaryJane-vc4zz 6 ปีที่แล้ว

    Ура, наконец

  • @lizynovich
    @lizynovich 6 ปีที่แล้ว +1

    Александр вернулся:) Где пропадал?

  • @ClosiusBeg
    @ClosiusBeg 2 ปีที่แล้ว

    спасибо за урок! а что делает сопротивление то? физически

  • @makskit3515
    @makskit3515 ปีที่แล้ว

    На счёт домашних заданий, было классно, если бы можно было их скинуть на почту, а в некст уроке разбирать ошибки. Дабы защитить пространство-время от индусского кода

  • @made-in-china5331
    @made-in-china5331 5 ปีที่แล้ว

    Сделай часы из светодиодной ленты, я видел как парень собирал, но там прошивка кривая, да и оригинальностью не блещет, а из сервомашин вообще шикарные, но сложные, а ты такое любишь, да вот тебе идея, 7сегментный индикатор из п-образного профиля, залей каждый сегмент эпоксидкой или засыпь битым стеклом - будет смотреться офигенно, куда ты их повесишь только не знаю :) Подаришь кому-то на днюху

  • @user-tz6xq2xi3b
    @user-tz6xq2xi3b 6 ปีที่แล้ว

    Ну лайк. 🤗.

  • @kiracat684
    @kiracat684 6 ปีที่แล้ว

    датчик влажности почвы можно запитать с цифрового выхода? сколько он потребляет?

  • @praporleha1108
    @praporleha1108 6 ปีที่แล้ว

    Привет! хотел бы посмотреть уроки по созданию разных эффектов для WS2812.Cкачал библиотеку Неопиксель,там всего 3 примера.Пытался разобраться изменяя скетч,но не проходит компиляция.единственное что разобрался как менять цвет и вкл и выкл по адресам светодиоды.Не могу понять как их заставить бегать туда сюда или при вкл.кнопки поочерёдно загорались,а при выключении поочерёдно гасли.Вобщем хотелось бы разобраться как создавать разные эффекты.

  • @user-qc2xh5rt1i
    @user-qc2xh5rt1i 6 ปีที่แล้ว

    то что один пин выдерживает ток 40 ма, это так но по моему весь мк в целом тоже имеет ограничение, если взять мегу 8 к примеру на 4 порта то она не может комутировать ток в 1,2 ампера. Там есть общий показатель потребляемого максимального тока который тоже учитывается.

  • @MihaiTeSla
    @MihaiTeSla 4 ปีที่แล้ว

    На пищялку от спикера ПК не хватает тока, нужно ставить эмиттерный повторитель (наследие аналоговой электроники). Если источник 5 вольт то оптимально всегда ставить 200 ом, если источник 12 то 1К. отталкиваемся от 1К. Как программировать если у человек дизлексия?

  • @Gun-mr6bc
    @Gun-mr6bc 4 ปีที่แล้ว +2

    Как работает опускание флага? в скетче светодиоды только загараются. погасить их можно только кнопкой RESET попытка вставки команды break не удается

  • @sergeygordich
    @sergeygordich 4 ปีที่แล้ว

    И вот с этого момента я начал доставать бред борд)
    началась практика после серии теории!

  • @nighty_3320
    @nighty_3320 4 ปีที่แล้ว

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

  • @tonytonytoday
    @tonytonytoday 6 ปีที่แล้ว

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

  • @user-pe4jc1oe3s
    @user-pe4jc1oe3s ปีที่แล้ว

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

  • @artemtyulkin
    @artemtyulkin 6 ปีที่แล้ว

    Годно

  • @EaseRider48Rus
    @EaseRider48Rus 5 หลายเดือนก่อน

    Как думаешь, можно построить Гаусс пушку на Ардуино и мосфетах?

  • @PanzerFuhrer1488
    @PanzerFuhrer1488 3 ปีที่แล้ว

    Подскажите, пожалуйста, стало интересно - а как работают гирлянды с выбором режима освещения? Допустим, чтобы все светодиоды зажигались не одновременно, а последовательно? В гирлянде обычно несколько десятков (или даже под сотню) светодиодов, и, само собой, каждый диод по отдельности не подключают к своему собственному выводу микроконтроллера, а заводят на один-два. Так как же они заставляют последовательно подключённые к одному выводу МК светодиоды включаться по очереди? Целый день голову ломал, но так и не додумался :/

  • @user-tb7kw5nh4x
    @user-tb7kw5nh4x 6 ปีที่แล้ว +1

    Жду)

  • @sergeialonichau5975
    @sergeialonichau5975 4 ปีที่แล้ว

    Alex, спасибо за видосы. Очень интересно! У меня очень базовый вопрос т.к. с электричеством давно не работал. При последовательном подключении резистора ток не меняется, а меняется напряжение которое будет равно нужному для светодиода из таблицы. Почему тогда вы называете резистор токопонижающим?

    • @bakser2004
      @bakser2004 4 ปีที่แล้ว

      Накосячил автор ролика, это называется токограничивающий резистор. А вы забыли про I=U/R. Что будет с I при постоянном U и меняющимся R? То-то же

  • @user-ri8qb1oy8u
    @user-ri8qb1oy8u 5 ปีที่แล้ว

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

  • @soldervas
    @soldervas 5 ปีที่แล้ว +1

    Отличный урок. Только одна ремарка - практика показывает, что начинающие иногда входят в ступор, когда слышат "светодиод питается током, а не напряжением". Ведь напряжение мы таки на него подаём. :-)
    Видимо лучше сказать так - яркость светодиода пропорциональна току, а не напряжению. Поскольку он имеет нелинейную характеристику.

  • @user-lt6ji1cj2p
    @user-lt6ji1cj2p 7 หลายเดือนก่อน

    Всем привет! Подскажите, а нельзя ли вместо 6 резисторов между каждым пином и каждым светодиодом - поставить всего лишь один такой же резистор между землёй на макетной плате и пином земли на Ардуино? Как от этого поменяются: Ток, Напряжение ? Что изменится?🤔

    • @michaelkaplinsky1800
      @michaelkaplinsky1800 6 หลายเดือนก่อน

      колличество целых пальцев

  • @vladimirlee5928
    @vladimirlee5928 3 ปีที่แล้ว

    Цвет светодиода зависит от запрещенной зоны в атоме кремния, соответственно величина запрещенной зоны и есть величина падения напряжения на диоде.

  • @vileyson9610
    @vileyson9610 4 ปีที่แล้ว

    Как задать цвет на отдельный светодиод на светодиодной ленте?
    Например первые 2 светодиоды горят красным, 5 следующих синим, и следующие 2 белыми?
    Объясните, пожалуйста, а то я немного недалекий)

  • @alexgruzd
    @alexgruzd 6 ปีที่แล้ว

    Расскажи про подключение динамика, а то у меня он что-то не пищит, подключаю по схеме с сайтов, динамик рабочий

  • @ThePoteryannyi
    @ThePoteryannyi 2 ปีที่แล้ว

    спасибо, 5 минут и программку светофор на делеях написал)))

  • @coba8467
    @coba8467 6 ปีที่แล้ว

    Мм вспомнил про этот канал спс

  • @edik622
    @edik622 2 ปีที่แล้ว

    привет ,сегодня купил Arduino uno если не сложно помоги плиз как записывать скетч чтобы выходные выводы работали не зависимо друг от друга , 2 выхода полно устраивает ,спасибо

  • @MrPuh86
    @MrPuh86 3 ปีที่แล้ว

    Подскажи пожалуйста я в этих делах полный ноль . есть такая штука WS2812B программируется лента или сам Ардуино .

  • @daniiliglin
    @daniiliglin 6 ปีที่แล้ว

    В какой программе ты рисуешь разводку???

  • @VANSSOFT
    @VANSSOFT 6 ปีที่แล้ว +3

    Расскажи про сдвиговые регистры 74HC595 и им подобные

    • @Lukanyator
      @Lukanyator 6 ปีที่แล้ว

      а чё там? по даташиту подключай и всё

  • @dos6920
    @dos6920 5 ปีที่แล้ว

    Что значат надписи на плате ардуино возле светодиодов TX L ...?

  • @praporleha1108
    @praporleha1108 6 ปีที่แล้ว

    Здравствуй! я собрал схемку на светодиодах и написал скетч.При включении ардуины у меня 5 светодиодов загораются поочереди ,но не знаю как сделать это через кнопку.То есть при включеном ардуино нажав на кнопку светодиоды поочереди включаются,отпустив кнопку в обратном порядке гаснут.

  • @MishaTIGWmimoauto
    @MishaTIGWmimoauto 3 ปีที่แล้ว

    а как домашнее задание сделать, с выключением светодиодов, после того, как они все зажглись ? есть подсказка ?

  • @hermionegranger8763
    @hermionegranger8763 6 ปีที่แล้ว

    Красавчег

  • @ohmygodisaprettyfalcon
    @ohmygodisaprettyfalcon ปีที่แล้ว

    Спасибо Вам огромное за старания! Прекрасные уроки, Ардуино открыл для себя буквально пару дней назад. Сегодня выходной. Завёл по Вашему совету тетрадку, всё конспектирую, и это отличный метод для понимания. Сегодня начал изучать Ваши уроки, с утра, дошёл до 7 урока, и мне очень захотелось сделать так, чтобы диоды по очереди зажигались, и в обратном порядке гасли. Я вспомнил про такую штуку, как Switch, и благодаря ей реализовал то, что хотел. У меня всего три диода, вот такой код получился:
    boolean butt_flag = 0;
    boolean butt;
    boolean led_flag = 0;
    unsigned long last_press;
    byte LEDcounter = 4;
    void setup() {
    pinMode(3, INPUT_PULLUP); // сюда подключена кнопка
    Serial.begin(9600);
    pinMode(4, OUTPUT); // сюда подключен светодиод
    pinMode(5, OUTPUT); // сюда подключен светодиод
    pinMode(6, OUTPUT); // сюда подключен светодиод
    digitalWrite(4, 0);
    digitalWrite(5, 0);
    digitalWrite(6, 0);
    }
    void loop() {
    butt = !digitalRead(3); // считать текущее положение кнопки

    if (butt == 1 && butt_flag == 0 && millis() - last_press > 300) {
    butt_flag = 1;
    Serial.println("Button pressed");
    digitalWrite(LEDcounter, 1); // включить светодиод с текущим номером
    LEDcounter++; // увеличить номер для следующего включения
    switch (LEDcounter) {
    case 8:digitalWrite(6, 0);

    break;
    case 9:digitalWrite(5, 0);

    break;
    case 10:digitalWrite(4, 0);
    LEDcounter=4;
    break;
    }
    last_press = millis();
    }
    if (butt == 0 && butt_flag == 1) {
    butt_flag = 0;
    Serial.println("Button released");
    }
    }

    • @user-it3ep4jw5o
      @user-it3ep4jw5o ปีที่แล้ว

      Привет, надеюсь ответишь, а ты можешь пожалуйста объяснить, почему у тебя case8, case9, case10, а не например другие цифры с case, однако понимаю что это для чего-то, но пока не понимаю почему именно 8, 9, 10, заранее спасибо!

    • @ohmygodisaprettyfalcon
      @ohmygodisaprettyfalcon ปีที่แล้ว

      Привет! Насколько помню, просто диоды были припаяны к выводам 4, 5 и 6, при каждом нажатии LEdCounter увеличивается на 1, т.е. нажали раз - LEdCounter стал равен 5 и засветился диод на 4 выводе, при следующем нажатии 6, загорелся на выводе 5, при следующем 7 и загорелся на выводе 6, при следующем 8 - по этому case8

    • @user-it3ep4jw5o
      @user-it3ep4jw5o ปีที่แล้ว

      @@ohmygodisaprettyfalcon ааа вот что оно, теперь я понял, благодарю за ответ!

  • @northon74
    @northon74 6 ปีที่แล้ว

    Напишите код последовательного выключения, сразу после последовательного включения. На выключение просто меняем в войде значения с 0 на 1 и в цикле с 1 на 0.

  • @AlEX-fy2ss
    @AlEX-fy2ss 2 ปีที่แล้ว

    Где найти урок, чтобы было подключено несколько ржб светодиодов с динамической индикацией, и с помощью ШИМ они изменяли яркость, каждый по отдельности? Не могу найти, и возможно ли это.. У меня в динамической индикации шим мерцает на ардуино нано..

  • @bmwinheart8647
    @bmwinheart8647 4 ปีที่แล้ว

    В какой программе или сайте ты создавал макеты

  • @user-wg5lu3jk7m
    @user-wg5lu3jk7m 2 ปีที่แล้ว

    Добрый день. Каким образом можно подключить к ардуино двухцветный светодиод с двумя ножками?

  • @artemvasyliev3038
    @artemvasyliev3038 4 ปีที่แล้ว

    Последовательное включение и выключение в обратном порядке:
    boolean knopka; //переменная отвечающая за нажатие кнопки .
    boolean flagLed; // светодиод
    boolean vkl=1; //вкл-выкл светодиода
    byte Led=4; // определяет номер порта который необходимо вкл. или выкл.
    byte y=1; //для добавления или вычитание портов, на которые необходимо подать сигнал.
    nsigned long lastTime; //время задержки после нажатия
    void setup() {
    pinMode (3, INPUT_PULLUP);
    pinMode (4, OUTPUT);
    pinMode (5, OUTPUT);
    pinMode (6, OUTPUT);
    pinMode (7, OUTPUT);
    Led = 4;
    }
    void loop() {
    knopka=!digitalRead(3);
    if (knopka==1 && flagLed==0 && millis()-lastTime>300) {
    flagLed=1;
    digitalWrite(Led,vkl);
    Led = Led + y;
    if (Led==8) {
    y=-1;
    vkl=!vkl;
    }
    if (Led==3) {
    y=1;
    vkl=1;
    }
    lastTime = millis();
    }
    if(knopka == 0 && flagLed == 1 ) {
    flagLed = 0;
    }
    }

  • @WntylyatorGacha
    @WntylyatorGacha ปีที่แล้ว +2

    Спасибо. Я чуть не сжёг ардуино и свой пукан

  • @user-js7ck7kt8c
    @user-js7ck7kt8c 6 ปีที่แล้ว

    Привет. Такой вопрос по поводу ардуино, в частности про мини. На вывод А6 вывел вывод дисплея 20*4 "RS" а на вывод А7 подвел кнопку. Ни дисплей ни кнопка не работают. Пришлось переделывать печатную плату и переназначить эти подключения на другие вывода. Вопрос: Так - как вывода А6 и А7 не являються аналоговыми, и в качестве цифровых они тоже не работают, для чего они вообще могут быть использованы? (вместо а6 и а7 задействовал 0 и 1, тем самым заблокировал возможность мониторинга и отладки собранного устройства так, как это вывода tx и rx) Все цифровые и аналоговые вывода, за исключением А6 и А7 заняты. Можно ли эти вывода как - то использовать, чтоб освободить RX и TX?

  • @jerfurt_
    @jerfurt_ 6 ปีที่แล้ว +1

    Ура

  • @user-gr7bb1oe6y
    @user-gr7bb1oe6y 5 ปีที่แล้ว

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

  • @maxbeams
    @maxbeams 2 ปีที่แล้ว

    У меня случилась проблема с домашним заданием. Я не понял что нужно было сделать, по этому на кнопке сделал триггер, и по нему выбираю направление движения бегущего огня.
    Беда ждала меня с Pullup, если код обработки кнопки один в программе то он работает идеально. А вот если я добавляю код бегущих огней, на 3 цифровой начинается произвольный дребезг, как будто Pullup нету совсем. Я сначала думал что проблема с источником питания (шум), но на батарейках эффект остался прежним. Я был вынужден поставить внешний 10кОм подтягивающий резистор на +5. Но вопрос у меня остался что в коде может отключить програмно включенный pullup ? Посмотрел предварительно интернет, и уточнил что pullup есть только в цифровых режимах пинов, перевод в аналоговый отключает pullup, как бы не мой случай я воткнулся с D3...
    Код на всякий случай, может кто подскажет:
    boolean butt_flag = 0;
    boolean butt;
    boolean endd;
    boolean led_flag = 0;
    unsigned long last_press;
    unsigned long last_invert;
    byte LEDcounter = 10;
    void setup() {
    pinMode(3, INPUT_PULLUP);
    Serial.begin(9600);
    pinMode(4, OUTPUT); //сюда подключен красный
    pinMode(5, OUTPUT); //сюда подключен желтый
    pinMode(6, OUTPUT); //сюда подключен синий
    pinMode(7, OUTPUT); //сюда подключен зеленый
    pinMode(8, OUTPUT); //сюда подключен красный
    pinMode(9, OUTPUT); //сюда подключен желтый
    pinMode(12,OUTPUT); // триггер

    }
    void loop() {
    butt = !digitalRead(3); // считать текущее положение кнопки
    if (butt == 1 && butt_flag == 0 && millis() - last_press > 100) {
    butt_flag = 1; // записать в переменную что кнопка нажата
    Serial.println("Button press and led_flag = " + String(led_flag));
    led_flag = !led_flag; //инвертировать триггер
    last_press = millis();
    digitalWrite(12, led_flag);
    }
    if (butt == 0 && butt_flag == 1) {
    butt_flag = 0;
    Serial.println("Button released and led_flag = " + String(led_flag));
    }
    //Код который дальше наглухо отрубает Pullup на пине 3, вопрос почему ?
    if (millis() - last_invert > 200) {
    last_invert = millis();
    if (led_flag == 1 ) {
    digitalWrite(LEDcounter - 1, LOW);
    digitalWrite(LEDcounter, HIGH);
    digitalWrite(LEDcounter + 1, LOW);
    Serial.println("Start LEDcounter = " + String(LEDcounter));
    LEDcounter++;
    if (LEDcounter >= 11) {
    digitalWrite(LEDcounter - 1, LOW);
    LEDcounter = 4;
    }
    } else {
    digitalWrite(LEDcounter + 1, LOW);
    digitalWrite(LEDcounter, HIGH);
    digitalWrite(LEDcounter - 1, LOW);
    last_invert = millis();
    Serial.println("Start invert LEDcounter = " + String(LEDcounter));
    LEDcounter--;
    if (LEDcounter

  • @vikktr9058
    @vikktr9058 3 ปีที่แล้ว

    Добрый день! У меня есть вопрос.
    4 светодиода должны вкл. и выкл. независимо друг от друга, несколько раз, каждый с разным режимом времени.
    Напр,
    све-д 1 - вкл. на 13мин
    све-д 2 - пауза - 1мин. вкл. на 5мин.
    све-д 3 - пауза - 2мин. вкл. на 7мин.
    све-д 2 - пауза - 2мин. вкл. на 3мин.
    све-д 4 - пауза - 3мин. вкл. на 7мин.
    све-д 3 - пауза - 1мин. вкл. на 5мин.
    све-д 4 - пауза - 2мин. вкл. на 3мин
    све-д 2 - пауза - 3мин. вкл. на 1мин.
    и тому подобное. Через какое то время все выкл. и программа останавливается. Пример - скетч, если можно!
    Заранее Спасибо!!!

  • @user-vg3iz1rs2o
    @user-vg3iz1rs2o ปีที่แล้ว

    Alex, скажи, пожалуйста, кто-нибудь прислал правильно сделанное домашнее задание по выключению светодиодов? На уровне 7-го урока, я понимаю, что нужно использовать условие, но это условие мне видится очень громоздким. Наверняка есть какой-то простой способ. Покажи, пожалуйста, как это сделать. Или хотя бы намекни, в какую сторону копать.

  • @rytsar
    @rytsar 6 ปีที่แล้ว

    помогите скетчем. включить светодиод красный на 5 сек. кнопкой 1 . или зеленый на 5 секунд кнопкой 2. при этом срабатывает светодиод синий и горит пока не нажмем 3 ю кнопку.

  • @abibor
    @abibor 3 ปีที่แล้ว +1

    Спасибо за уроки! Очень хорошее объяснение материала.
    А для всех троечников уставших думать над домашним заданием отправляю решение для очередного зажигания и отключения светодиодов.
    Объявите вторую переменную byte LEDcounter2 = 10; и присвойте её для состояния порта...
    if (LEDcounter > 10) {
    LEDcounter2--;
    digitalWrite(LEDcounter2, 0);
    Serial.print("LEDcounter2 = "); // вывод в монитор порта для мониторинга
    Serial.println(LEDcounter2); // вывод в монитор порта для мониторинга состояния переменной 2 счетчика
    }
    if (LEDcounter == 16){ // при достижении первого счетчика значения 16
    LEDcounter = 4; // "обнуляем" счетчики и дальше зажигаем огни и радуемся!
    LEDcounter2 = 10;
    }
    P.S. Для понимания гляди на изменения счетчиков в мониторе порта!

    • @user-he8he6ge7u
      @user-he8he6ge7u 3 ปีที่แล้ว

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

    • @abibor
      @abibor 3 ปีที่แล้ว +1

      @@user-he8he6ge7u Вот полный код половина из него точь в точь как в уроке.
      boolean butt_flag = 0;
      boolean butt;
      boolean led_flag = 0;
      unsigned long last_press;
      byte LEDcounter = 4;
      byte LEDcounter2 = 10;
      void setup() {
      pinMode(3, INPUT_PULLUP);
      Serial.begin(9600);
      pinMode(4, OUTPUT);
      pinMode(5, OUTPUT);
      pinMode(6, OUTPUT);
      pinMode(7, OUTPUT);
      pinMode(8, OUTPUT);
      pinMode(9, OUTPUT);
      digitalWrite(4, 0);
      digitalWrite(5, 0);
      digitalWrite(6, 0);
      digitalWrite(7, 0);
      digitalWrite(8, 0);
      digitalWrite(9, 0);
      }
      void loop() {
      // put your main code here, to run repeatedly:
      butt = !digitalRead(3); //считать текущее положение кнопки
      if (butt == 1 && butt_flag == 0 && millis() - last_press > 500) {
      butt_flag = 1;
      Serial.println("Button pressed");
      digitalWrite(LEDcounter, 1); // включить светодиод с текущим номером
      LEDcounter++; // увеличить номер для следующего включения
      last_press = millis();
      Serial.print("LEDcounter = ");
      Serial.println(LEDcounter);

      if (LEDcounter > 10) {
      LEDcounter2--;
      digitalWrite(LEDcounter2, 0);
      Serial.print("LEDcounter2 = ");
      Serial.println(LEDcounter2);
      }
      if (LEDcounter == 16){
      LEDcounter = 4;
      LEDcounter2 = 10;
      }
      }
      if (butt == 0 && butt_flag == 1) {
      butt_flag = 0;
      //Serial.println("Button released");

      }
      }

    • @user-vs5eq3wy7t
      @user-vs5eq3wy7t ปีที่แล้ว

      Вторую переменную догадался сделать. Вот только я через else все сделал. И у меня фигня какая то получилась. Через раз 2 и 8 пины отключались, а после 8 нажатий отключались все полностью.

  • @VKS_RU
    @VKS_RU 3 ปีที่แล้ว

    Есть 5 светодиодов, можно ли сделать и 5 выводов, чтобы на один из выводов подавалось 5 вольт и загорался соответствующий светодиод

  • @_M_26_
    @_M_26_ 6 ปีที่แล้ว

    Давай светодиодный индикатор уровня громкости на колонки

  • @andrushkoandrushko
    @andrushkoandrushko 4 ปีที่แล้ว

    Пожалуйста, объясните мне: если при первом нажатии на кнопку флаг был поднят, то следующие нажатия ничего не изменят, пока мы не опустим флаг. Где условие опускания флага? Пересмотрел много раз. И почему нельзя написать: "if (butt == 1) butt_flag = !butt_flag" ?

  • @user-he8he6ge7u
    @user-he8he6ge7u 3 ปีที่แล้ว +1

    Доброго времени суток
    Спасибо Вам за такие подробные и полезные уроки, очень интересно смотреть
    Дошел я значит до урока №7 посмотрел и решил, что пока не сделаю ДомашнееЗадание дальше смотреть не буду. Потратил чуть меньше 10 часов пока всё не испробовал и не дошел до нужного результата. Ниже я его представил. Не могли бы вы ответить, такой должен быть ответ или же у вас есть иной способ как выполнить Ваше ДЗ???
    -----сам код-----
    /* ДОМАШНЕЕ ЗАДАНИЕ (включить все диоды по одному и по порядку, после чего выключить их все в обратном порядке )
    кнопка установлена на 2 пину!!!
    диоды следует подключать по порядку (главное не от пина №3) послендний диод может быть вставлен в пин №12 (больше не было, поэтому дальше не подключал) !!! (ЭТО ОЧЕНЬ ВАЖНО)
    */
    //------------переменные для кнопки----------------
    boolean butt_flag = 0;
    boolean butt; // переменная для считывания кнопки
    unsigned long last_press; // пременная для устронения дребезга кнопки командой
    //-----------переменные для вкл/выкл диодов-------------
    byte LEDshet = 4; // переменная где вставлен самый первый диод
    boolean led_flag = 0; // переключатель диодов
    boolean ON = 0; // флажок включения
    boolean OFF = 0 ; // флажок выключения
    void setup() {
    pinMode(2, INPUT_PULLUP); // пин №2 установлен как прием сигнала от нажатия кнопки с встроенным резистром ((подключена кнопка))
    //указываем выходы для пинов по порядку в количестве диодов
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    // присваеваем пинам
    digitalWrite(4, 0);
    digitalWrite(5, 0);
    digitalWrite(6, 0);
    }
    void loop() {
    // --------------начало цикла для кнопки-----------------
    butt = !digitalRead(2); // считывеаем нажатие кнопки
    if (butt == 1 && butt_flag == 0 && millis() - last_press > 500) {
    butt_flag = 1;
    //---------------------- начало структуры работы диодов----------------------------------
    //-----------------------условие для включения диодов по порядку------------------
    if (led_flag == 0 && ON == 0 && OFF == 0) {
    led_flag = !led_flag;
    digitalWrite(LEDshet, led_flag);
    LEDshet++;
    ON = 1;
    OFF = 0;
    }
    //--------------------условие для выключения диодов по порядку---------------------
    if (led_flag == 1 && ON == 0 && OFF == 1) {
    led_flag = !led_flag;
    digitalWrite(LEDshet, led_flag);
    LEDshet--;
    ON = 0;
    OFF = 1;
    }
    //-----------------------условие для включения диодов по порядку------------------
    if (LEDshet = 4 && led_flag == 0 && ON == 0 && OFF == 1) { // здесь за место укажите № пина первого диода
    led_flag = 1;
    ON = 0;
    OFF = 1;
    }
    //----------------------условия поворотного момента на включение диодов--------------------
    if (LEDshet == 3 && led_flag == 0 && ON == 0 && OFF == 1) { // здесь на один меньше № пина первого диода (пример: если у вас первый диод вставлен в пин №5 вам следует здесь указать )
    LEDshet++;
    led_flag = 0;
    ON = 0;
    OFF = 0;
    }
    //---------------------- конец структуры работы диодов----------------------------------
    last_press = millis();
    }
    if (butt == 0 && butt_flag == 1) {
    butt_flag = 0;
    }
    //-------------конец цикла для кнопки-------------
    }

  • @SHaDow82898
    @SHaDow82898 4 ปีที่แล้ว

    Хороший цикл уроков. Я вроде не новичок, а кое-что новое для себя узнал. Правда по сравнению с архитектурой чистых AVRок тут прям все примитивно.

  • @tyflok4886
    @tyflok4886 5 ปีที่แล้ว

    А на Arduino UNO можно повторить этот урок?

  • @Ais_Hunt
    @Ais_Hunt 6 ปีที่แล้ว

    А что если с земли поставить резистор для всех светодиодов, что есть в цепи?

  • @user-tb7kw5nh4x
    @user-tb7kw5nh4x 6 ปีที่แล้ว +3

    Когда будут уроки про сон?