Надо сказать что у кнопок есть такое явление как дребезг контактов. Время стабилизации контакта может быть несколько милисекунд, это нужно учитывать. Также учитывать расстояние от контроллера до кнопки, при внутреннем подтягивающем резисторе оно должно быть минимально, при внешнем резисторе до метра, а если несколько метров, то подключать через оптическую развязку или другими способами.
Надеюсь Александр Николаевич народ который не видел предыдущие видео и задающий тупые вопросы о которых уже не однократно было сказано, не отобьет у вас желание снимать уроки. С нетерпением жду продолжения!
Здравствуйте Александр, постоянно с интересом смотрю ваши видео уроки и постоянно ловлю себя на мысли что, несмотря на то что уже долго программирую на ардуино и сделал немало коммерческих проектов с использованием кнопок, различных дисплеев, монето и купюроприемников, с использованием внутренней и внешней энергонезависимой памяти, а также программ с серьезными математическими вычислениями и др, но все равно чувствую себя новичком смотря как досконально вы описываете работу своих программ
Сергей Ворошилов Та я сам не претендую на мега разработчика:) Учитывая что я самоучка, многое сам не знаю и также сам как у других так и самостоятельно чего то изучаю.
+Петр Петров Ардуино не программирование, ардуино - сказка. Бешеный рывок для программиста даже начинающего. Больше никогда не сяду за си и тем более за ассемблер
Сильно мудрёный огород для новичков. Для чего вы проверяете состояние порта, подключенного к светодиоду ? Какая нам разница в каком он состоянии, его просто нужно постоянно инвертировать. Тогда программа упрощается до: проверка на нажатие - инверсия состояния порта светодиода - проверка на отжатие - и в начало. Вышеописанное - модификация обычной мигалки, только delay нету и добавлены проверки порта на отжатие/нажатие
Петр Петров Были вопросы как определить состояние порта и т.д. Я же в начале видео все объяснил что вопросы которые возникают я постарался в данном примере одним махом ответить на них.
Вопросы по обработке тактовой кнопки c запоминанием отжатия/нажатия и определение логического состояния порта - это, как бы, разные вопросы по смыслу. Так что, на мой взгляд, - это должно быть два отдельных видео или более. Иначе получаются более запутанные примеры для понимания принципа.
Здравствуйте планирую начать освоение программирование микроконтроллеров. Планирую купить несколько микроконтроллеров attyni 13 и несколько других более мощных avr. Также скачал и начинаю разбираться в ПО flowcode и proteus. Прошу подскажите что нужно докупить из аппаратных вещей для прошивки контролееров. А также на какое ПО дополнительно обратить внимание? В конечном счете планирую начпть повторять готовые проекты с каналов и таким образом учится. Благодарю.
ОТВЕТТЕ ПОЖАЛУЙСТА!: 1. ВОЗМОЖНО ЛИ ПОМЕСТИТЬ ПРОГРАММУ В КОНТЕЙНЕР-ДЛЯ-ПРОГРАММЫ ТАК, ЧТОБЫ КОНТЕЙНЕР УПРАВЛЯЛ ВЫДЕЛЕНИЕМ ОЗУ ПРОГРАММЕ В КОНТЕЙНЕРЕ? ВОЗМОЖНО ЛИ СДЕЛАТЬ ЧТОБЫ ЛЮБУЮ ПРОГРАММУ МОЖНО БЫЛО ПОМЕСТИТЬ В КОНТЕЙНЕР(как желток в белок и скарлупу) КОТОРЫЙ АВТОМАТИЧЕСКИ РАСПОЛАГАЕТ ПРОГРАММУ В КОНТЕЙНЕРЕ В НУЖНОЙ ЧАСТИ(адресе) ОЗУ? 2. ВОЗМОЖНО ЛИ СИЛЫ ПРОЦЕССОРА НАСТРОИТЬ НА ВЫДАЧУ СВОИХ РЕСУРСОВ ПРОГРАММЕ В КОНТЕЙНЕРЕ(оболочке?)
Уважаемый Александр! Светодиод в схеме раком стоит, наверное надо поправить. Вы при написании кода не указываете частоту процессора. Разве это не важно? Если кто-то будет повторять, то в Atmel Studio нужно чтобы стоял тулчейн Atmel AVR 32bit(C language). С 8-ми битным вылетают предупреждения.
Автор спасибо! Не подскажите как можно при помощи одной кнопки изменять переменную на +1 при последующем нажатии или отпускании не используя прерывания!???
Добрый день! Не пойму в чем дело.Как-то странно работает программа. При первом нажатии на кнопку светодиод загорается, а вот тухнет только после трех-четырех нажатий ( Кнопку проверял, все нормально .
Как всегда замечательно. Только после USART'а даже непривычно, что такой простой урок. Александр, подключали ли вы чип ADM485 в свои проекты? (интерфейс RS485)
Александр Писанец ОТВЕТТЕ ПОЖАЛУЙСТА!: 1. ВОЗМОЖНО ЛИ ПОМЕСТИТЬ ПРОГРАММУ В КОНТЕЙНЕР-ДЛЯ-ПРОГРАММЫ ТАК, ЧТОБЫ КОНТЕЙНЕР УПРАВЛЯЛ ВЫДЕЛЕНИЕМ ОЗУ ПРОГРАММЕ В КОНТЕЙНЕРЕ? ВОЗМОЖНО ЛИ СДЕЛАТЬ ЧТОБЫ ЛЮБУЮ ПРОГРАММУ МОЖНО БЫЛО ПОМЕСТИТЬ В КОНТЕЙНЕР(как желток в белок и скарлупу) КОТОРЫЙ АВТОМАТИЧЕСКИ РАСПОЛАГАЕТ ПРОГРАММУ В КОНТЕЙНЕРЕ В НУЖНОЙ ЧАСТИ(адресе) ОЗУ? 2. ВОЗМОЖНО ЛИ СИЛЫ ПРОЦЕССОРА НАСТРОИТЬ НА ВЫДАЧУ СВОИХ РЕСУРСОВ ПРОГРАММЕ В КОНТЕЙНЕРЕ(оболочке?)
Мне кажется вопрос был в том, чтобы использовать что-то вроде динамического кода. Чтобы код генерировался в течении работы или была бы возможность добавить свой код в рабочую программу, а не только компилировался. Например работает базовая программа, которая выводит данные "контейнера", а мы в свою очередь можем залить (через флешку например) в этот контейнер что угодно (любую программу). Все как-то мутновато описано, но надеюсь я правильно понял.
Я не готов ответить, лично я не реализовывал такого. Может и возможно, надо все разглаживать и думать. Но скорей всего, в данном микроконтроллере это мало вероятно.
Спасибо за видео. У меня вопрос - до Вашего видео настраивал порты на приём/передачу вот так: DDRB = 0xFF (если передача) и DDRB = 0x00 (если приём). Подобным образом присваивал значения в PORTB/PINB. А у Вас в видео используются совсем другие операторы. Где можно почитать про эти операторы - как они работают, что означают?
Александр Писанец в принципе устраивает, я только мелкие программы составляю. у AtmelStudio больше возможности я как заметил да?. из сложных программ я в 3ф серво драйвере завис и еще светодиодная реклама на колесо велосипеду. 3ф серво, есть готовые схемы с прошивкой но я вникнуть хочу научиться как самому написать. я ваш канал тоже посещаю часто думая вдруг у вас что то появиться )))
Безусловно когда сам все делаеш возможности большие, потому что все понимаеш что делаеш. К сожалению все разработки занимают много времени я просто не успеваю все делать, хотя уже собирал изображение только не на велосипеде а на вентиляторе. Вентилятор крутится и появляется изображение. Я бы радостью поделился и схемой и кодом но проект увы, с жоским диском накрылся. Та много чего кануло, А создавать за нового это тяжело )
Александр Писанец у меня было такое что жесткий диск тупо отказал. с единственными данными и файлами, архивами. я чуть сознание не потерял. нужно было вести в Москву или Краснодар. там оборудование по ремонту жестких дисков чтобы данные вытащить с сгоревшего жесткого диска бешенную цену зарядили. еще хуже стало и когда полегчало я нащел такойже жестк диск и поменял плату и заработал. но память пустая была. после востоновление с какойто программой я вытащил все данные около 400гига. три дня программа автоматическом виде востонавливала целых 3дня. мне повезло наверно тогда.
Ievgen Od Тяжело так дать направление , лично я начинал с ассемблера, Но потом перешел на си. Ассемблер лишним не будет, но писать программы на нем тяжелее, все нужно прописывать и учитывать в самостоятельно.
Александр Писанец сделайте, пожалуйста, уроки по TIMER_COUNTER1 и TIMER_COUNTER2/ И как их можно настраивать и пользоваться одновременно. Думаю, это будут интересные уроки
скажите пожалуйста,можно ли сделать на тамеге8 такую вещь = 2кнопки управления назавем им + - и что бы при помощи их выводить аналоговый сигнал от нуля до пяти вольт?
+Александр Писанец и что бы эти 5в были от отдельного источника питания? надо использовать именно это опорное напряжение! а вы не можите снять видео как набрать прошивку? необходимо 2 таких канала и еще вопрос и можно реализовать к примеру несколько кнопок как память тех выставленых значений те выставил необходимое напряжение нажал на кнопку,подержал секунду и те параметры были в памяти!
Столкнулся с такой проблемой: если кнопка вызывает довольно длительную по времени функцию, например мигание светодиода, то чтобы включить или выключить эту функцию, надо нажимать на кнопку время, соспоставимое с длительностью этой функции(
Александр, пожалуйста, скажите, где я могу узнать про вот эти значки &,=,~ которые вы используете в своем коде? Что они означают? Почему например вы написали DDRC |= (1
Да, обучая, учишься сам... Программа написана на "Си"... Некоторые участки, критичные к времени выполнения, можно переписать на ассемблере... Прелесть поддерживаемой этой средой версии "Си" в том, что в текст на "Си" можно используя операторы: ASM... ENDASM... вставлять текст на ассемблере...
Александр Писанец Вопрос не касается того, как программировать через JTAG. Вопрос об отладке уже прошитого чипа с помощью этого интерфейса. К примеру, как делаются точки останова, как при этом взаимодействовать со средой программирования.
А как сделать в CodeVision AVR пример как здесь? Вот просто на тактовую кнопку нажал кратковременно например на порт B, а на порте D включился светодиод и этой же кнопкой и выключать его тоже кратковременным нажатием. Используется Attiny2313. CodeVision и Proteus. Уже замучался поиском решений.
Подобные вопросы разбираются в литературе довольно часто. Вы да же не показали возникаюшую проблему из-за дребезга, что б решить её в следующем уроке. Мы же ждём 3-й урок по LCD. З.Ы. Спасибо за перепелов в майонезе! Маме они то же понравились.
Александр Писанец То что решение уже было показано - хорошо, но для наглядности было бы не плохо показать проблему и дать ссылку на решение (тем кому это надо). А то получается вырванный кусок из учебника, т.с. без изюминки. И ещё один момент, хронология решения некоторых шагов-проблем-решений лучше не нарушать. Надо приучать людей работать по сценарию: постановка задачи, воплощение, сопутствующие проблемы и их решение. Я понимаю, что не всё получается как хочется, это просто мнение.
Вы правы, но как это все реализовать? Самого начала я делал как бы урок по конкретной теме. Но в процессе выяснилось что очень много не понимают как это все применять. Начинаю показывать на простеньких примерах возникают другие вопросы и т.д. Насколько понял нужно к примеру как работает USART затем пару примеров с объяснениями. Если есть пожелания готов выслушать.
Александр Писанец Я думаю, что раз есть много литературы по отдельным вопросам, то лучший вариант это реализация большого проекта разбитого по частям на отдельные вопросы с решениями. Например: УКВ-приёмник и LCD, памятью сканированием. Реализация подобного проект уже была показана в литературе. А вот в живую... Уроков за 20-30 было бы круто. Начинать с подготовки, т.е. с дробления поставленной задачи на части и прояснения вопросов каким образом это должно работать. Далее определение функционала устройства, т.е. занесение станций в память, сканер, набор частоты вручную, ввод номера ячейки памяти и/или последовательный перебор ячеек, индикация стерео на LCD или достаточно светодиода стереокодера, таймер, часы (если на I2C, то не надо полностью разбирать работу шины, библиотек с реализацией будет достаточно), будильник и т.п. Далее подбор аппаратной части: МК (ATmega8a должен подойти), радиочасть (например от автомобильной магнитолы) + стереодекодер, клавиатура, ДУ и т.п. И после программная часть, во всей красоте проблем-решений. В итоге это м.б. оформлено как подарок маме на кухню, на ДР.
все конечно интересно но та ссылка которая в описании под видео там куча папок и файлов и как этим пользоваться абсолютно не ясно хотелось бы каких то пояснений
проверил в среде адруино у вас while(1){ без скобок и скобки всегда должны быть по парно . и функция int button() без инициализации была потому и криво работает вот исправил попробуйте #include volatile unsigned char D; int main(void){ DDRC |=(1
Здравствуйте!!! Хотелось бы видео урок по тактовым кнопкам более углублённый. А точнее как реализовать одной кнопкой несколько функций. Например, длинное нажатие - одно действие. Короткое нажатие - другое действие. Два коротких нажатие - третье. Одно длинное и два коротких - другое. И т.д. Сам никак разобраться не могу. Спасибо!
Спасибо за познавательные видео по своим поделкам в частности по программированию МК... Сам начал, благодаря вам, учится програмировать. Увлекаюсь МК на любительском уровне. Уже сделал пару проэктов на АВР МК. Но сейчас столкнулся с такими - работа МК Attiny13 в Power down mode. Код написал, скомпилировал но МК после sleep и пробуждения по int0 не отрабатывает прерывания по таймеру. Сам еще плату не делал и в железе не проверял, но протеус на этот режим адекватно не реагирует. Если вам не сложно, сделайте для таких как я обучающие видео по этим режимам. Ну и если у вас будет возможность удалённо помочь советом постучите на rodgik84@gmail.com буду благодарен.
Класс. Сюда бы ещё запоминание в энергонезависимой памяти состояния добавить и будет вообще супер.
Надо сказать что у кнопок есть такое явление как дребезг контактов. Время стабилизации контакта может быть несколько милисекунд, это нужно учитывать. Также учитывать расстояние от контроллера до кнопки, при внутреннем подтягивающем резисторе оно должно быть минимально, при внешнем резисторе до метра, а если несколько метров, то подключать через оптическую развязку или другими способами.
Урааа ! Дождались очередного видео урока . Спасибо Вам за видео.
+
++
нужно вводить _delay_ms(20) иначе ибудет срабатывать спасибо автору грамотный человек
Надеюсь Александр Николаевич народ который не видел предыдущие видео и задающий тупые вопросы о которых уже не однократно было сказано, не отобьет у вас желание снимать уроки. С нетерпением жду продолжения!
Евгений Р Вопросов очень много в основном одни и теже. Времени мало, а уроки то посложнее становятся :)
Здравствуйте Александр, постоянно с интересом смотрю ваши видео уроки и постоянно ловлю себя на мысли что, несмотря на то что уже долго программирую на ардуино и сделал немало коммерческих проектов с использованием кнопок, различных дисплеев, монето и купюроприемников, с использованием внутренней и внешней энергонезависимой памяти, а также программ с серьезными математическими вычислениями и др, но все равно чувствую себя новичком смотря как досконально вы описываете работу своих программ
Сергей Ворошилов Та я сам не претендую на мега разработчика:) Учитывая что я самоучка, многое сам не знаю и также сам как у других так и самостоятельно чего то изучаю.
+Сергей Ворошилов
Ардуино так влияет. Это вообще не програмирование.
+Петр Петров Ардуино не программирование, ардуино - сказка. Бешеный рывок для программиста даже начинающего. Больше никогда не сяду за си и тем более за ассемблер
+Сергей Ворошилов
А вот почему банкоматы такие тормознутые.
молодец хорошый контент
P.S. ПРОДОЛЖАЙ В ТОМЖЕ ДУХЕ ; > )
Сильно мудрёный огород для новичков.
Для чего вы проверяете состояние порта, подключенного к светодиоду ?
Какая нам разница в каком он состоянии, его просто нужно постоянно инвертировать. Тогда программа упрощается до:
проверка на нажатие - инверсия состояния порта светодиода - проверка на отжатие - и в начало.
Вышеописанное - модификация обычной мигалки, только delay нету и добавлены проверки порта на отжатие/нажатие
Петр Петров я бы ещё добавил два считывания кнопки с задержкой между ними - и защита от дребезга, и от помех.
Петр Петров Были вопросы как определить состояние порта и т.д. Я же в начале видео все объяснил что вопросы которые возникают я постарался в данном примере одним махом ответить на них.
Вопросы по обработке тактовой кнопки c запоминанием отжатия/нажатия и определение логического состояния порта - это, как бы, разные вопросы по смыслу.
Так что, на мой взгляд, - это должно быть два отдельных видео или более.
Иначе получаются более запутанные примеры для понимания принципа.
Здравствуйте планирую начать освоение программирование микроконтроллеров. Планирую купить несколько микроконтроллеров attyni 13 и несколько других более мощных avr. Также скачал и начинаю разбираться в ПО flowcode и proteus. Прошу подскажите что нужно докупить из аппаратных вещей для прошивки контролееров. А также на какое ПО дополнительно обратить внимание? В конечном счете планирую начпть повторять готовые проекты с каналов и таким образом учится. Благодарю.
ОТВЕТТЕ ПОЖАЛУЙСТА!:
1. ВОЗМОЖНО ЛИ ПОМЕСТИТЬ ПРОГРАММУ В КОНТЕЙНЕР-ДЛЯ-ПРОГРАММЫ ТАК, ЧТОБЫ КОНТЕЙНЕР УПРАВЛЯЛ ВЫДЕЛЕНИЕМ ОЗУ ПРОГРАММЕ В КОНТЕЙНЕРЕ?
ВОЗМОЖНО ЛИ СДЕЛАТЬ ЧТОБЫ ЛЮБУЮ ПРОГРАММУ МОЖНО БЫЛО ПОМЕСТИТЬ В КОНТЕЙНЕР(как желток в белок и скарлупу) КОТОРЫЙ АВТОМАТИЧЕСКИ РАСПОЛАГАЕТ ПРОГРАММУ В КОНТЕЙНЕРЕ В НУЖНОЙ ЧАСТИ(адресе) ОЗУ?
2. ВОЗМОЖНО ЛИ СИЛЫ ПРОЦЕССОРА НАСТРОИТЬ НА ВЫДАЧУ СВОИХ РЕСУРСОВ ПРОГРАММЕ В КОНТЕЙНЕРЕ(оболочке?)
What is the best Arduino to start learning on?
Спасибо за ваши видео, очень клевые наработки, с чего посоветовали бы начать изучение электроники и МК
Уважаемый Александр! Светодиод в схеме раком стоит, наверное надо поправить.
Вы при написании кода не указываете частоту процессора. Разве это не важно?
Если кто-то будет повторять, то в Atmel Studio нужно чтобы стоял тулчейн Atmel AVR 32bit(C language). С 8-ми битным вылетают предупреждения.
Автор спасибо! Не подскажите как можно при помощи одной кнопки изменять переменную на +1 при последующем нажатии или отпускании не используя прерывания!???
Класс, хорошее видео! У меня тупой вопрос. А можно ли писать программы для микроконтроллеров на языке Java?
Насколько я знаю в андроид студии есть такая возможность.
Добрый день! Не пойму в чем дело.Как-то странно работает программа. При первом нажатии на кнопку светодиод загорается, а вот тухнет только после трех-четырех нажатий ( Кнопку проверял, все нормально .
• А не проще ли использовать исключающие ИЛИ^(XOR))😉
• Пример:
if (~PINx &(1
Тактовая кнопка вместо генератора должна работать, разьве нет?
Саша, объясните пожалуйста, что означает строка 12 и для чего это нужно ?
asm("nop") - пустая команда, не чего не делает. Это для отладки я поставил, можно не использовать.
Понятно, спасибо.
Как всегда замечательно. Только после USART'а даже непривычно, что такой простой урок. Александр, подключали ли вы чип ADM485 в свои проекты? (интерфейс RS485)
Nik RU42Я же говорю вопросов много на данную тему, вот и решил на них ответить.
Александр Писанец ОТВЕТТЕ ПОЖАЛУЙСТА!:
1. ВОЗМОЖНО ЛИ ПОМЕСТИТЬ ПРОГРАММУ В
КОНТЕЙНЕР-ДЛЯ-ПРОГРАММЫ ТАК, ЧТОБЫ КОНТЕЙНЕР УПРАВЛЯЛ ВЫДЕЛЕНИЕМ ОЗУ
ПРОГРАММЕ В КОНТЕЙНЕРЕ?
ВОЗМОЖНО ЛИ СДЕЛАТЬ ЧТОБЫ ЛЮБУЮ ПРОГРАММУ
МОЖНО БЫЛО ПОМЕСТИТЬ В КОНТЕЙНЕР(как желток в белок и скарлупу) КОТОРЫЙ
АВТОМАТИЧЕСКИ РАСПОЛАГАЕТ ПРОГРАММУ В КОНТЕЙНЕРЕ В НУЖНОЙ ЧАСТИ(адресе)
ОЗУ?
2. ВОЗМОЖНО ЛИ СИЛЫ ПРОЦЕССОРА НАСТРОИТЬ НА ВЫДАЧУ СВОИХ РЕСУРСОВ ПРОГРАММЕ В КОНТЕЙНЕРЕ(оболочке?)
Честно сказать, я мало чего понял из заданного вопроса.
Мне кажется вопрос был в том, чтобы использовать что-то вроде динамического кода. Чтобы код генерировался в течении работы или была бы возможность добавить свой код в рабочую программу, а не только компилировался. Например работает базовая программа, которая выводит данные "контейнера", а мы в свою очередь можем залить (через флешку например) в этот контейнер что угодно (любую программу).
Все как-то мутновато описано, но надеюсь я правильно понял.
Я не готов ответить, лично я не реализовывал такого. Может и возможно, надо все разглаживать и думать. Но скорей всего, в данном микроконтроллере это мало вероятно.
И volatile перед переменной D вы прописали чтобы состояние сохранялось после выключения?
Нет, чтобы оптимизатор при высокой оптимизации, не игнорировал данную переменную
В программирование микроконтроллеров не силён, но булевы переменные можно инвертировать так: переменная = !переменная.
Можно таким образом не только булевые инвертировать
Спасибо за видео. У меня вопрос - до Вашего видео настраивал порты на приём/передачу вот так: DDRB = 0xFF (если передача) и DDRB = 0x00 (если приём). Подобным образом присваивал значения в PORTB/PINB. А у Вас в видео используются совсем другие операторы. Где можно почитать про эти операторы - как они работают, что означают?
ua-cam.com/video/IUWTWqsi1rc/v-deo.html
Спасибо
отличное видео. я на кодевизион работаю ни как не решусь перейти на атмелстудио. чето тяжеловато взять и сразу перейти.
+dargin darginec Если устраивает кодевизион то можго и не менять на AtmelStudio
Александр Писанец в принципе устраивает, я только мелкие программы составляю. у AtmelStudio больше возможности я как заметил да?. из сложных программ я в 3ф серво драйвере завис и еще светодиодная реклама на колесо велосипеду. 3ф серво, есть готовые схемы с прошивкой но я вникнуть хочу научиться как самому написать. я ваш канал тоже посещаю часто думая вдруг у вас что то появиться )))
Безусловно когда сам все делаеш возможности большие, потому что все понимаеш что делаеш. К сожалению все разработки занимают много времени я просто не успеваю все делать, хотя уже собирал изображение только не на велосипеде а на вентиляторе. Вентилятор крутится и появляется изображение. Я бы радостью поделился и схемой и кодом но проект увы, с жоским диском накрылся. Та много чего кануло, А создавать за нового это тяжело )
Александр Писанец у меня было такое что жесткий диск тупо отказал. с единственными данными и файлами, архивами. я чуть сознание не потерял. нужно было вести в Москву или Краснодар. там оборудование по ремонту жестких дисков чтобы данные вытащить с сгоревшего жесткого диска бешенную цену зарядили. еще хуже стало и когда полегчало я нащел такойже жестк диск и поменял плату и заработал. но память пустая была. после востоновление с какойто программой я вытащил все данные около 400гига. три дня программа автоматическом виде востонавливала целых 3дня. мне повезло наверно тогда.
Всегда чем то привлекала елекроника. Вообще интересное занятие такое программирование?
Все зависит от целей
да. но вот как подключить у нему программатор???
в коде нет прототипа button() и не указан тип функции
спасибо за урок.но меня интересует один вопрос:что лучше для старта ASSEMBLER или С.многие советуют именно Assemler.
Ievgen Od Тяжело так дать направление , лично я начинал с ассемблера, Но потом перешел на си. Ассемблер лишним не будет, но писать программы на нем тяжелее, все нужно прописывать и учитывать в самостоятельно.
+Александр Писанец Скажите, а вот если учитывать дребезг контактов, можете сделать урок также по этому? Чтобы не было недостатка этого с дребезгом
матричная клавиатура ua-cam.com/video/A8rLopwaqmE/v-deo.html
Александр Писанец
спасибо
Александр Писанец
сделайте, пожалуйста, уроки по TIMER_COUNTER1 и TIMER_COUNTER2/ И как их можно настраивать и пользоваться одновременно. Думаю, это будут интересные уроки
Зачем писать спецификатор volatile для рандомных переменных? Называется "чо делаю, сам не знаю".
Как научиться читать прошивку с микроконтроллера и записывать ее туда с помощью простого программатора usbasp или любого другого.
скажите пожалуйста,можно ли сделать на тамеге8 такую вещь = 2кнопки управления назавем им + -
и что бы при помощи их выводить аналоговый сигнал от нуля до пяти вольт?
+Александр Чернобривко конечно, это не сложно.
+Александр Писанец и что бы эти 5в были от отдельного источника питания? надо использовать именно это опорное напряжение!
а вы не можите снять видео как набрать прошивку?
необходимо 2 таких канала
и еще вопрос и можно реализовать к примеру несколько кнопок как память тех выставленых значений те выставил необходимое напряжение нажал на кнопку,подержал секунду и те параметры были в памяти!
Столкнулся с такой проблемой: если кнопка вызывает довольно длительную по времени функцию, например мигание светодиода, то чтобы включить или выключить эту функцию, надо нажимать на кнопку время, соспоставимое с длительностью этой функции(
Александр, пожалуйста, скажите, где я могу узнать про вот эти значки &,=,~ которые вы используете в своем коде? Что они означают? Почему например вы написали DDRC |= (1
третий урок
Доброго вечора, скжіть будьласка чи буде урок по підключеню DS18B20. Вибачте, що не по темі, пошти вашої незнаю.
+Aleksandr Maslo Да, планировал
Да, обучая, учишься сам... Программа написана на "Си"... Некоторые участки, критичные к времени выполнения, можно переписать на ассемблере... Прелесть поддерживаемой этой средой версии "Си" в том, что в текст на "Си" можно используя операторы: ASM... ENDASM... вставлять текст на ассемблере...
Можно и даже нужно, на участках кода где важно время выполнения,не все так просто, особенно с переменными
А что за плата на демонстрации работы кнопки в начале урока? Что вы на ней делали?
Это макетка, с двумя микроконтроллерами. На ATMEGA48 реализован терморегулятор.
na 5:30 slucaino eto ne iz za togo cto simuljator ne emuliruet tot rezistor kotoroga pokazal na 3:30 ?
альтернативный вариант toggle с задержкой по тимеру или простой коунтер по while циклу PORTC ^=(1
Спасибо Вам за видео, Кое что интересное почерпнул. Мал. вопрос почему не сделать PORTD^=(1
Никола Пшоня Так вариантов масcа, я выбрал такой способ.
Неужели у ВСЕХ эта программка заработала? Я, как начинающий, продолбался 4 дня, пока она начала работать.А всего лишь последнюю команду D |=(1
Спасибо за урок. А можно осветить отладку с помощью JTAG?
Ir Biit А что имено там показывать?, как подключить программатору я рассказывал.ua-cam.com/video/b1BTii-hjsA/v-deo.html
Александр Писанец Вопрос не касается того, как программировать через JTAG. Вопрос об отладке уже прошитого чипа с помощью этого интерфейса. К примеру, как делаются точки останова, как при этом взаимодействовать со средой программирования.
Данные уроки были про саму AtmelStudio
там и точки остановки. В обще отладка мало чем отличается от симулятора. Но при случаи покажу.
А как сделать в CodeVision AVR пример как здесь? Вот просто на тактовую кнопку нажал кратковременно например на порт B, а на порте D включился светодиод и этой же кнопкой и выключать его тоже кратковременным нажатием. Используется Attiny2313. CodeVision и Proteus. Уже замучался поиском решений.
в CV avr все проще . спсибо тем кто его придумал
СПАСИБО!!
все разобрался там делей надо ставить иначе дребезжит постоянно при нажатии. даже в протеусе 5 раз моргает
Спасибо за видео
скачал прогграмму и как ее запустить нет екзешного вайла
Подобные вопросы разбираются в литературе довольно часто. Вы да же не показали возникаюшую проблему из-за дребезга, что б решить её в следующем уроке.
Мы же ждём 3-й урок по LCD.
З.Ы. Спасибо за перепелов в майонезе! Маме они то же понравились.
DrLithium Дребезг контактов я а уроке по матричной клавиатуре все показал как убрать можно. Но судя по комментариям там далеко не все все поняли.
Александр Писанец То что решение уже было показано - хорошо, но для наглядности было бы не плохо показать проблему и дать ссылку на решение (тем кому это надо). А то получается вырванный кусок из учебника, т.с. без изюминки.
И ещё один момент, хронология решения некоторых шагов-проблем-решений лучше не нарушать. Надо приучать людей работать по сценарию: постановка задачи, воплощение, сопутствующие проблемы и их решение.
Я понимаю, что не всё получается как хочется, это просто мнение.
DrLithium дайте человеку понемногу самому разбираться в тематике к СВОИМ видео, со временем он сам увидит потребности каждого
Вы правы, но как это все реализовать?
Самого начала я делал как бы урок по конкретной теме. Но в процессе выяснилось что очень много не понимают как это все применять. Начинаю показывать на простеньких примерах возникают другие вопросы и т.д. Насколько понял нужно к примеру как работает USART затем пару примеров с объяснениями. Если есть пожелания готов выслушать.
Александр Писанец Я думаю, что раз есть много литературы по отдельным вопросам, то лучший вариант это реализация большого проекта разбитого по частям на отдельные вопросы с решениями. Например: УКВ-приёмник и LCD, памятью сканированием. Реализация подобного проект уже была показана в литературе. А вот в живую... Уроков за 20-30 было бы круто.
Начинать с подготовки, т.е. с дробления поставленной задачи на части и прояснения вопросов каким образом это должно работать. Далее определение функционала устройства, т.е. занесение станций в память, сканер, набор частоты вручную, ввод номера ячейки памяти и/или последовательный перебор ячеек, индикация стерео на LCD или достаточно светодиода стереокодера, таймер, часы (если на I2C, то не надо полностью разбирать работу шины, библиотек с реализацией будет достаточно), будильник и т.п. Далее подбор аппаратной части: МК (ATmega8a должен подойти), радиочасть (например от автомобильной магнитолы) + стереодекодер, клавиатура, ДУ и т.п. И после программная часть, во всей красоте проблем-решений.
В итоге это м.б. оформлено как подарок маме на кухню, на ДР.
всю жизнь мечтал программировать, но так и не смог освоить. ЭХ!
все конечно интересно но та ссылка которая в описании под видео там куча папок и файлов и как этим пользоваться абсолютно не ясно хотелось бы каких то пояснений
+Sergh Sove Распаковываете. Запускаете GccAppLicatio1.atsln весь проект откроется в Atmel Studio.
На 2.00 ошибка . Пин 1 порта С настраивать на выход.
а почему ты использовал как флаг переменную типа char если можно было bool?
Конечно можно, это всего один из вариантов
@@АлександрПисанец спасибо за ответ. Я просто в электронику из программирования перехожу и стараюсь память контроллера экономить.
А каким образом можно реализовать, скажем две кнопки ?
Вариантов много к примеру так ua-cam.com/video/5tLH8xVayhc/v-deo.html
Спасибо , интересное решение.
проверил в среде адруино у вас while(1){ без скобок
и скобки всегда должны быть по парно .
и функция int button() без инициализации была
потому и криво работает вот исправил попробуйте
#include
volatile unsigned char D;
int main(void){
DDRC |=(1
+SergeyD Вы абсолютно правы, скобки нужны. Как с сам не заметил ошибки. Спасибо
Не понял про флаги. К какому биту привязан D? К какому порту.
Здравствуйте!!! Хотелось бы видео урок по тактовым кнопкам более углублённый. А точнее как реализовать одной кнопкой несколько функций. Например, длинное нажатие - одно действие. Короткое нажатие - другое действие. Два коротких нажатие - третье. Одно длинное и два коротких - другое. И т.д. Сам никак разобраться не могу. Спасибо!
Андрей Запромётов Подсчитываете время удержание при помощи таймера в зависимости от времени сработанной тактовой кнопки делаете какие то действия.
Александр Писанец Теоретически понятно, вот бы на живом примере. Если будет время и желание, пожалуйста, сделайте видео.
А жалко, что про дребезг нет!!!
спасибо вам
Без _delay_ms() функции будут ложные срабатывания
Состояние нулевого пина порта Б.. вы чо издеваетесь? Какой же это урок для начинающих..
Також не враховує дребезг, але простіше, швидше і займає менше місця
void button( void )
{
if( PINB & (1
49.5?)
нужно вводить _delay_ms(20) иначе ибудет срабатывать спасибо автору
грамотный человек (ENX1XihU0uA) , а так же обрати внимание на прогер.ру
вообще нравится сажать кнопки на ацп
от дребезга в теории можно прост сделать задержку после срабатывания.
Этого не достаточно
не работает программа побывал в протеусе
+Pasha Fusion Не могу сказать почему в протеусе не работает. Я даже в начале показал как программа работает.
Значит неисправна 100%
Спасибо за познавательные видео по своим поделкам в частности по программированию МК... Сам начал, благодаря вам, учится програмировать. Увлекаюсь МК на любительском уровне. Уже сделал пару проэктов на АВР МК. Но сейчас столкнулся с такими - работа МК Attiny13 в Power down mode. Код написал, скомпилировал но МК после sleep и пробуждения по int0 не отрабатывает прерывания по таймеру. Сам еще плату не делал и в железе не проверял, но протеус на этот режим адекватно не реагирует. Если вам не сложно, сделайте для таких как я обучающие видео по этим режимам. Ну и если у вас будет возможность удалённо помочь советом постучите на rodgik84@gmail.com буду благодарен.
Без борьбы с дребезгом, материал ни о чём, тем более для начинающих.
это не для начинающих,ни хрена ничег о не понятно .надо все разложить по полочкам ,куда заити что нажать
Для этого есть другие уроки, это практическое занятие
Спасибо за видео