LED garland on microcontroller | Microcontrollers from scratch #7

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ธ.ค. 2024

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

  • @Программированиемикроконтролле

    Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/
    Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/

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

    молодчик доступно и поятно четко вы единственный где нашел разумное и последовательное разяснение на си

  • @ВалентинГордиенко-о8ы
    @ВалентинГордиенко-о8ы 3 ปีที่แล้ว +4

    Да. Хорошее объяснение. Всегда хотел понять как работают и программируются микросхемы и тп. Сейчас сижу и смотрю весь плейлист. Учитывая то что я программист, сне всё понятно и очень интересно. Спасибо.

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

    Если внимательно посмотреть на работающую схему в Proteus-е, то можно увидеть неработающий светодиод №8. Просто добавьте задержку после строки: " LED = 0b11111111; ".
    Спасибо Вам огромное Дмитрий за Ваш труд и уроки!!!!

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

    Такие увлекательные и подробные уроки, что даже забываешь оставить комментарий или лайк! :) Я обязательно поставлю под все эти видео лайк!

    • @АртёмКапельцев
      @АртёмКапельцев 5 ปีที่แล้ว +5

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

    • @олегспирин-р4р
      @олегспирин-р4р 5 ปีที่แล้ว

      @@АртёмКапельцев или как выпивоха, делая кульбит, падает на голову

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

      @Dmitriy Mod молодежь не смотрит программирование, им подавай как девки сисками трясут..

    • @СергейПустовойтенко-р7щ
      @СергейПустовойтенко-р7щ ปีที่แล้ว

      Коллеги, вы как никогда правы!!!

  • @АлтынбекЖурмагамбетов
    @АлтынбекЖурмагамбетов 4 ปีที่แล้ว +3

    так просто обьеснеяете все понятно отлично спасибо за труд

  • @Ivan-rc4it
    @Ivan-rc4it 5 ปีที่แล้ว

    Мне понравилось, как Вы четко и последовательно разъясняете. До этого смотрел других авторов и когда рассматривал таймеры то столкнулся с тем, что используют порт PIN, и задался вопросом, а почему нельзя считать с PORT. В youtube не нашел, пришлось много почитать и ели нашел в одном источнике. А тут сразу объяснили. Лайк.

  • @alexasdov1950
    @alexasdov1950 5 ปีที่แล้ว +4

    Большое спасибо! Действительно понятно для не программиста на си!

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

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

  • @mrAleksiy
    @mrAleksiy 5 ปีที่แล้ว +4

    Большое спасибо за отличные уроки !!

  • @Иванов-у2к
    @Иванов-у2к 5 ปีที่แล้ว +1

    Великолепно ! Обяснение на специалист с висок професионализъм , кратко, точно и ясно изложение! Благодаря!

  • @СергейРакитин-и2й
    @СергейРакитин-и2й 3 ปีที่แล้ว

    Спасибо за труд, комментарий в поддержку канала. Мне всё понятно, хорошо подан материал.

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

    спасибо за труд!!!

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

    Спасибо Вам за Ваши труды!!!!

  • @Михаил-ф8т3у
    @Михаил-ф8т3у 4 ปีที่แล้ว +1

    Спасибо за видео.
    Но, правильно будет так на 3:37 - на нижней схеме надо рисовать не нормально замкнутый контакт , а просто замкнутый.
    Правильно ли я понимаю чтоб при одновременном нажатии двух кнопок ничего небыло -то надо прописать это в проге if(pinb==0b00000011) {LED=0b00000000 } ?

    • @КаримКеримков
      @КаримКеримков 2 ปีที่แล้ว

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

  • @СветАндромеды
    @СветАндромеды 5 ปีที่แล้ว +3

    Благодарствую!!!

  • @ЕвгенийАксенов-й6л
    @ЕвгенийАксенов-й6л 4 ปีที่แล้ว

    Лучшие видео в ютубе

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

    Очень доходчиво,СПАСИБО!!!

  • @викторпрокопьев-э8ю
    @викторпрокопьев-э8ю 4 ปีที่แล้ว

    Качественные лекции.
    Спасибо.

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

    Большое спасибо!

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

    1:50 Значит всё равно установлен ли DDRx на вход или на выход, команда PORTx в любом случае будет выдавать 5 Вольт при заданной единице и Ноль при заданном нуле?
    Получается можно установить DDRx = 0, PORTx = 1 и светодиод из урока #4 всё равно будет светиться? То есть и при DDRx = 0 и при DDRx = 1, результат будет одинаковый если PORTx = 1?

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

      Тоже интересно, как вам ответят, дайте знать

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

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

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

      По факту это так, но режимы порта другие:
      1. при DDRx=1 порт на выход, тут PORTx просто запись в порт 1 или 0
      2. при DDRx = 0 порт на вход, тут PORTx настраивает порт:
      при 0 в высокоимпедансное состояние (10 мегаом примерно, чтобы на него не наводились всякие помехи и МК не тратил энергию на обработку этих сигналов - это если все упростить)
      при 1 подтягивает порт к плюсу питания (используется в том числе для передачи данных, когда ведомое устройство может посадить эту ножку на минус и МК поймет это, поэтому этот режим называется пушпул)
      Для светодиода это значит тока нет или ток есть, но суть другая

  • @БлиновВиталий
    @БлиновВиталий 2 ปีที่แล้ว +1

    Stm32 не планируется?

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

    На порту D есть специальные пины Int0, Int1 для организаций внешних прерываний. Очень кстати на эти пины подключать кнопки и организовывать прерывания.

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

      Доброго времени суток.
      А почему при нажатии второй кнопки 8 светодиод не загорался?
      Ведь вы его прописали.

    • @ДмитрийМясков
      @ДмитрийМясков 2 ปีที่แล้ว +3

      @@zamer_garage наверно потому, что после зажигания последнего светодиода не поставили задержку, он включается на 1 такт и сражу же начинается новый цикл и зажигается 1 й светодиод

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

    13:50 Не проще ли так: LED++ ?

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

    Приветствую, спасибо за видеоуроки.
    Конкретно по этому ролику один вопрос.
    КОгда писали событие второй кнопки на последовательно включение лампочек, можно было бы использовать какой нибудь цикл для побитовой записи 1 вместо 0?
    Куча однотипных строчек все таки не самое удобное решение

    • @СергейПустовойтенко-р7щ
      @СергейПустовойтенко-р7щ ปีที่แล้ว

      Дальше будут побитовые операции. Я этот плейлист вижу впервые, но покупал полный курс. Там все полностью и толково изложено. Своих денег стоит.

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

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

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

    Повторил все предоставленные Вами уроки. Жду с нетерпением видео о подключении светодиодов большего номинала с помощью транзисторного ключа. Скажите, а как сделать, чтобы светодиоды и микроконтроллер работали от 12 Вольт..? Заранее благодарен за ответ.

    • @олегспирин-р4р
      @олегспирин-р4р 5 ปีที่แล้ว

      @Dmitriy Mod понизит, только приличное выделение энергии на нем будет, легко выйдет из строя кренка

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

      @@олегспирин-р4р ну это смотря какие диоды воткнуть. На мк кренки хватит. А диоды от 12 В через ключи питать.

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

    При проверке тестером при установке PORTx битов в 1 для случая DDRx 0x0 ток через кнопку 100мкА, т.е. стоит подтягивающий резистор около 43кОм. А вот для PORTx 0x0 вход действительно высокоомный и тока практически нет ни на +, ни на -, т.е. я к тому, что на 1:50 нарисован резистор на минус, но очень похоже, что его нет.

  • @БорисТюсенков
    @БорисТюсенков 4 ปีที่แล้ว +1

    Спасибо.интересно👍. вопрос- приобретение отладочной платы для изучения MK atmel avr имеет смысл?в чём преимущество настоящего прибора перед виртуальным? спасибо.

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

      Отладочная плата - это тот же МК, только с некоторым обвесом (светодиоды, индикаторы, интерфейсы и тд). Имхо, если МК есть в DIP корпусе - проще взять макетную плату (бредборд) и обвеса в россыпную

    • @СергейПустовойтенко-р7щ
      @СергейПустовойтенко-р7щ ปีที่แล้ว

      ​@@cr00zили ардуину для ленивых)

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

    Офигенный ролик

  • @G-P_H-T
    @G-P_H-T 4 ปีที่แล้ว

    Безусловно хороший понятный урок! Но, по Вашей рекламе онлайн курса, цена в 230$ зашкаливает!
    Как говорится "будьте по проще и народ к Вам подтянется" Это секрет успеха многих высоко развитых стран и предприятий.

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

      Как говорится "сделай свой курс, и хоть за бесплатно раздавай, как раздаешь свои советы.".

    • @G-P_H-T
      @G-P_H-T ปีที่แล้ว

      @@BoooMMMs Сам то,, тоже с "заумными" советами поязвить, специалист.

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

    Тут кнопка работает так - 1 раз нажал - выполнился код. Т.е. если нажать и сразу отпустить вторую кнопку (PORTB1), то LED, согласно коду поочерёдно будут зажигаться. Т.е. для этого не нужно держать кнопку всё время.
    Вопрос: А как сделать так, что бы при отпускании кнопки прекращалось действие кода в {} оператора if?

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

      /* кнопка подключена к PD7(13),светодиод к PB0(14)
      * GccApplication15.cpp
      *
      * Created: 11.11.2018 19:01:13
      * Author : денис
      */
      #include
      #include
      bool last = true;
      bool led = false;
      bool a = true;
      int main(void)
      {
      DDRD = 0b00000000;
      PORTD = 0b11111111;
      DDRB |= (1

  • @Sweet-kc1oz
    @Sweet-kc1oz 2 ปีที่แล้ว

    Как частота 1млн герц будет влиять на потребление тока? Имеет смысл для этой задачи задать частоту например 1000гц?

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

    Как сделать поочередное включение светодиодов с помощью кнопки? Вроде бы как нужно через switch(case), но я не особо понимаю как это сделать

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

      Можно и через кейс. Мне проще через if. Писать меньше. Два варианта. Поочередное переключение кнопкой. Чуть поменять и можно включение сделат. Предполагаю есть вариант проще.
      int main(void)
      {
      DDRC |= 127; // 6 светодиодов на порт С
      //PORTC = 1;
      //можно не включать первый
      DDRB &= ~0x03; //кнопки на B0,B1
      PORTB |= 0x03; // подтяжка к +
      while (1)
      {
      if (~PINB & 1) //переключает диоды по одному кнопка B0
      {
      PORTC = PORTC

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

      Так будет включать последователно
      if (~PINB & 0x2)//включает диоды последовательно кнопка на B1
      {
      PORTC

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

    Можно ли как-то в Proteus ввести сигналы с внешних источников ? Например, через звуковую карту ?

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

    Сенсорные кнопки не пробовал делать на аналоговых входах? Читаешь напряжение на входе и если амплитуда помехи превышает порог значит состояние "нажата".

  • @pasha3177
    @pasha3177 5 ปีที่แล้ว +4

    Первый светодиод не гаснет, а восьмой не светится! Присмотритесь внимательно. Исправьте код программы, скорее всего номера портов должны считаться с нуля, а не с единицы.

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

      А первый не гаснет, потому что в начале (или в конце) тела второго условия нужно все диоды погасить.

  • @МаксимДавыдов-ь7ж
    @МаксимДавыдов-ь7ж ปีที่แล้ว

    Здравствуйте не устанавливается вторая кнопка , пишет ошибки, всё проверил!

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

    Кнопки работают, только если прописать единицы во все биты PORTB. Если прописать единицы только в нулевой и первый бит, а в остальные прописать нули, то кнопки работают только в Протеусе. В реальной схеме, кнопки в этом случае на работают.

  • @ДмитрийДемьяненко-т3о
    @ДмитрийДемьяненко-т3о 4 ปีที่แล้ว

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

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

    Доброго времени суток!
    Мне показалось, что при нажатии 2 кнопки - 8 светодиод не загорелся. А в самом коде не установлен параметр Z после включения 8 светодиода.

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

      8 светодиот загорался и сразу слишком быстро тух. Это маленькая ошибка автора, которую он как раз таки исправил, но не прокомментировал, поэтому вы на видео и не обратили внимание. А исправил он ошибку как раз таки тем что добавил нехватающую задержку. Это исправление он сделал молча после демонстрации.

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

    8 ой не горит почему ?

  • @SAM-t6k7s
    @SAM-t6k7s 4 ปีที่แล้ว

    Привет всем
    Не подскажете где можно бесплатно скачать proteus для win 10.
    гуглю и каждый раз какой то мусор скачивает или не подходит для win10.

  • @VG-vn8kk
    @VG-vn8kk 5 ปีที่แล้ว

    Большое спасибо за Ваши уроки! Учусь, но столкнулся с проблемой: программа корректно работает в Протеусе, загружается в микроконтроллер без ошибок, но стоит мне отсоеденить программатор от компьютера как происходит какои-то сбой: диоды загораются частичо и перестают загораться по очереди. В автономном режиме после этого схема уже не работает: пара диодов светится частично, на нажатие кнопок реагирует хаотично. Вот такая пичалька. Не имею опыта и не могу понать что не так. Может что-то подскажите?

    • @VG-vn8kk
      @VG-vn8kk 5 ปีที่แล้ว

      Все. Разобрался. Всем спасибо.

  • @МейрамСапаров-я9и
    @МейрамСапаров-я9и 6 ปีที่แล้ว +1

    спасибо

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

    Вопрос , получается что к кнопкам , подтягивающий резистор цеплять не надо так как есть внутри мк резистор ? Во всех схемах что видел кругом к кнопкам цепляют всегда , резистор. Или я что-то путаю

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

      Иногда и конденсаторы ставят чтоб не шумели кнопки.

  • @МихаилУдинцев-т1д
    @МихаилУдинцев-т1д 5 ปีที่แล้ว

    скажите пожалуйста, как в протеусе открыть файл pdsprj?

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

    забыл сказать про дребезг контактов

  • @АзатАхмедьянов-д7д
    @АзатАхмедьянов-д7д 4 ปีที่แล้ว

    Здравствуйте. Почему-то у меня на 7 уроке при подключении кнопки при компиляции выходит ошибка

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

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

    • @СергейПустовойтенко-р7щ
      @СергейПустовойтенко-р7щ ปีที่แล้ว

      Логика такова.Если первая нажата и вторая нажата диоды горят. Если по другому, то ничего не горит.

  • @ЕвгенийМироненко-м4о
    @ЕвгенийМироненко-м4о 3 ปีที่แล้ว

    Подскажите кто знает откуда скачать нормальную Протеус?

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

      С рутрекера попробую, у меня получилось

  • @КаримКеримков
    @КаримКеримков 2 ปีที่แล้ว +1

    Константе LED присвоим значение нулей. Константе.... Нулей! И тут я понял что меня накрыло)

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

      присвоили не самой константе, а регистру порта, название которого объявлено как константа )

  • @алексейсапелкин-м5э
    @алексейсапелкин-м5э ปีที่แล้ว

    Никак не могу запустить программу, ошибки, хотя вроде 1 к 1.

  • @АлексейАнистратов-б6з
    @АлексейАнистратов-б6з 6 ปีที่แล้ว +1

    спасибо!

  • @ДмитрийИванов-м6м
    @ДмитрийИванов-м6м 3 หลายเดือนก่อน

    нейминг переменнных конечно хромает

  • @кожевникедвард
    @кожевникедвард 3 ปีที่แล้ว

    А если представить что светодиодов не 8, а на всех возможных пинах и варианты мигания ещё разнообразнее. То можно ли использовать что то типа LED ++ вместо 0b00000001... 0b00000010…..

  • @АртёмКапельцев
    @АртёмКапельцев 5 ปีที่แล้ว

    Довольно таки очпуеть!

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

    Здарова брат я из Армени .можеш ли зделот таимер на 3,7 волта

  • @ЕржанШамбаев
    @ЕржанШамбаев 2 ปีที่แล้ว

    нет четкой последователности . Пронумерованности. Посмотрел второй урок а затем стоит 27. а гд 3.4.5... итд.

  • @ГеннадийП-з3ю
    @ГеннадийП-з3ю 3 ปีที่แล้ว

    У вас в некоторых местах видео мутнеет , и не разборчиво видно .

  • @АнтонПоздняков-щ6ш
    @АнтонПоздняков-щ6ш 5 ปีที่แล้ว +1

    +

  • @ЮжныйКот-м2э
    @ЮжныйКот-м2э 6 ปีที่แล้ว +2

    Великолепноен решение!!! А можно им управлять баяном как в этом видео? th-cam.com/video/0TTXVMMWlbU/w-d-xo.html

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

      можете сделать баян из микроконтроллера :) Присоединить динамик, и выводить на него ШИМ необходимой частоты и длительности.Запрограммировать мелодию и наслаждаться музыкой!

  • @ВладимирСамокиш-т6г
    @ВладимирСамокиш-т6г 4 ปีที่แล้ว

    Лентяй, каждую запятую копирует и вставляет. Но, жить, наверно, хорошо, когда кнопки нажИл честным непосильным трудом?)
    А так норм))

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

      Так быстрее. Всегда так делаю.

    • @ВладимирСамокиш-т6г
      @ВладимирСамокиш-т6г 4 ปีที่แล้ว +1

      @@splinterkab9007, быстрее, если нужно скопировать и вставить огромный блок текста, а не два слова по 5 букв. Кроме того, что напечатать будет быстрее, чем искать, копировать и вставлять, так еще и навык набора текста крепчает и мозг заставляешь работать на предмет запоминания слов и правильности их написания.

    • @ВладимирСамокиш-т6г
      @ВладимирСамокиш-т6г 4 ปีที่แล้ว +1

      @@splinterkab9007 А вообще, претензии у меня начинаются с 13:47 . Он скопировал блок кода с задержкой и регистром, изменил один бит и заново скопировал этот же блок, но уже с измененным битом, дабы не мучаться с удалением и заново написанием этого бита, а можно было просто вставить один этот блок несколько раз и просто изменить нужные биты в каждом отдельном случае.
      задержка;
      регистр = 0б00000001;
      Копируешь блок и вставляешь его несколько раз, потом изменяешь нужные биты, в первом поменял один бит, во втором блоке два, в третьем три и т.д до 8(к примеру), а не копировать измененный блок, вставлять его и менять один бит, потом опять копировать, опять вставлять и опять менять только один бит. Как думаете, что из этого быстрее? А все потому, что человек привык копировать и вставлять, а не прописывать код, ибо это много букАв, хоть и одинаковые. Развиваться нужно, причем это не требует финансовых затрат, кроме временных. (хотя я не знаю для чего он так сделал, может он отлично печатает, но не хотел забивать звук в видео шумом от нажатий клавиш.. кто его знает, но коп/вст в глаза мне бросилось)

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

      @@ВладимирСамокиш-т6г ну это верно. Мелкие блоки лучше перетаскивать зажав CTRL. Если не очень далеко. Я то обычно большие части копирую.

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

    спасибо

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

    спасибо!!!