даже не посмотрев могу сказать "великолепный урок ,с крайне невероятно простой подачей информации". спасибо вам что вы делаете такие полезные и хорошие ролики )
спасибо тебе, учитель! До твоих роликов я вообще не понимал че как, я давно хочу углубиться во всю эту тему но постоянно терзали сомнения ведь у меня не было навыков, но теперь это не так, благодаря тебе я научился чему-то новому и теперь я могу продвигаться вперёд. Спасибо!
Не могу пройти мимо комментариев. Ты лучший преподаватель и все самых лучших преподавателей всех наук и отраслей 👍👍👍 Если бы все были такими как ты, то детям учиться было бы всем в радость не ради оценок как в общем заведено, а ради получения и закрепления полученных увлекательных знаний... С каждым видео я говорю тебе спасибо за всех дорогой друг... Ты всё - каждое слово и каждую строку в коде поясняешь, это вообще сверх круто... Молодец!!!!
Самый правильный и легко усваиваемый (на мой взгляд) метод изложения учебного материала. Большое Вам спасибо! Желаю успехов и с нетерпением жду следующих видео!
Ох не зря я подсел на ваш канал ,меня аж распирает от предчувствия что скоро ппограмирование микроконтроллеров для меня будет обычным делом,как дважды два.Хотелось бы по подробнее про диалект языка на котором пишем программы.
Уроки великолепные. Не могли бы вы в одном из уроков посвятить самой программе, пройтись по меню какие есть фунции как создавать новые программы и так далее. Скачал программу и мне было трудно создать новый файл чтоб попробовать написать программу. программа на английском и приходится брать переводчик и сидеть с ним. 😁
@Yevgeniy , попробую как-нибудь; насчет английского - в свое время также сидел, со словарем, гуглоперевода в то время не было, понимаю какой это трэш. Но, с другой стороны - освоив десяток-другой слов из технического английского - вы поймете практически все! =)
12:00 "маленькое пояснение" Если есть набор символов кода из n элементов и каждому из них соответствует число (может не быть целым), то S:=S*n+a, где S число которое мы сравниваем с кодом, a - число соответствующее новому элементу (нажатой кнопке) мы можем не использовать строковые переменные. Фактически если цифр десять, a равно одному и каждой цифре соответствует то же число, то мы получим зачение S равным введенному набору цифр. Если цифры и соответствующие им числа перемешать, то уже будет что-то напоминающее шифрование.
Дядька, жги дальше! Возможно насмотрюсь и займусь автоматизацией ножниц для сортового проката. Посмотрел видосики на канале и уже появились кое-какие мысли на этот счет!
Коллега! =))) Я "вырос" в сортопрокатном цеху =)) и эта тематика мне близка - мы полностью, своими силами, модернизировали наш цех (два стана), цифровой раскрой, цифровой привод, скада, и т.д... Микроконтроллерам там тоже пара-тройка задач нашлась =))) Но основную автоматизацию нужно делать на ПЛК.
@@Gnevistj и это же круто! Просветите что такое ПЛК и как с этим работать, если не трудно. В целом у меня задача вот какая: по рольгангу катится прокат или поковка круглого или шестигранного сечения. Доезжает до прижимного ролика с коротого можно датчиком Холла снимать обороты. Нужно в пультовой задать длину обрезки, рольгангу продвинуть заготовку до заданной длины в индуктор, в индукторе нагреть место реза до 900...1050 градусов (неплохо бы с пирометра тоже на пульт температуру нагрева подать), а затем нагретое место подать рольгангом в ножницы и дать команду прессу на обрезку. Цикл повторить пока не кончится заготовка
@@KonstantinBurylov Деньги за решение задач надо привыкать платить, а не рассчитывать на бесплатную помощь. Не можешь сам, тогда закажи работу с оплатой и люди сделают. Когда людям платят за их работу развивается экономика, возникают новые отрасли экономики. Это же элементарно! Имейте уважение к людям и не считайте их лохами, даже если они стараются создавать новое не за деньги, а на энтузиазме с пониманием, что без их усилий развития никакого не будет.
Какое совпадение! Моим первым проектом на микроконтроллере тоже был кодовый замок. На ATTINY26 (позже был порт на tiny2313). Но у меня там ещё было меню конфигурации, управление подсветкой клавиш, сброс на заводские настройки, звуковое сопровождение клавиатуры, подобное охранным панелям DSC PC585, датчик двери, кнопка внутри для открытия/закрытия (можно было использовать совместно с ридерами RFID или iButton) и два кода - мастер-код и код пользователя. Оба можно было менять. Причём, может пользователь менять свой код или нет, задаётся настройками. Можно было даже заблокировать сброс настроек на заводские и вход в настройки простым способом. Короче, жирно получилось для своего первого проекта, да ещё и на ассемблере.
Спасибо! Очень похожий алгоритм был применен мною в кодовом замке на обычной логиге (8 корпусов), который я делал в середине 90-х. Он работал от одной кнопки, но суть та же: необходимое условие открытия, это соответствие количества нажитий кнопки количеству цифр в коде при полном соответствии порядка расположения цифр. Я делал о нём видео.
@Михаил Туринцев, мое почтение, просмотрел ваше видео "Кодовый замок на ИМС", очень интересно сделан! В 90х, на 155 серии делал самодельный кодовый замок, но т.к. я всегда был ленивым =)))) то задающим генератором у меня служил дисковый номеронабиратель =))) Сегодня кому покажи такое - не поймут как пользоваться =))))))
Вступление, музыка, изложения мысли, последовательность. Всё как надо. Молодец!!! Очень интересно научится писать непосредственно на самом контроллере а не на Ардуино с его готовыми решениями. На Ардуино конечно же легче писать особенно в протеусе но занимает намного больше памяти да и повязка к 5ти вольтам плюс его прожорливость уже как то сдерживают. А тут вот интереснее правда и тяжелее но сразу видно почерк мастера. Было бы ещё интересно посмотреть как поменять код. Как я понимаю создаётся новая переменная типа если нажата решетка + 5179(код) то тогда заменить ящичек "код"на новый. После записи нового кода по идее надо зафиксировать(подтвердить) ещё какой нибудь кнопкой допустим звёздочкой. На маленьких сейфах вроде как так работает. Здоровья, любви, удачи.
Спасибо! Нет, переменная-ящичек всегда одна и та же, мы просто приказываем ее обнулить; а проверка правильности происходит при достижении заданной длины кода в 4 символа. Но, конечно можно, немного переработав программу заменить условие связанное с проверкой длины введенного кода, на условие "нажата кнопка звездочки". Тогда все будет работать как вы и сказали =)
А ещё подвесить к исполняющей программе сканирование сетчатки, отпечатков пальцев и губ..... Одним словом создаём базу данных жильцов, жильцам право администратора без superuser, (чтобы гостей можно было вносить в БД...... Какие возможности открываются......))))
14:21 "два путя"... Если данный алгоритм применить для ввода номера квартиры и нажатием буквы "К", то либо придётся набирать "001" или применять два, а то и три путя. Ведь что "001", что "01" и "1" должны соответствовать первой квартире. Если применить метод описанный в другом комментарии, то первые ноли не изменят значения S, а следовательно избавляемся от лишнего ветвления алгоритма.
Атмосферно. Как будто пацаненком спустился в подвальчик с радиодеталями или с аквариумами, где энтузиаст-хозяин заведения, он же продавец, по-отечески расскажет что тебе нужно)
За избавление программы от тремора а конечного пользователя от нервного судорога - отдельная 5!) В старой литературе от Советской не побоюсь этого слова космической автоматики А705м это называется "дребезг клавиш")... З.Ы. Этак выпусков через цать уже строчные дисплеи будем юзать) мы только за!!!
Привет.Можно еще усложнить задачу.Если введен не правильный код то увеличивать время до момента когда можно будет снова пробовать угадывать код.Например не правильно ввёл первый раз 5 секунд потом 10 секунд ждать потом 20.И у "злоумышленника" отпадёт желание угадывать
придется вводить новую переменную "счётчик" и добавлять еще дополнительно условие проверки значений этого счетчика + обработку ошибки(чтобы не было превышения "разумной" задержки), иначе дети в течении дня наиграются с домофоном так, что он будет часто "висеть" в "паузе" 😄
Увеличивать время для следующей попытки при неправильно введенном коде - это вредить себе же. Особенно в случае указанного в ролике алгоритма работы, который и так имеет недостаток в плане защиты от злоумышленников. А увеличение времени в данном случае будет только играть на руку умному злоумышленнику, который предпочтет угадыванию и перебору другой, более быстрый и эффективный метод взлома, с логарифмической зависимостью от числа комбинаций, т.е. где время взлома пропорционально количеству цифр в коде, а не количеству комбинаций. А данный алгоритм как раз позволяет.
Вы всерьёз увлекли меня программированием микроконтроллеров. Можете порекомендовать как подойти к изучению этого дела, когда школьную программу уже не вспомнить? Ну и говоря более предметно, про программирование микроконтроллера вопросов нет, но как их подсоединить к чему-то? было бы интересно увидеть на примере состыковки кодового замка из видео с каким-либо запирающим замком.
Можно взять готовый втягивающий или толкающий электропривод (соленоид, если точнее) с просторов али, и приладить его к защелке обычного замка. Замутить самому - можно попробовать; но сразу предупреждаю - слесарь из меня на букву х, и не сказать что хороший =))) Попробую как-нибудь снять похожее видео! =)
Три дня прошло с момента как наткнулся на ваш канал. С первого же просмотра вашего видео незамедлительно подписался. Сам являюсь радиомехаником, но постичь микроконтроллеры не получилось до. Теперь когда есть ваш метод объяснения "на примере сантехники" так сказать, становится понятно что к чему. Но так как не знаю языка программирования не получается пока самому что-то делать. Скажите пожалуйста, а можете в том же "стиле" объяснить основные так сказать кирпичики языка? То есть например - команды бывают такие-(список команд-объяснение команд),переменные-такие(список-объяснение), указатели (список - объяснение). Иными словами что для чего существует и какие нюансы в использовании тех или иных кирпичиков. А также как найти в тех документации для микроконтроллера выбранного, какие команды и тому подобные вещи применимы к конкретному образцу микроконтроллера и что может быть не применимо.
В первую очередь подчеркну - я демонстрирую программы на языке высокого уровня, а он не зависит от выбора мк (в некоторых пределах - среда GCBasic "заточена" под контроллеры PIC и AVR). Основные команды... В принципе - в вышедших уже видео есть некий "набор кирпичиков", с объяснением, с которыми можно пытаться работать. По остальным вопросам - метки, названия пременных - любая комбинация букв, не являющаяся зарезервированной командой =)) Но вы правы, придется "запилить" видео с более подробным обзором =)
@@Gnevistj скажите пожалуйста а сам язык программирования который вы применяете это же язык "С"? Я правильно понимаю? Если да, то может вы сможете так же понятно его базовые вещи объяснить? У вас действительно хорошо получается! С нетерпением жду следующих ваших видео...или может посоветуете литературу для особо не образованных по языку? А то что не возьми, авторы вечно пишут так словно все вокруг поумолчанию должны знать языки... Вообще я занимаюсь ремонтом разной электроники, но когда сталкиваюсь с тем что необходимо работать с микроконтроллером, то вся задача встаёт как вкопанная. Есть идеи по созданию нескольких устройств но без мк не обойтись. Вот и требуется обучение. Но просто курсы нормальные именно по мк нигде не преподают доступным языком. Кстати говоря когда кому-то что-то отремонтировал приходится человеку потом объяснять на уровне сантехники что у его телевизора например сломалось и почему, а то люди иначе не могут понять что я им говорю 😁
@Максим Чеховских , нет, это один из диалектов бейсика; проще всего в освоении, и для бытовой автоматизации и/или самоделок - возможностей за глаза. Что могу посоветовать? Просто взять и начать - пачку дешевых микроконтроллеров (PIC16F628A, PIC16F887 могу рекомендовать, ибо дешевы, и делал на них почти все =)))) с али, программатор оттуда же - и вы имеете все возможности для старта =) Главное - начать, а потом оно само пойдет, не шучу.
Спасибо!Отличное видео.Это хорошо,что новые команды вы добавляете постепено.Потому что прошло 20 лет после универа и разум пугается и сопротивляется всему новому. Всё же я собрал волю в кулак и залил скопированные hex. файлы на два микроконтроллера для 10 -и командного ду управления.Первый контролер пал жертвой неправильного подключения (наоборот),остальные два похоже работают. Возможно,в дальнейшем вы создадите сайт с каталогом различных программ под разные контроллеры?Я думаю что он пойдёт.
в этой программе нет цикла, если человек нажал не четыре а меньше кнопок кода, передумал и ушел, а другой будет в непонятках, если не сбросить опрос кнопок, недобранного кода.
Классный урок! Правда то что злоумышленник уже знает что комбинация кода из 4 символов упрощает его задачу и это минус программе :))) Да я Шучу конечно! Классный материал и подача. Автору лайк за проделанную работу! P. S. И ещё вопрос. Как я уже писал раньше с пик-контроллерами раньше не сталкивался. Умеют ли PIC контроллеры понимать другие команды кроме 0 и 1 или слушать на своих входах сигналы отличные от 1? Например крутанул переменный резистор на пол оборота и контроллер знает что это примерно середина сопротивления... И если да, то хотелось бы увидеть простой пример такой программы.
@@Gnevistj Думаю интересной была бы задача построить робота идущего по чёрной линии, нарисованной на полу. На 2 аналоговых входа подключить два фотодиода, на два аналоговых выхода (или ШИМ) подключить 2 электродвигателя. Фотодиоды это "глаза" робота, которые "смотрят" в пол и между которыми должна проходить черная линия. А электродвигатели это его левое и правое колёса. Напряжение на выходе двигателя пропорционально напряжению на входе от фотодиода. Когда черная линия находится между фотодиодами оба двигателя работают на полную мощность (робот едет вперед). Как только черная линия попадает на один из фотодиодов напряжение на соответствующем двигателе уменьшается (робот поворачивает)
Можно, но! Тут дело в чем - все, что я показываю требует навыков работы со средой GCBasic не более чем с текстовым редактором, и мне кажется, что это интуитивно понятно =) Вполне вероятно, что я неправ в этом вопросе =) Скажите, просто для обратной связи - тот обзор в моем предыдущем видео "как прошить микроконтроллер" был информативен? Что бы вы хотели, чтобы я добавил? Я серьезно, мне очень трудно оценить, что может заинтересовать моих зрителей! =) Заранее спасибо! =)
GCBASIC в фронт сигнала умеет, в хелпе не нашел? С ним можно просто уйти от глобальной паузы и засвечивать LED в длину нажатия. Но GCBASIC забавный, можно поковырять, гоуту видимо подкупает. Спасибо за наводку.
Готовой инструкции нет, но можно написать ручками, неоднократно требовалось. Порой очень не хватает -|P|- и -|N|- инструкций из языка LD =))) Но, забегая вперед - всех ждет некий сюрприз в будущем, и с этими командами в т.ч. =))))
А почему бы и нет? Только давайте уже сразу с гравитационным двигателем, чего уж мелочиться =))) Не изобрели еще? Вот и изобретем, глядишь! Вижу цель, не вижу препятствий =)))))))))))))))
Надо еще добавить такое что если 3 раза подряд не правильно ввели код программа ожидает PUK код и если его 10 раз подряд не правильно ввести то замок не откроется никогда. Но нафига? А что бы потом если не хотите дверь ломать купите у меня PUK код.
@@DenisS1983 , а почему вы так считаете? Вот мерседесу с бмв и ауди никто не мешает продавать опции в автомобилях по подписке - т.е. к примеру, не нужен вам подогрев сидушек летом - вы за него не платите, но и включить не можете. То же самое с музыкой, кондишкой, и прочими "плюшками". Почему это им можно, а нам и вам нельзя? Продвигаю вашу бизнес-идею на новый уровень - делайте кодовый замок по подписке - не заплатил - не зашел =))))))
@@Gnevistj Вот потому бмв так и делают что знают у миллионеров денег полно и выдумывают разные способы по выкачке денег. А для простого смертного это дико! Как это не заплатил не зашел? Да он двери выломает но платить не будет. И купит замок другой без таких задрочек.
@@Gnevistj Просто У меня хорошая звукая карта, и я отчетливо слышу эти помехи. Я вот себе к микрофону добавил усилитель, на одном транзисторе, и звук стал лучьше.
@Serj Bond , в том-то и дело, что именно этот микрофон уже идет с усилителем, ибо иначе его камера не принимает, она рассчитана на использование электромагнитного микрофона, а у меня конденсаторный, "с эмуляцией", так сказать =))) И фонит походу сам усилок, а он неразборный, делать самому - как всегда времени жутко не хватает =))) Мне пока остается копить энюшки на хороший микрофон, ибо все что я пока перепробовал - увы и ах, оставляло желать лучшего =)))
Про кейс больше 10 не особо понял. Ааа. Пока писал понял. Это типо если мы нажимаем кнопку, то кейс всегда меньше 9. А если не нажимаем, программа думает, что кейс равен 10. И не пускает нас дальше. Нифига я мощный
А можно без стрингов😏 на десять помножить предыдущее набрано) Набрано=набрано×10+кейс А в начале мейна переменная keys (keys=10) задается, видимо по умолчанию, численый тип. Дальше превращенная в тип строковая(string). После таких манипуляций прога ругаться и косячить не будет?
Абсолютно можно! Даже проще выйдет! =)))) Со стрингами весь этикет соблюден - функция str() превращает числовое значение в текст перед добавлением, так что ругаться никто не начнет =)))) Уточню - тип переменной кейз от обработки функцией str() не изменяется - она превращает "добытое" из рекомой переменной число "на лету", и скармливает превращенное дальше, не меняя типы исходных данных =)
Видимо из тысячи, я единственныйЮ кто собрал эту штуковину. Потому как на схеме перепутанны выводы, сигнал на транзистор идет с 17 ноги, а на схеме с 18-о1. Косяк..
Доброго дня! Спасибо что указали на "очепятку" =)))) Приношу свои извинения за неточность, ошибку устранил, перезалил архив, и поправил ссылку в описании. Теперь программа соответствует схеме =)))
Нужно назвать весь цикл роликов - программирование для самых маленьких. А если серьезно, не стоит инфантилизм привносить в данную профессию. Этот институт создан довольно давно и требует уважительного погружения в основы если финальная цель научиться, иначе, это просто баловство без никакого смысла. Посмотрел несколько серий, только, чтоб всплакнуть по канувшему в лета бейсику, за это спасибо.
Возможно я слишком много материала попытался "впихнуть" в одно видео - оставайтесь с нами, со следующими выпусками возможно мне удастся получше объяснить "что и почему" =)
даже не посмотрев могу сказать "великолепный урок ,с крайне невероятно простой подачей информации". спасибо вам что вы делаете такие полезные и хорошие ролики )
Спасибо! =)
коммуникационный протокол для нанесения инфо у вас лучше чем все что я видел. Спасиба
Изумительная подача материала! После просмотра вопросов быть не может. Жду новых видео!
Спасибо, буду готовить новые выпуски! =)
С нетерпением жду каждый выпуск! Очень интересно, увлекательно, легко для восприятия!
Не перестаю восхищаться. Классная подача материала! Спасибо.
спасибо тебе, учитель! До твоих роликов я вообще не понимал че как, я давно хочу углубиться во всю эту тему но постоянно терзали сомнения ведь у меня не было навыков, но теперь это не так, благодаря тебе я научился чему-то новому и теперь я могу продвигаться вперёд. Спасибо!
Не могу пройти мимо комментариев.
Ты лучший преподаватель и все самых лучших преподавателей всех наук и отраслей 👍👍👍
Если бы все были такими как ты, то детям учиться было бы всем в радость не ради оценок как в общем заведено, а ради получения и закрепления полученных увлекательных знаний...
С каждым видео я говорю тебе спасибо за всех дорогой друг...
Ты всё - каждое слово и каждую строку в коде поясняешь, это вообще сверх круто...
Молодец!!!!
Спасибо, буду продолжать по мере сил =))))
Спасибо!!! Очень доходчиво и с юмором, отличная подача материала) жду новых выпусков!!!
Самый правильный и легко усваиваемый (на мой взгляд) метод изложения учебного материала. Большое Вам спасибо! Желаю успехов и с нетерпением жду следующих видео!
Ох не зря я подсел на ваш канал ,меня аж распирает от предчувствия что скоро ппограмирование микроконтроллеров для меня будет обычным делом,как дважды два.Хотелось бы по подробнее про диалект языка на котором пишем программы.
Потрясающе!
Это настоящее преподавание!
Да ты Чертов гений!!! Продолжай пожалуйста!!!
Отличная форма подачи! Сам в теме, но азы от вас слушать крайне интересно
Все гениальное просто, великолепная подача информации.
Благодарю за прекрасное объяснение) словно бы сам Джеймс Хэтфилд из Металлики мне все объяснял🎉😊
Спасибо огромное! Очень давно искал именно такой контент. Хотелось бы послушать про отладку программы на симуляторе. Думаю это будет интересно многим.
Да, согласен. Как посмотрел про алкобиты, подписался сразу))) Интересная подача материала. Успехов автору в развитии канала.
Уровень подачи материала на высоте! Так держать! Ну и спасибо за видео!)
Классный дядька) Помог подготовится к курсовой. Спасибо за понятную и интересную подачу!
Уроки великолепные.
Не могли бы вы в одном из уроков посвятить самой программе, пройтись по меню какие есть фунции как создавать новые программы и так далее. Скачал программу и мне было трудно создать новый файл чтоб попробовать написать программу. программа на английском и приходится брать переводчик и сидеть с ним. 😁
Технический английский придётся выучить. Техносфера построена англосаксами.
@Yevgeniy , попробую как-нибудь; насчет английского - в свое время также сидел, со словарем, гуглоперевода в то время не было, понимаю какой это трэш. Но, с другой стороны - освоив десяток-другой слов из технического английского - вы поймете практически все! =)
Крассавэло!Я полный нуб в электронике и программировании, но мне очень интересно смотреть твои видосы.Интересная и простая подача информации!
Благодарствуем!
Красавчик для шпаны нормально разъясняешь!!!
как все понятно и доступно
талант и мастерство
С П А С И Б О !
Как всегда круто и доходчиво!
Пасиба!👏
12:00 "маленькое пояснение"
Если есть набор символов кода из n элементов и каждому из них соответствует число (может не быть целым), то
S:=S*n+a, где S число которое мы сравниваем с кодом, a - число соответствующее новому элементу (нажатой кнопке) мы можем не использовать строковые переменные.
Фактически если цифр десять, a равно одному и каждой цифре соответствует то же число, то мы получим зачение S равным введенному набору цифр. Если цифры и соответствующие им числа перемешать, то уже будет что-то напоминающее шифрование.
Хорошая объяснение директивы #define но с макросами тоже нужно быть поаккуратней, в некоторых случаях бывает функцию написать надежнее.
Дядька, жги дальше! Возможно насмотрюсь и займусь автоматизацией ножниц для сортового проката. Посмотрел видосики на канале и уже появились кое-какие мысли на этот счет!
Коллега! =)))
Я "вырос" в сортопрокатном цеху =)) и эта тематика мне близка - мы полностью, своими силами, модернизировали наш цех (два стана), цифровой раскрой, цифровой привод, скада, и т.д...
Микроконтроллерам там тоже пара-тройка задач нашлась =))) Но основную автоматизацию нужно делать на ПЛК.
@@Gnevistj и это же круто!
Просветите что такое ПЛК и как с этим работать, если не трудно.
В целом у меня задача вот какая: по рольгангу катится прокат или поковка круглого или шестигранного сечения. Доезжает до прижимного ролика с коротого можно датчиком Холла снимать обороты. Нужно в пультовой задать длину обрезки, рольгангу продвинуть заготовку до заданной длины в индуктор, в индукторе нагреть место реза до 900...1050 градусов (неплохо бы с пирометра тоже на пульт температуру нагрева подать), а затем нагретое место подать рольгангом в ножницы и дать команду прессу на обрезку. Цикл повторить пока не кончится заготовка
@@KonstantinBurylov Деньги за решение задач надо привыкать платить, а не рассчитывать на бесплатную помощь. Не можешь сам, тогда закажи работу с оплатой и люди сделают. Когда людям платят за их работу развивается экономика, возникают новые отрасли экономики. Это же элементарно! Имейте уважение к людям и не считайте их лохами, даже если они стараются создавать новое не за деньги, а на энтузиазме с пониманием, что без их усилий развития никакого не будет.
Спасибо вам за ваш труд 👍
Жду с нетерпением новые
ваши видео
отлично а можно же на клавиатуру резисторы последовательно подключить как шим спвм огромное спасибо за уроки побольше бы таких уроков
Мне понравилось! Доходчиво.
Спасибо за урок👍👍👍
Сначала лайк, потом смотрю.
Какое совпадение! Моим первым проектом на микроконтроллере тоже был кодовый замок. На ATTINY26 (позже был порт на tiny2313). Но у меня там ещё было меню конфигурации, управление подсветкой клавиш, сброс на заводские настройки, звуковое сопровождение клавиатуры, подобное охранным панелям DSC PC585, датчик двери, кнопка внутри для открытия/закрытия (можно было использовать совместно с ридерами RFID или iButton) и два кода - мастер-код и код пользователя. Оба можно было менять. Причём, может пользователь менять свой код или нет, задаётся настройками. Можно было даже заблокировать сброс настроек на заводские и вход в настройки простым способом. Короче, жирно получилось для своего первого проекта, да ещё и на ассемблере.
Спасибо за борьбу с ленивыми одинокими нейронами в Ютубе.
Спасибо. Вот о алгоритмах очень жду видео.
Спасибо!
Очень похожий алгоритм был применен мною в кодовом замке на обычной логиге (8 корпусов), который я делал в середине 90-х. Он работал от одной кнопки, но суть та же: необходимое условие открытия, это соответствие количества нажитий кнопки количеству цифр в коде при полном соответствии порядка расположения цифр. Я делал о нём видео.
@Михаил Туринцев, мое почтение, просмотрел ваше видео "Кодовый замок на ИМС", очень интересно сделан!
В 90х, на 155 серии делал самодельный кодовый замок, но т.к. я всегда был ленивым =)))) то задающим генератором у меня служил дисковый номеронабиратель =))) Сегодня кому покажи такое - не поймут как пользоваться =))))))
@@Gnevistj спасибо за просмотр и оценку.
Вступление, музыка, изложения мысли, последовательность. Всё как надо. Молодец!!! Очень интересно научится писать непосредственно на самом контроллере а не на Ардуино с его готовыми решениями. На Ардуино конечно же легче писать особенно в протеусе но занимает намного больше памяти да и повязка к 5ти вольтам плюс его прожорливость уже как то сдерживают. А тут вот интереснее правда и тяжелее но сразу видно почерк мастера.
Было бы ещё интересно посмотреть как поменять код. Как я понимаю создаётся новая переменная типа если нажата решетка + 5179(код) то тогда заменить ящичек "код"на новый. После записи нового кода по идее надо зафиксировать(подтвердить) ещё какой нибудь кнопкой допустим звёздочкой. На маленьких сейфах вроде как так работает.
Здоровья, любви, удачи.
Спасибо!
Нет, переменная-ящичек всегда одна и та же, мы просто приказываем ее обнулить; а проверка правильности происходит при достижении заданной длины кода в 4 символа.
Но, конечно можно, немного переработав программу заменить условие связанное с проверкой длины введенного кода, на условие "нажата кнопка звездочки".
Тогда все будет работать как вы и сказали =)
Выше всех похвал!!!! Сэнсэй от бога!
А ещё подвесить к исполняющей программе сканирование сетчатки, отпечатков пальцев и губ..... Одним словом создаём базу данных жильцов, жильцам право администратора без superuser, (чтобы гостей можно было вносить в БД...... Какие возможности открываются......))))
Спасибо, очень интересно, продолжайте!
Действительно хорошие уроки, Спасибо. Очень интересно) теперь надо срочно покупать м контроллер и пробовать.
Огромное Вам спасибо!
Красава! Благодарю.
про буквы - то забыли. но офигеть как интересно, спасибушки
Я их нарочно не использовал =))) Зачем усложнять? И так 9999 комбинаций, для бытовых нужд - вполне =)))))
Супер!
Спасибо ! Очень доходчиво.
С ходу лойс!
14:21 "два путя"...
Если данный алгоритм применить для ввода номера квартиры и нажатием буквы "К", то либо придётся набирать "001" или применять два, а то и три путя. Ведь что "001", что "01" и "1" должны соответствовать первой квартире. Если применить метод описанный в другом комментарии, то первые ноли не изменят значения S, а следовательно избавляемся от лишнего ветвления алгоритма.
Все круто, давай еще!) но музыка - в 10 раз тише бы ее... а на 6:00 такое адское шипение... в наушниках если сидеть
Со звуком воюю как могу! =) Иногда он меня, иногда я его =))))))
@@Gnevistj ну... внешняя звуковуха и наушники... ну и Adobe Audition в помощь... и -60Дб слышно
Спасибо
Добрый день. Спасибо за Вашу работу, очень доходчиво объясняете.
А можете рассказать про промышленные контроллеры в частности VEDA PLC ?
Спасибо, очень познавательное видео
Атмосферно. Как будто пацаненком спустился в подвальчик с радиодеталями или с аквариумами, где энтузиаст-хозяин заведения, он же продавец, по-отечески расскажет что тебе нужно)
БОЛЬШОЕ СПАСИБО за видеваролики. Великолепная подача материала.
А как насчет реверс инжиниринга программы с микроконтроллерра? 🤔🤫😏
надо чтобы можно изменить код )и добавить цифровой сканер отпечатка сетчатки глаза)
За избавление программы от тремора а конечного пользователя от нервного судорога - отдельная 5!) В старой литературе от Советской не побоюсь этого слова космической автоматики А705м это называется "дребезг клавиш")...
З.Ы. Этак выпусков через цать уже строчные дисплеи будем юзать) мы только за!!!
Правильный термин! Если быть точнее - "дребезг контактов" =)
Строчные дисплеи я люблю очень-очень! Будет! =)))))))
Привет.Можно еще усложнить задачу.Если введен не правильный код то увеличивать время до момента когда можно будет снова пробовать угадывать код.Например не правильно ввёл первый раз 5 секунд потом 10 секунд ждать потом 20.И у "злоумышленника" отпадёт желание угадывать
Хитрец!
@Махачкала, конечно можно! Но здесь я хотел показать "базовый" вариант =)
придется вводить новую переменную "счётчик" и добавлять еще дополнительно условие проверки значений этого счетчика + обработку ошибки(чтобы не было превышения "разумной" задержки), иначе дети в течении дня наиграются с домофоном так, что он будет часто "висеть" в "паузе" 😄
Увеличивать время для следующей попытки при неправильно введенном коде - это вредить себе же. Особенно в случае указанного в ролике алгоритма работы, который и так имеет недостаток в плане защиты от злоумышленников. А увеличение времени в данном случае будет только играть на руку умному злоумышленнику, который предпочтет угадыванию и перебору другой, более быстрый и эффективный метод взлома, с логарифмической зависимостью от числа комбинаций, т.е. где время взлома пропорционально количеству цифр в коде, а не количеству комбинаций. А данный алгоритм как раз позволяет.
Вы всерьёз увлекли меня программированием микроконтроллеров. Можете порекомендовать как подойти к изучению этого дела, когда школьную программу уже не вспомнить?
Ну и говоря более предметно, про программирование микроконтроллера вопросов нет, но как их подсоединить к чему-то? было бы интересно увидеть на примере состыковки кодового замка из видео с каким-либо запирающим замком.
Можно взять готовый втягивающий или толкающий электропривод (соленоид, если точнее) с просторов али, и приладить его к защелке обычного замка. Замутить самому - можно попробовать; но сразу предупреждаю - слесарь из меня на букву х, и не сказать что хороший =)))
Попробую как-нибудь снять похожее видео! =)
@@Gnevistj было бы очень интересно.
Считывание нажатие кнопок/сработки датчиков лучше делать по фронту события. Иначе можно хлебнуть, как я это сделал в свое время
Сделать ещё к нему устройство взлома на микроконтроллере. Как в фильме миссия невыполнима)
Можно просто батарейкой подать аналоговый сигнал на LedGreen
👍
классно! а где схема с реле?
Сделай видео о том как написанный текстовый код превращает электрический импульс-сигнал в механическое движение..
Батарейка контроллер моторчик..
Три дня прошло с момента как наткнулся на ваш канал. С первого же просмотра вашего видео незамедлительно подписался. Сам являюсь радиомехаником, но постичь микроконтроллеры не получилось до. Теперь когда есть ваш метод объяснения "на примере сантехники" так сказать, становится понятно что к чему. Но так как не знаю языка программирования не получается пока самому что-то делать. Скажите пожалуйста, а можете в том же "стиле" объяснить основные так сказать кирпичики языка? То есть например - команды бывают такие-(список команд-объяснение команд),переменные-такие(список-объяснение), указатели (список - объяснение). Иными словами что для чего существует и какие нюансы в использовании тех или иных кирпичиков. А также как найти в тех документации для микроконтроллера выбранного, какие команды и тому подобные вещи применимы к конкретному образцу микроконтроллера и что может быть не применимо.
В первую очередь подчеркну - я демонстрирую программы на языке высокого уровня, а он не зависит от выбора мк (в некоторых пределах - среда GCBasic "заточена" под контроллеры PIC и AVR). Основные команды... В принципе - в вышедших уже видео есть некий "набор кирпичиков", с объяснением, с которыми можно пытаться работать. По остальным вопросам - метки, названия пременных - любая комбинация букв, не являющаяся зарезервированной командой =))
Но вы правы, придется "запилить" видео с более подробным обзором =)
@@Gnevistj скажите пожалуйста а сам язык программирования который вы применяете это же язык "С"? Я правильно понимаю? Если да, то может вы сможете так же понятно его базовые вещи объяснить? У вас действительно хорошо получается! С нетерпением жду следующих ваших видео...или может посоветуете литературу для особо не образованных по языку? А то что не возьми, авторы вечно пишут так словно все вокруг поумолчанию должны знать языки... Вообще я занимаюсь ремонтом разной электроники, но когда сталкиваюсь с тем что необходимо работать с микроконтроллером, то вся задача встаёт как вкопанная. Есть идеи по созданию нескольких устройств но без мк не обойтись. Вот и требуется обучение. Но просто курсы нормальные именно по мк нигде не преподают доступным языком. Кстати говоря когда кому-то что-то отремонтировал приходится человеку потом объяснять на уровне сантехники что у его телевизора например сломалось и почему, а то люди иначе не могут понять что я им говорю 😁
@Максим Чеховских , нет, это один из диалектов бейсика; проще всего в освоении, и для бытовой автоматизации и/или самоделок - возможностей за глаза.
Что могу посоветовать? Просто взять и начать - пачку дешевых микроконтроллеров (PIC16F628A, PIC16F887 могу рекомендовать, ибо дешевы, и делал на них почти все =)))) с али, программатор оттуда же - и вы имеете все возможности для старта =) Главное - начать, а потом оно само пойдет, не шучу.
Можно будет сделать уроки по схеме подключения? Как программировать понятно, а вот что куда подключать нет(
Да, такое видео тоже планирую! Имейте чуточку "колхозной выдержки", все будет =)))
@@Gnevistj Благодарю!😅👌
Спасибо!Отличное видео.Это хорошо,что новые команды вы добавляете постепено.Потому что прошло 20 лет после универа и разум пугается и сопротивляется всему новому.
Всё же я собрал волю в кулак и залил скопированные hex. файлы на два микроконтроллера для 10 -и командного ду управления.Первый контролер пал жертвой неправильного подключения (наоборот),остальные два похоже работают.
Возможно,в дальнейшем вы создадите сайт с каталогом различных программ под разные контроллеры?Я думаю что он пойдёт.
Спасибо! Время покажет, во что все это сможет развиться =)
Все отлично! Только музыка бьёт по ушам, лучше без нее.
Будем бороть звук дальше =)) У меня со звуком переменный успех - то лучше, то хуже =)))
в этой программе нет цикла, если человек нажал не четыре а меньше кнопок кода, передумал и ушел, а другой будет в непонятках, если не сбросить опрос кнопок, недобранного кода.
1000 лайков!
Классный урок!
Правда то что злоумышленник уже знает что комбинация кода из 4 символов упрощает его задачу и это минус программе :)))
Да я Шучу конечно! Классный материал и подача. Автору лайк за проделанную работу!
P. S.
И ещё вопрос. Как я уже писал раньше с пик-контроллерами раньше не сталкивался.
Умеют ли PIC контроллеры понимать другие команды кроме 0 и 1 или слушать на своих входах сигналы отличные от 1?
Например крутанул переменный резистор на пол оборота и контроллер знает что это примерно середина сопротивления...
И если да, то хотелось бы увидеть простой пример такой программы.
Спасибо!
Да, это называется "аналоговый вход", и они "в него умеють" =))) У меня планируется выпуск, посвященный аналоговым сигналам =)
@@Gnevistj Думаю интересной была бы задача построить робота идущего по чёрной линии, нарисованной на полу. На 2 аналоговых входа подключить два фотодиода, на два аналоговых выхода (или ШИМ) подключить 2 электродвигателя. Фотодиоды это "глаза" робота, которые "смотрят" в пол и между которыми должна проходить черная линия. А электродвигатели это его левое и правое колёса. Напряжение на выходе двигателя пропорционально напряжению на входе от фотодиода. Когда черная линия находится между фотодиодами оба двигателя работают на полную мощность (робот едет вперед). Как только черная линия попадает на один из фотодиодов напряжение на соответствующем двигателе уменьшается (робот поворачивает)
а что за язык программирования,
можно коротенький ролик по самой программе?
Можно, но! Тут дело в чем - все, что я показываю требует навыков работы со средой GCBasic не более чем с текстовым редактором, и мне кажется, что это интуитивно понятно =) Вполне вероятно, что я неправ в этом вопросе =)
Скажите, просто для обратной связи - тот обзор в моем предыдущем видео "как прошить микроконтроллер" был информативен? Что бы вы хотели, чтобы я добавил? Я серьезно, мне очень трудно оценить, что может заинтересовать моих зрителей! =) Заранее спасибо! =)
@@Gnevistj это для вас интуитивно понятно, а для некоторых...))).
GCBASIC в фронт сигнала умеет, в хелпе не нашел? С ним можно просто уйти от глобальной паузы и засвечивать LED в длину нажатия. Но GCBASIC забавный, можно поковырять, гоуту видимо подкупает. Спасибо за наводку.
Готовой инструкции нет, но можно написать ручками, неоднократно требовалось. Порой очень не хватает -|P|- и -|N|- инструкций из языка LD =)))
Но, забегая вперед - всех ждет некий сюрприз в будущем, и с этими командами в т.ч. =))))
А про как взломать это дело, есть идеи?
Я так понял, когда всё освоим, то напишем програму для контролера управлять ракетой на Луну.)
А почему бы и нет? Только давайте уже сразу с гравитационным двигателем, чего уж мелочиться =))) Не изобрели еще? Вот и изобретем, глядишь! Вижу цель, не вижу препятствий =)))))))))))))))
Надо еще добавить такое что если 3 раза подряд не правильно ввели код программа ожидает PUK код и если его 10 раз подряд не правильно ввести то замок не откроется никогда. Но нафига? А что бы потом если не хотите дверь ломать купите у меня PUK код.
Ваш бизнес-план весьма неплох!!! =)))))))
@@Gnevistj Да я просто прикололся. В реальности меня бы послали нах с таким замком.
@@DenisS1983 , а почему вы так считаете? Вот мерседесу с бмв и ауди никто не мешает продавать опции в автомобилях по подписке - т.е. к примеру, не нужен вам подогрев сидушек летом - вы за него не платите, но и включить не можете. То же самое с музыкой, кондишкой, и прочими "плюшками".
Почему это им можно, а нам и вам нельзя? Продвигаю вашу бизнес-идею на новый уровень - делайте кодовый замок по подписке - не заплатил - не зашел =))))))
@@Gnevistj Вот потому бмв так и делают что знают у миллионеров денег полно и выдумывают разные способы по выкачке денег. А для простого смертного это дико! Как это не заплатил не зашел? Да он двери выломает но платить не будет. И купит замок другой без таких задрочек.
почему "Гневисть ?"))
Благодарю. Хорошая подача материала. Правда микрофон немного фонит. А так хорошо.
Со звуком у меня вечная борьба; буду стараться сделать лучше =)))
@@Gnevistj Просто У меня хорошая звукая карта, и я отчетливо слышу эти помехи. Я вот себе к микрофону добавил усилитель, на одном транзисторе, и звук стал лучьше.
@Serj Bond , в том-то и дело, что именно этот микрофон уже идет с усилителем, ибо иначе его камера не принимает, она рассчитана на использование электромагнитного микрофона, а у меня конденсаторный, "с эмуляцией", так сказать =))) И фонит походу сам усилок, а он неразборный, делать самому - как всегда времени жутко не хватает =)))
Мне пока остается копить энюшки на хороший микрофон, ибо все что я пока перепробовал - увы и ах, оставляло желать лучшего =)))
А что за язык? Си?
Диалект бейсика.
Про кейс больше 10 не особо понял.
Ааа. Пока писал понял. Это типо если мы нажимаем кнопку, то кейс всегда меньше 9. А если не нажимаем, программа думает, что кейс равен 10. И не пускает нас дальше. Нифига я мощный
А что это за язык очень похож на BASIC
Он и есть =)
5+
Мдаа, почему нам в универе так не объясняют?!
А можно без стрингов😏 на десять помножить предыдущее набрано)
Набрано=набрано×10+кейс
А в начале мейна переменная keys (keys=10) задается, видимо по умолчанию, численый тип. Дальше превращенная в тип строковая(string). После таких манипуляций прога ругаться и косячить не будет?
Абсолютно можно! Даже проще выйдет! =))))
Со стрингами весь этикет соблюден - функция str() превращает числовое значение в текст перед добавлением, так что ругаться никто не начнет =))))
Уточню - тип переменной кейз от обработки функцией str() не изменяется - она превращает "добытое" из рекомой переменной число "на лету", и скармливает превращенное дальше, не меняя типы исходных данных =)
Видимо из тысячи, я единственныйЮ кто собрал эту штуковину. Потому как на схеме перепутанны выводы, сигнал на транзистор идет с 17 ноги, а на схеме с 18-о1. Косяк..
Доброго дня! Спасибо что указали на "очепятку" =))))
Приношу свои извинения за неточность, ошибку устранил, перезалил архив, и поправил ссылку в описании. Теперь программа соответствует схеме =)))
@@Gnevistj Да ничего, зато обеспечили меня увлекательным занятием на полдня. Спасибо за то, что вы делаете.
"5179" год рождения что ли?
Надо как то посложнее... я в школе такие программы писал, и как и все, боялся микросхем... а тут, а оно, да вообще фигня получается!!!
Будет и посложнее, но только постепенно =))))
Нужно назвать весь цикл роликов - программирование для самых маленьких. А если серьезно, не стоит инфантилизм привносить в данную профессию. Этот институт создан довольно давно и требует уважительного погружения в основы если финальная цель научиться, иначе, это просто баловство без никакого смысла. Посмотрел несколько серий, только, чтоб всплакнуть по канувшему в лета бейсику, за это спасибо.
9:30... стринги... ну совсем для лохов)
Невсёясно
Возможно я слишком много материала попытался "впихнуть" в одно видео - оставайтесь с нами, со следующими выпусками возможно мне удастся получше объяснить "что и почему" =)
Дифайн кажется всё просто. Но лично я никак не могу въехать в эту функцию и пишу в основном без этого для переменных.
Дело вкуса! Главное - чтоб работало, остальное - вторично.
Молодец.Но с учётом Н Т Прогресса в 21 веке работягам живется всё так же херово.
Супер!