Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Устройство и программирование микроконтроллеров AVR. Первый шаг.

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

Как многие из вас уже догадались – слева изображен кусочек знаменитой картины норвежского экспрессиониста Эдварда Мунка “Крик” (первоначальное название – “Крик природы”).
Почему-то, именно эта картина для меня ассоциируется с человеком, решившим окунуться в мир микроконтроллеров. Этот кусочек неплохо бы смотрелся на обложке какой-либо книги под названием “Микроконтроллеры ???!” (или, по аналогии с первоначальным названием картины,  – “Микроконтроллеры для начинающего”).
Почему такая ассоциация. На это есть несколько причин.
Главная, на мой взгляд, причина – самостоятельное изучение.
Нелегкое это дело. Сейчас и в книжных магазинах, и в интернете, можно найти огромное количество прекрасной литературы и информации по устройству и программированию микроконтроллеров. Но есть одно “но”, читая различную литературу с позиции “полного нуля”, понимаешь, что или авторы о чем-то умалчивают и не делятся всеми своими знаниями, или все-таки ты сам такой “тупой валенок”, что через твои глаза в мозг не может пробиться ни одна умная мысль.

Тут, естественно, только два варианта – или сам “тупой”, или все-таки, приступая к чтению, надо иметь какие-то первоначальные знания, чтобы уследить за мыслью автора. А ведь хочется иметь под рукой такую книжку (и только ее, одну единственную) которая поведет тебя именно от “нуля” до того момента, когда дальше “плыть” можно уже самостоятельно.
Как-то, очень давно, я стал счастливым обладателем мощнейшего суперкомпьютера под названием “ZX-Spectrum” (кстати, за что до сих пор признателен сэру Клайву Синклеру за этот шедевр 80-х годов). Так вот, сначала я баловался и писал программки на этом компьютере на “Бейсике” (хотя баловством это нельзя назвать, но возможности того “Бейсика”, для того компьютера не позволяли создать что-то уж очень серьезное). Но постепенно, с тем как приходил опыт, возможностей “Бейсика” стало катастрофически не хватать. Стало понятно, – пора переходить на “Ассемблер” (только программируя на “Ассемблере” можно было создать для “Спектрума” серьезные программы). Честно скажу, было страшновато браться за “Ассемблер”, особенно сделать первый шаг навстречу ему.
Но мне очень повезло – посчастливилось купить книгу (к большому сожалению, я не помню ни названия, ни автора этой книги, вот что значит старческий маразм), где в простой и популярной форме объяснялся весь процесс дружбы с “Ассемблером”, микропроцессором “Zilog Z80″ (на нем был построен “ZX Spectrum”) и с необходимым программным обеспечением. И самое удивительное, через несколько дней я сам мог уже писать программы. Мне повезло, у меня была такая книга.
А вот еще пример (хотя многим он и покажется странным) – технические термины. Я понимаю, что в микроконтроллерах мы не “впереди планеты всей”, но как русскоговорящему (и думающему на русском) мне было бы легче понимать и вникать в технические тексты будь они написаны максимально на доступном мне русском языке. Да, в некоторых случаях можно и не найти доступного аналога английскому выражению в русском языке, но в большинстве случаев, наверное все-таки можно. Каждое слово (термин) вызывает в голове какую-то определенную образную ассоциацию, и если этот образ полностью совпадает со смыслом – то это очень хорошо, легко понять и запомнить.
А если у возникшего образа нет связи со смыслом, или вообще в голове ничего не возникает – попробуйте такую информацию “переварить” и запомнить даже с третьего раза. А ведь читая популярную литературу, с такими словами и терминами сталкиваешься на каждом шагу. Почему надо писать именно – постоянное запоминающее устройство, а не постоянная память или память для программ; оперативное запоминающее устройство, а не временная память, ведь пишут же – энергонезависимая память вместо мудреного длинного названия. Или хотя бы в скобках давать русское понятие (или более понятное объяснение): компаратор (устройство сравнения сигналов, сравнивающее устройство). А ШИМ, – широтно-импульсная модуляция, – какой образ возникает в голове у начинающего? А написали бы в скобках – управление средним значением напряжения (или просто – управление напряжением), и может быть не таким “тупым” бы себя чувствовал. Были попытки “внедрить” в среду микроконтроллеров русские названия, но они не прижились, а жаль. Конечно, тем кто занимается микроконтроллерами профессионально (или на уровне профессионала) нужно знать все технические термины, знать “технический” английский язык, от этого никуда не деться.
Ну а для любительского уровня все-таки должно быть как-то попроще, понятливей.
Понятно, что рассуждать легко, а воплотить в жизнь что-то, намного труднее. Но у меня, по сравнению с авторами популярных книг, есть одно преимущество – постоянный контакт с читателями  сайта. И если где-то я заверну что-то уж очень заумное, малопонятное и маловразумительное, или даже ошибочное, всегда есть возможность подправить текст и изложить его более человечным языком. Так-что, не стесняйтесь, задавайте вопросы, исправляйте и тыкайте носом в заумные фразы и ошибки.

Очень известные авторы публикаций, посвященных микроконтроллерам, А.В. Фрунзе и А.А. Фрунзе назвали свой многотомный труд (кстати, очень интересный и очень познавательный) “Микроконтроллеры. Это же просто!”. Так вот, я с ними категорически несогласен: “Микроконтроллеры. Это совсем, совсем не просто”.

Просто – выпить стакан воды, а вот вдохнуть “жизнь” в микроконтроллер – это очень не просто.

Эта статья – небольшое предисловие к моей попытке помочь радиолюбителям, делающим самый первый шаг в “микроконтроллерный” мир.

И если у вас есть желание освоить работу с микроконтроллерами, давайте попробуем это сделать вместе. Ведь для этого многого не надо – только желание, желание научиться работать с микроконтроллерами.

При написании статей этого раздела, кроме незначительного количества своих “умных” мыслей, использовались материалы публикаций авторов – Рюмика С.М., Белова А.В., Ревича Ю.В., Евстифеева А.В., Гребнева В.В., Мортона Д., Трамперта В., Фрунзе А.В. и Фрунзе А.А., а также материалы радиолюбительских сайтов.


Перейти к следующей статье



ПАЯТЬ ПРОСТО МЫ ПОКАЖЕМ КАК ЭТО ДЕЛАТЬ. МИТЧ АЛЬТМАН (делился опытом) ЭНДИ НОРДГРИН (рисовал комикс) ДЖЕФФ КИЙЦЕР. (верстал) распространять всюду!

Критерии качества продукции

Критерии качества продукции. Внешний вид паяного соединения ровная, однородная, гладкая, блестящая поверхность паяного соединения. Припой покрывает паяемые поверхности. Хорошее смачивание припоем. матовая

Подробнее

ОСНОВЫ КАЧЕСТВЕННОЙ ПАЙКИ

ОСНОВЫ КАЧЕСТВЕННОЙ ПАЙКИ Основы пайки. Первое, что необходимо сделать – подготовить все необходимое для пайки радиодеталей: паяльник, подставку для паяльника, деревянный брусок, припой, флюс, плоскогубцы

Подробнее

ПРОЕКТ 14. СОЗДАНИЕ ДАТЧИКА ПРИКОСНОВЕНИЯ

ПРОЕКТ 14. СОЗДАНИЕ ДАТЧИКА ПРИКОСНОВЕНИЯ Знаете ли вы, что ваш палец может играть роль резистора? Он имеет сопротивление в несколько мегаом (МОм), и этого более чем достаточно. Однако значение этого сопротивления

Подробнее

Элементы паяльной станции

Инструкция по эксплуатации паяльной станции KADA 852D, 852D+. Содержание Элементы паяльной станции… 1 Первоначальная настройка паяльной станции… 2 Правила безопасного использования… 2 Процесс эксплуатации…

Подробнее

Урок 3. Основы монтажа и пайки

Посмотреть видеоролик. Урок 3 Основы монтажа и пайки Необходимые для работы инструменты и материалы рассмотрены в уроке 1. Напомню о том, что потребуется для сборки конструктора: – паяльник, припой с каналом

Подробнее

ПАЯЛЬНАЯ СТАНЦИЯ МЕГЕОН

ПАЯЛЬНАЯ СТАНЦИЯ МЕГЕОН – 00522 Руководство по эксплуатации Описание элементов паяльной станции. 1. Корпус паяльной станции. 2. Переключатель воздушного контроля. 3. Индикатор воздушного потока. 4. Переключатель

Подробнее

ПАЯЛЬНАЯ СТАНЦИЯ Z D 9 9 ( )

ПАЯЛЬНАЯ СТАНЦИЯ С РЕГУЛЯТОРОМ ТЕМПЕРАТУРЫ Z D 9 9 ( 1 2 0 1 5 2 ) РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ Р Е К С А Н Т, Р О С С И Я Description prepared by Aeronaft_01 ОПИСАНИЕ REXANT ZD-99 (12-0152) это современная

Подробнее

Термовоздушная паяльная станция-фен CT-853K.

Термовоздушная паяльная станция-фен CT-853K. Инструкция по эксплуатации. Перед использованием данной термовоздушной паяльной станции прочтите внимательно данную инструкцию. ВНИМАНИЕ: Перед включением паяльной

Подробнее

Как сделать BEAM-робота?

Как сделать BEAM-робота? Еще недавно все эти Электроники, Терминаторы и прочие Железные Дровосеки рождались исключительно в бурном воображении фантастов. Однако уже сейчас сосуществование робота и человека

Подробнее

Технические характеристики:

Термовоздушная паяльная станция-фен CT-853K. Инструкция по эксплуатации. Перед использованием данной термовоздушной паяльной станции прочтите внимательно данную инструкцию. ВНИМАНИЕ: Перед включением паяльной

Подробнее

VC DIVIDER Руководство по сборке

VC DIVIDER Руководство по сборке 1 Благодарим вас за приобретение DIY-кита SSSR Labs VC Divider! Это руководство поможет вам собрать VC Divider быстро и просто.

Следуйте инструкциям! Как вы можете знать,

Подробнее

Паяльная платформа IRDA-WELDER T862

1 Паяльная платформа IRDA-WELDER T862 Содержание: Описание… 1 Технические характеристики… 2 Комплектация… 2 Детали паяльной платформы T862… 3 (1) Прибор целиком… 3 (2) Передняя панель… 4 (2)

Подробнее

Плавится ли иод в открытом сосуде?

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

Подробнее

Пайка и лужение. Слесарные работы

Пайка и лужение Слесарные работы Пайка -это неразъёмное соединение металлов с помощью специального сплава, называемого припоем Для осуществления пайки металлов температура плавления припоя должна быть

Подробнее

Инструкция к паяльной станции SMD 852

Инструкция к паяльной станции SMD 852 1 Благодарим Вас за покупку паяльной станции SMD\KADA 852. Данная станция была создана с учетом экономии электроэнергии и вашего времени. Удобным является трансформация

Подробнее

Набор Ultimate LPF: Плата коммутации LPF

Набор Ultimate LPF: Плата коммутации LPF Версия 4 печатной платы 1. Введение Благодарим за приобретение платы релейной коммутации фильтров низких частот (LPF) от QRP Labs. Данное устройство предназначено

Подробнее

Рис. 22. Мишени на листе

ГЛАВА 9. МЕТКИЙ ГЛАЗ Вот еще одно препятствие на пути Начинающего Художника неразвитый глазомер. Часто слышу такое мнение, что глазомер или есть или нет. Действительно, есть люди с точным глазомером и

Подробнее

требования, правила, рекомендации

46 ТЕХПОДДЕРЖКА Эксплуатация наконечников паяльных станций: требования, правила, рекомендации Текст: Александр Евсенейкин Станислав Баев В статье рассматриваются общие вопросы, связанные с эксплуатацией

Подробнее

Машина для езды по линии, версия 2

Машина для езды по линии, версия 2 Инструкция: Все права защищены: Перепечатывание этой инструкции без нашего разрешения запрещено Технические детали, форму, содержимое товара можно изменять без уведомления.

Подробнее

Инструкция к паяльной станции YX-936

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

Подробнее

Двигатель правой опоры

ИНСТРУКЦИЯ ПО СБОРКЕ ЭТАП 30. КОМПЛЕКТУЮЩИЕ Двигатель правой опоры Основная деталь, которую вы получили с этим выпуском, двигатель, приводящий в движение правое колесо R2 D2. Он уже укомплектован редуктором.

Подробнее

Применяется для демонтажа или пайки различных видов компонентов, таких как SOIC, PLCC, QFP, BGA и т.д.

Lukey 860D, 862D, 868 1 Общее описание продукта. 1. Использование. Применяется для демонтажа или пайки различных видов компонентов, таких как SOIC, PLCC, QFP, BGA и т. д. 2. Функции и характеристики. 1.

Подробнее

Робот для пайки EVERPRECISION EP-SR

Телефон: (495) 739-41-56, доб. 104 Факс: (495) 995-34-08 E-mail: [email protected] Отдел оборудования Робот для пайки EVERPRECISION EP-SR Робот для пайки EVERPRECISION EP-SR это чрезвычайно востребованный

Подробнее

Фразы, захватывающие внимание

Фразы, захватывающие внимание Ударный файл из 441 фразы, заставляющей читать дальше сайт автора – www.strategicprofits.com 1. Слово предостережения: 2. Добавьте это к 3. В конце концов, 4. Снова, 5. Кроме

Подробнее

PS-900 Паяльная система

PS-900 Паяльная система Инструкция по эксплуатации Паспорт оборудования ПАСПОРТ ОБОРУДОВАНИЯ 2011 год Поздравляем Вас с приобретением паяльной системы OKi PS-900, созданной на основе технологии SmartHeat

Подробнее

Карманный Робот-манипулятор MeArm

Карманный Робот-манипулятор MeArm Данная инструкция описывает, как собрать Карманный робот-манипулятор. Управление роботом может осуществляться с помощью Arduino, Raspberry Pi, Beaglebone Black and Espruino.

Подробнее

паяльная станция серии СТ-84NP/84NPD

Введение Паяльная станция CT-84NP/84NPD с автоматической подачей припоя является многофункциональной паяльной машиной, спроектированной для работы, как со свинцовыми припоями, так и припоями без свинца.

Подробнее

Общее описание продукта.

1 Lukey 702 Общее описание продукта. 1. Использование. Применяется для демонтажа или пайки различных видов компонентов таких как SOIC, PLCC,QFP, BGA и т.д. Подходит для сжимающихся гибких трубок, сушки,

Подробнее

Компетенция. «Электроника 14+»

Компетенция «Электроника 14+» Конкурсное задание Старшая возрастная категория 14+ (14-17 лет) Время на выполнение задания: 8 часов (два дня по 4 часа). ВВЕДЕНИЕ Краткое описание конкурсного задания Участникам

Подробнее

Паяльная стнация Lukey 702

Паяльная стнация Lukey 702 Общее описание продукта. 1. Использование. 2 Lukey 702 1-1 Применяется для демонтажа или пайки различных видов компонентов таких как SOIC, PLCC,QFP, BGA и т.д. 1-2 Подходит для

Подробнее

ПАЯЛЬНАЯ СТАНЦИЯ BAKU – 763A,D, 898A,D РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ

ПАЯЛЬНАЯ СТАНЦИЯ BAKU – 763A,D, 898A,D РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ ОБЩЕЕ ОПИСАНИЕ ПРОДУКТА 1. Использование. Применяется для демонтажа и пайки различных видов компонентов в корпусах, таких, как SOIC, PLCC,

Подробнее

Батут ТРИУМФ НОРД складной 95 см

Батут ТРИУМФ НОРД складной 95 см Сначала прочитайте эту инструкцию! Важные примечания 1) Это изделие не должно использоваться людьми, весящими более 100 кг. 2) Механизм складывания может быть тугим в первое

Подробнее

БИОМЕТРИЧЕСКИЙ ДВЕРНОЙ ЗАМОК LS911

Инструкция пользователя БИОМЕТРИЧЕСКИЙ ДВЕРНОЙ ЗАМОК LS911 Спасибо за выбор нашей продукции. Перед использованием прочтите внимательно инструкцию Сохраните инструкцию для удобства использования в будущем

Подробнее

А почему именно AVR? — GetChip.net

Вот история моего выбора. На заре появления микроконтроллеров у нас на радиорынках, возникло у меня непреодолимое желание применить их для хозяйственных целей. А в то время выбор на радиорынках состоял из одних PICов. С не детской ценой и строго «под заказ». Но, то ли отпугивала цена, то ли неуверенность в том, что осилю это чудо, но так и не получалось заняться микроконтроллерами Pic. Прошло определенное время, цена на контроллеры уже не пугала, так как они здорово подешевели, да и закончил учиться, начал работать, зарабатывать денюжку. Можно бы начать освоение, но опять мешали обстоятельства – осталась та неуверенность в том, смолу ли осилить, и работа, та что, вроде бы, должна помогать в денежном плане нещадно отбирала время, рубая на корню давние порывы, нырнуть в загадочный и манящий мир микроконтроллеров.

Программированием баловался с тех же ранних лет. Сначала был ,Бейсик потом ассемблер на Z80, потом были х86. Дальше был провал, заполняемый играми, работой и еще какой то фигней. Все это время, общаясь со старшими|младшими товарищами, которые чего-то там вытворяли с микроконтроллерами, испытывал непреодолимое желание начать таки с ними разбираться. И вот настал момент когда звезды стали нужным образом и я твердо решил: начну – полюбому начну. Чтобы начать не с нуля, тупо мигая светодиодиками, нужен был маштабный проект, чтоб было интересно, увлекательно и со смыслом. И вот, в срочном порядке, в интернете был нарыт проект на который должны быть брошены все силы, деньги и время. Понятное дело, решено было начать изучать микроконтроллер, который маячил с ранних лет красненьким флажком – PIC. Благо на работе приятель давно занимается PIC-ами и с программатором проблем не должно было быть. По моей просьбе мне был анонсирован данный девайс (программатор) и в анонсе проскакивали фразы «все виды PIC-ов», «внутрисхемное программирование», «внутрисхемная отладка», «USB» и другие страшные слова. Принеся на работу свой девайс, он с гордостью мне его вручил. В руки я получил здоровенную коробку (кто помнит в такие коробочки на заре компьютеризации засовывали 5 дюймовые дисководы (по крайней мере, я засовывал) с одной стороны одиноко торчал хвостик USB а с другой — также одиноко, торчал хвостик с разъемом внутрисхемного программирования. Вид этого монстра, скажу честно, немного меня озадачил, и сразу захотелось заглянуть внутрь этого «черного ящика». Так как мой коллега давно занимался электроникой и болтики крепления вещь противоречащая его существу, то на широко раскрытые глаза и тыкающий в ящик палец он пожал плечами и снял верхнюю крышку. Внутри “Черного ящика» меня ожидал еще один сюрприз — на дне лежала небольшая платка. Коллега прихватил плату ко дну коробки горячим клеем. Плата была заводской, содержала под десяток разнокалиберных микросхем довольно плотно упакованных на плату. Надо ли говорить, что для неподготовленного мозга начинающего электронщика это было слишком – мозг ушел в ступор. Друг, увидев мое состояние, решил не травмировать больше неокрепшую психику и бережно вернул крышку девайса на место. На вопрос «а че, самому собрать нельзя?» друг сделал печальную мину и выдал фразу «та пробовал – натра..лся — решил, проще купить». Так у меня началось знакомство с программатором для микроконтроллеров. И я в один миг лишился иллюзий по поводу того, что все будет легко и просто. Ладно, думаю – поюзаю девайс друга первое время, потом куплю себе свой. Про цену готового программатора у друга я не спросил, побоялся еще больше омрачить знакомство с микроконтроллерами. Пришло время начать знакомство с загадочным PIC-ом. Как оказалось линейка PIC-ов довольно-таки обширная и для выбора нужного экземпляра моих знаний просто не хватило. Другом был рекомендован чип который, по его мнению, был довольно универсальным. Также был вручен электронная книга с описанием и пожелание удачного знакомства с микроконтроллером. После беглого ознакомления с документом меня ожидало разочарование. Так как у меня с ранних времен остались положительные впечатления от ковыряния в ассемблере Z80, то решено было изучать ассемблер. С Z80 все было легко и понятно и я приготовился к тому, что с PIC-ками будет еще проще. Я ошибался. Ну, во-первых, меня просто до глубины души возмущала такая нелогичность как 14битные ячейки памяти программ. Ну не укладывалось у меня в мозгу, как так может быть, чтоб слово программы было так бессовестно кастрировано. А как тогда хранить данные в памяти? Разбивать байты на части или терять 6ти битные обрезки. И это во времена, когда память стоит дешевле семечек. Дальше — больше. Ну нафига в микроконтроллере с размером памяти в 4-16 килобайт страничная организация памяти? Ну хоть убейте не понимаю. А размазать по 4 страницам управляющие регистры вперемешку с ячейками памяти — это вообще мазохизм какой то. Еще, почему-то, в книжке преподносилось как достоинство небольшое (скудное) количество инструкций ассемблера – 30 с хвостиком. Короче, писать на ассемблере мне резко перехотелось. Ладно, думаю, буду писать на Си – он все разрулит. И тут я себе представил офигевший компилятор Си который, по ходу программы, переключается между страницами, пытается хранить константы в 14 битных ячейках памяти, строит комбинации из этих самых «всего 30+ инструкций», при этом тратя на каждую инструкцию по 4 такта. В общем разочарование полное. На мое счастье тот самый стартовый проект, о котором я говорил ранее, был в 2х вариантах. Вернее сначала он был сделан на PIC-е, а вторую версию автор переделал с применением Atmel ATtiny2313. Так как я уже до этого почитывал топики с холиварами PIC vs AVR, то я решил посмотреть как там дела у конкурента. И был сразу поражен различием архитектуры у вроде-бы равнозначных микроконтроллеров. Гениальное произведение корпорации Атмел с архитектурой RISC сразу меня покорило.
Создатели умудрились сделать микроконтроллер быстрый, простой, можно даже сказать элегантный. Почти все команды микроконтроллера выполняются за 1 такт, память линейная с четкой разбивкой по функциональности, куча команд контроллера(больше 130) подогнанных под Си (теперь компилятор не фигеет – он фривольно работает с вариантами оптимизации кода) и самое главное, для меня ставшее неожиданным сюрпризом – 32!!! аккумулятора — регистра общего назначения. То есть с каждым из них можно делать все что угодно – любые операции! Программаторы у AVR очень просты – самый примитивный называется «5 проводков» — реально 5 проводков цепляются на LPT порт и шьется микроконтроллер. Я был покорен AVR. С таким жирным набором плюсов было решено делать проект только на AVR и только на ассемблере. Вот так я выбирал микроконтроллер.

Прошу прощения у приверженцев PIC. В некоторых моментах я, конечно-же, не прав, так как поверхностно изучал PIC и не написал ни одной программы для него. Если где-то в тексте Вы видите несоответствия – напишите я поправлю.

В качестве заключения дам небольшой совет. Если вы выбираете контроллер и Вам нужен ассемблер и быстродействие – хорошим выбором будет AVR (как вариант можно выбрать новые серии PIC, но ни ценой, ни доступностью они Вас не порадуют). Если вы планируете писать свои программы на Си или другом языке высокого уровня, то, в принципе, разницы не будет.

(Visited 1 485 times, 1 visits today)

Как делать клевые штуки с микроконтроллерами pdf

Как делать клевые штуки с микроконтроллерами pdf – iemuexeiy.99languages.es

Как делать клевые штуки с микроконтроллерами pdf

Как выразить любовь вашему спутнику. Вместе с женой он отправляется в пустыню Мохаве, будучи уверенным в том, что пустыня не так уж безжизненна. Ты думаешь что я не знаю про поисковик, если есть ссылка поделись. Как программировать, как делать приборы, как паять. Накладываем один из прозрачных листов на вторую часть клавиатуры(в моём случае это моя клава, схожая с разобранной). Но постепенно, с тем как приходил опыт, возможностей “Бейсика” стало катастрофически не хватать. Стало понятно, – пора переходить на “Ассемблер” (только программируя на “Ассемблере” можно было создать для. Mitch Altman Jeff Keytser /Митч Альтман Джефф Кейцер – Паять просто 2011, PDF, RUS » Электроника / Радио » Скачать торрент :: RuTracker.org. Как поставить обои на весь экран на андроид lg l80 – как поставить обои на весь экран на андроид lg l80: Ощущения после переноса в удачном протоколе эко отзывы. Но рил собрать вроде как дело чести, поэтому вот, держите. Следующий рил будет полностью покадровый, я вам обещаю! Приятного просмотра. Пользователь Самофал Владимир задал вопрос в категории Техника и получил на него 1 ответ. Пользователь akzhol segizbayev задал вопрос в категории Прочее образование и получил на него 1 ответ. ПАЯТЬ ПРОСТО – ТУТ НАРИСОВАНО КАК ЭТО ДЕЛАТЬ. Этот комикс является частью книги как делать.

Links to Important Stuff

Links

© Untitled. All rights reserved.

Микроконтроллер и микропроцессор — в чём разница?

В составе разных электронных устройств часто встречаются как микроконтроллеры, так и микропроцессоры. Оба этих компонента берут из памяти команды и по ним выполняют логические и арифметические операции, работая при этом с устройствами ввода/вывода и прочей периферией. Так в чём тогда разница?

Микроконтроллер

Микроконтроллер — (далее МК) это микросхема, предназначенная для программного управления электронными схемами. МК выполняется на одном кристалле. На нём расположено как вычислительное устройство, так и ПЗУ и ОЗУ. Кроме этого, в составе МК чаще всего находятся порты ввода/вывода, таймеры, АЦП, последовательные и параллельные интерфейсы. В некоторых даже можно заметить Wi-Fi-/Bluetooth-модуль и даже поддержку NFC.

Первый патент на микроконтроллер был выдан в 1971 году компании Texas Instruments. Инженеры этой компании предложили размещать на кристалле не только процессор, но и память с устройствами ввода/вывода.

Структурная схема микроконтроллера

Несмотря на то, что всё необходимое для работы микроконтроллера в нём уже есть, иногда они используются в паре с внешними периферийными устройствами. К примеру, когда внутренней ПЗУ не хватает (или она попросту отсутствует), подключают внешнюю. Именно так сделали с микроконтроллерами серии ESP. У ESP8266 встроенной памяти нет вообще, а у ESP32 есть незначительные 448 КБ. Поэтому к ним в корпус (точнее под радиатор) помещается flash-память ёмкостью 1–16 МБ.

Тогда почему бы не сделать какой-нибудь портативный компьютер на основе микроконтроллера? Дело в том, что вычислительной мощности у МК чаще всего достаточно мало. Её хватает на управление например, системой полива, микроволновкой или же каким-нибудь станком.

Например, одна из мощных плат платформы Arduino — Due. Она находится под управлением 32-битного AVR-микроконтроллера AT91SAM3X8E. Его тактовая частота 84 МГц. Постоянной памяти тут 512 КБ, а оперативной — 96 КБ. МК имеет 54 цифровых GPIO (12 из которых с поддержкой ШИМ), 12 аналоговых входов и 2 аналоговых выхода (ЦАП). Тут так же присутствуют различные интерфейсы, такие как UART, SPI, I2C.

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

Микропроцессор

С микропроцессором (далее МП) дела обстоят немного иначе. Он содержит в себе арифметико-логическое устройство, блок синхронизации и управления, запоминающие устройство, регистры и шину. То есть МП содержит в себе только то, что непосредственно понадобится для выполнения арифметический и логических операций. Все остальные комплектующие (ОЗУ, ПЗУ, устройства ввода/вывода, интерфейсы) нужно подключать извне.

Структурная схема микропроцессорного устройства

Первые микропроцессоры появились тоже в начале 70-х. Самым популярным на тот момент считался 4004. Это микропроцессор, разработанный компанией Intel и представленный 15 ноября 1971 года. Он имел внушающие на тот период характеристики:

  • 2300 транзисторов;
  • тактовая частота — 740 кГц;
  • разрядность регистров и шины — 4 бита;
  • техпроцесс — 10 мкм;
  • площадь кристалла: — 12 мм².

К слову, 4004 был выполнен в обычном DIP-16 корпусе. Этот МП является самой популярной микросхемой для коллекционирования. Некоторые экземпляры продаются по 400 $ за штуку. Менее раритетные стоят около 250 $.

Уже через пару лет 8-битные МП позволили создавать первые бытовые микрокомпьютеры.

Естественно, тут преимуществом является то, что к МП можно на выбор подключать разную периферию с разными характеристиками (что не во всех случаях можно на МК). Второе основное отличие микропроцессора от микроконтроллера в том, что МП имеют больше вычислительной мощности. Их не имеет смысла ставить в микроволновки и «умные» лампочки. Микропроцессоры применяют там, где вычислительная мощность МК уже не справляется — игровые приставки, сложные вычислительные устройства и приборы, гаджеты.

Получается, чтобы обеспечить работоспособность микропроцессора, нужно подключить ему хотя бы минимальный набор периферии. Минусы:

  1. Размер — если в случае МК всё уже находится в одном корпусе, то минимальный набор элементов для работы МП занимает больше места.
  2. Цена — обычно, вся «сборка» комплектующих для МП выходит гораздо дороже «голых» микроконтроллеров.

Плюсы:

  1. Производительность — микропроцессоры обладают большей производительностью, чем микроконтроллеры.
  2. Выбор — в случае МП у вас есть возможность подобрать комплектующие. Это позволит поставить более подходящую под ваши цели периферию.

Применение

Микроконтроллер обладает явной простотой: требуется меньше аппаратного обеспечения, с ним легче работать на программном уровне, да и стоимость начинается с копеек. Но эта простота касается и производительности. Как говорилось выше, микроконтроллер не способен обеспечить высокую производительность наравне с микропроцессорами. Микропроцессоры хоть и требуют внешней коммутации «железа» и относительно МК сложны в работе, но они уже спокойно могут применяться в более сложных устройствах.

Однако иногда в сети появляются умельцы, которые впихивают в микроконтроллер ESP32 DOOM и даже эмулятор NES-игр.

13

Прекратите стоять в очередях! Несколько слов о кофе в айтишном офисе

Недавно узнал, что в одном только киевском офисе GlobalLogic ежегодно потребляется около 7 тонн кофе. В среднем 55 г ароматных зерен превращаются в литр напитка, что соответствует объему в 127 тыс литров за год! Да, мы пьем много кофе. Лично мне это помогает работать лучше.

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

В среднем делать то или иное приходится каждые 20-30 чашек, но подходя к автомату, никогда не знаешь, «повезет» ли тебе на этот раз 🙂 Ну, и не будешь же каждый раз ждать уборщицу, чтобы она напоила машину водой? Уверен, многие из вас сталкиваются с этой проблемой каждый день.

И неважно, сколько стоит минута вашего времени. Неважно, кто и как это время считает. Я убежден, что за «бесплатный» офисный кофе все мы несколько переплачиваем.

Не так давно я посетил одну хорошую IT-конференцию, где прямо со сцены прозвучала фраза: «Если вы видите очередь, то подойдите через 5 минут, вам туда не нужно, не теряйте времени». И эти слова если не изменили всю мою жизнь, то уж точно исправили мои взаимоотношения с кофе-машиной.

Первые шаги

Если честно, раньше иметь дело с кофе-машинами мне не приходилось. Первое время я просто наблюдал за действиями опытных коллег. Ага, вот так происходит выбор напитка, вот так — чистка аппарата, а так в него заливается свежая вода. Потом я решил пойти дальше.

Частично разобранная кофе-машина оказалась не такой уж пугающей и сложной. Беглое изучение контейнера для воды показало, что для определения уровня используется поплавок с магнитом. Когда уровень воды в контейнере падает, поплавок опускается на дно и встречает встроенный в машину датчик магнитного поля — геркон. Ничего оригинального. Но, понимая принцип работы системы, можно узнать о падении уровня воды еще до того, как об этом догадается сама машина. Как это сделать? Да очень просто: разместив собственный датчик где-то между поплавком и дном контейнера.

Какое-то время я потратил на придумывание крепления для своего датчика. В первой версии я просто примотал его к стенкам контейнера скотчем 🙂 Потом — нашел 3D-принтер, на котором создал более привлекательную конструкцию насадки на штатный контейнер (см. фото дальше).

Как это работает

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

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

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

А что дальше?

Не хочу останавливаться и планирую дополнить систему мелкими, но полезными улучшениями. Например, функцией сбора статистики о количестве, времени и частоте употребления кофе. Это поможет прогнозировать потребление напитка, а также, вполне вероятно, приведет нас каким-то неожиданным открытиям — например, может оказаться, что все пьют крепкий эспрессо по понедельникам, а в среду предпочитают исключительно капучино 🙂

Также хочу сделать функцию наливания воды в чашку или чайник через отдельный кран. Для этого добавлю на панель кнопку «250 мл». Нажал четыре раза — налил литр, как в аптеке. Причем происходить всё это будет очень быстро.

В новой версии система будет отслеживать количество воды и в большой бутыли. А общаться к ней можно будет через wi-fi.

В моих ближайших планах — участие в корпоративном конкурсе Proof of Concept, который проходит в GlobalLogic уже второй год подряд. Хочу создать систему, отслеживающую текущее положение кабинок лифтов, загруженность душевых и туалетов. Но это уже совсем другая история 🙂

Підписуйтеся на Telegram-канал редакції DOU, щоб не пропустити найважливіші статті.

Headless: паролі, VPN-и й університет Зеленського. Про безпеку з Владом Стираном

avrbook | MightyOhm

Комикс «Пайка – это просто», выпущенный в понедельник, будет включен в классную книгу, которую мы с Митчем Альтманом (@ maltman23) пишем о Как делать крутые вещи с помощью микроконтроллеров (для людей, которые ничего не знают) . Он будет опубликован издательством No Starch Press в конце этого года.

Если вы хотите получить уведомление, когда книга будет опубликована, укажите ниже свой адрес электронной почты.

avrbooksolder комикс

Хотите научиться паять? Вы хотите делать действительно крутые вещи? Вы хотите научить других паять (а также делать крутые вещи)?

Я рад объявить о выпуске книги комиксов «Пайка легко», которая научит любого человека основам пайки.

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

Я работал с Митчем Альтманом (@ maltman23) и Энди Нордгреном над созданием этой исправленной и расширенной версии чрезвычайно популярного одностраничного раздаточного материала, созданного Митчем и Энди в 2010 году.

Комикс (и еще , еще классных вещей!) Будет включен в книгу, которую мы с Митчем пишем, о Как делать крутые вещи с помощью микроконтроллеров (для людей, которые ничего не знают). Это будет опубликовано No Starch Press.

Вот образец страницы (нажмите, чтобы увеличить):

По состоянию на 2015 год комикс переведен на 21 язык! Огромное спасибо всем, кто прислал переводы и помогает нам распространять наше послание по всему миру! Мы хотели бы, чтобы люди перевели комикс на другие языки! Если вы создаете перевод, оставьте здесь комментарий, и я поставлю на него ссылку! Если вам нужна помощь с переводом, вы можете попробовать написать на форуме.

Комикс выпущен под лицензией Creative Commons (Attribution-ShareAlike), так что вы можете учить с его помощью, раскрашивать, изменять, делиться с друзьями, переводить и делать с ним все, что вам нравится!

Английский:

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

Комикс «Паять – это просто» (PDF)

У нас также есть другие версии комикса:

Переводы:

И действительно, паять легко (и весело!).Узнай, как паять, и научи своих друзей!

avrbooksoldersolder comicsпайкаперевод

Если бы вы могли порекомендовать одну книгу новичку, который хочет научиться программировать на C, что бы это было?

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

(Я начал с K&R

, хотя до этого у меня был некоторый опыт работы с BASIC (на C64 и Apple II), логотипом и оболочкой.) avrbookCпрограммирование

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

Где вы покупаете электронные детали, инструменты и другие принадлежности? У вас есть магазин в вашем районе или вы делаете покупки в Интернете?

Меня особенно интересуют отзывы читателей за пределами США. Если вы живете в Южной Америке, где вы покупаете паяльники, припой, резисторы, конденсаторы и прочую ерунду? Вы покупаете на месте или в Интернете? А как насчет Европы? Азия? Африка?

Если у вас есть любимое место для покупок электроники, оставьте здесь комментарий или подумайте о добавлении его в MightyOhm Wiki!

avrbookSurpluswiki

Представляем полный комикс «Пайка – это просто»!

Хотите научиться паять? Вы хотите делать действительно крутые вещи? Вы хотите научить других паять (а также делать крутые вещи)?

Я рад объявить о выпуске книги комиксов «Пайка легко», которая научит любого человека основам пайки.

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

Я работал с Митчем Альтманом (@ maltman23) и Энди Нордгреном над созданием этой исправленной и расширенной версии чрезвычайно популярного одностраничного раздаточного материала, созданного Митчем и Энди в 2010 году.

Комикс (и еще , еще классных вещей!) Будет включен в книгу, которую мы с Митчем пишем, о Как делать крутые вещи с помощью микроконтроллеров (для людей, которые ничего не знают). Это будет опубликовано No Starch Press.

Вот образец страницы (нажмите, чтобы увеличить):

По состоянию на 2015 год комикс переведен на 21 язык! Огромное спасибо всем, кто прислал переводы и помогает нам распространять наше послание по всему миру! Мы хотели бы, чтобы люди перевели комикс на другие языки! Если вы создаете перевод, оставьте здесь комментарий, и я поставлю на него ссылку! Если вам нужна помощь с переводом, вы можете попробовать написать на форуме.

Комикс выпущен под лицензией Creative Commons (Attribution-ShareAlike), так что вы можете учить с его помощью, раскрашивать, изменять, делиться с друзьями, переводить и делать с ним все, что вам нравится!

Английский:

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

Комикс «Паять – это просто» (PDF)

У нас также есть другие версии комикса:

Переводы:

И действительно, паять легко (и весело!).Узнай, как паять, и научи своих друзей!

Нравится:

Нравится Загрузка …

Связанные

Топ-20 проектов микроконтроллеров | Идеи проекта микроконтроллера

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

Проекты микроконтроллеров: беспроводные системы

GPS-приемник на базе ATmega16A

Приемник глобальной системы позиционирования (GPS) использует информацию со спутников для определения точного географического местоположения. Он не только предоставляет информацию о местоположении, но также информацию, такую ​​как время, дата, высота и скорость. В данном проекте показано, как получить информацию о местоположении (широте и долготе), времени, дате, скорости и курсовом угле с помощью приемника GPS.Он использует 8-битный микроконтроллер AVR (MCU) ATmega16A для получения данных с GPS-приемника.

Этот проект доступен по адресу: GPS-приемник на базе ATmega16A

Система слежения за транспортными средствами на базе GPS и GSM

Здесь представлена ​​система слежения за транспортными средствами на основе GPS, основанная на микроконтроллере ATMega16 с использованием глобальной системы позиционирования (GPS) и глобальной системы мобильной связи (GSM).

Этот проект доступен по адресу: Система слежения за транспортными средствами на базе GPS и GSM

Ультразвуковой радар

Радиолокационные системы имеют как оборонное, так и гражданское применение.Передатчик передает луч на цель. Это отражается целью в виде эхо-сигнала. Отраженный сигнал принимается приемником. Этот приемник обрабатывает принятый сигнал и предоставляет информацию о наличии цели, расстоянии, положении (движущемся или неподвижном) или скорости. Это отображается на дисплее.

Этот проект доступен по адресу: Ultrasonic Radar

Интерфейсный модуль GSM

GSM – это широко используемая архитектура мобильной связи, используемая в большинстве стран.Этот проект демонстрирует взаимодействие микроконтроллера AT89C51 с Hyper Terminal и GSM модулем. Он направлен на ознакомление с синтаксисом AT-команд и их информационных ответов и кодов результатов. Значения ASCII символов в информационном ответе, кодах результатов и их синтаксисе можно отслеживать с помощью массива светодиодов.

Этот проект доступен по адресу: Интерфейсный модуль GSM

Система домашней безопасности GSM на базе Arduino

Этот проект разработан с использованием нормально замкнутых герконов, подключенных к дверям и окнам, и дополнительных пассивных инфракрасных (PIR) датчиков движения для обнаружения движения грабителя или нежелательного злоумышленника в вашем доме.

Этот проект доступен по адресу: Система домашней безопасности GSM на базе Arduino

Проекты микроконтроллеров: замки

Замок для электронных карт

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

Этот проект доступен по адресу: Electronic Card Lock

Кодировщик кода Морзе

Код Морзе – это метод передачи текстовой информации в виде последовательности тоновых сигналов, световых сигналов или щелчков. Международный код Морзе кодирует алфавиты, цифры и небольшой набор знаков препинания и процедурных сигналов в виде стандартизированных последовательностей коротких и длинных сигналов, называемых «точками» и «тире» соответственно. Представленный здесь кодировщик кода Морзе преобразует тексты, числа и специальные символы в код Морзе в качестве звукового сигнала на пьезозуммере.

Этот проект доступен по адресу: Кодировщик кода Морзе

Умный регистратор с системой Smartlock

Здесь представлена ​​система безопасности, которая позволяет увидеть посетителя, когда дверь вашего главного офиса заперта. Если вы находитесь в середине встречи в конференц-зале и у двери есть посетитель, эта система отправит уведомление на ваш смартфон с фотографией посетителя по электронной почте. Если вы одобряете, вы либо используете свой мобильный телефон или компьютер, чтобы открыть входную дверь с помощью веб-браузера.

Этот проект доступен по адресу: Smart Receptionist с системой Smartlock

Проекты микроконтроллеров: робототехника

Робот виртуального телеприсутствия с использованием Raspberry Pi

Этот робот с камерой размещается в удаленном месте для захвата окружающей среды в визуальной форме с помощью Raspberry Pi (RPi). Захваченные визуальные эффекты отображаются на гарнитуре виртуальной реальности (VR) пользователя.

Этот проект доступен по адресу: Робот виртуального телеприсутствия, использующий Raspberry Pi

Футбольный робот

Этот футбольный робот может двигаться вперед, назад, вперед-влево, вперед-вправо, назад-влево и назад-вправо с помощью телефона Android.Скорость его движения регулируется углом поворота телефона. Робот также бьет по мячу при встряхивании телефона.

Этот проект доступен по адресу: Soccer Robot

Проекты микроконтроллеров: Smart Living

Система заказа меню ресторана

В наши дни количество ресторанов увеличивается. Они также требуют очень быстрой обработки для подачи еды клиентам. С увеличением числа клиентов потребуется больше рабочей силы, поскольку текущая ситуация для ресторанов стала беспокойной.Также не может быть изменений в печатной копии меню.

Этот проект доступен по адресу: Система заказа меню ресторана

Индикатор температуры и влажности холодильника

Мы можем измерить температуру и влажность внутри холодильника с помощью индикатора нормальной температуры-влажности, но в этом случае относительная влажность (RH) может быть неточной. В тот момент, когда дверца холодильника открывается, RH начинает подниматься из-за попадания или выхода влаги из окружающей среды. Небольшое устройство-анализатор, описанное в этом проекте, улавливает температуру и влажность изнутри холодильника и передает по радиочастотному каналу на ближайший приемник.Приемник проверяет полученный код, определяет правильное устройство-анализатор и отображает температуру и влажность в реальном времени.

Этот проект доступен по адресу: Индикатор температуры и влажности холодильника

Система домашней автоматизации

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

Этот проект доступен по адресу: Система домашней автоматизации

Детектор утечки сжиженного нефтяного газа

Здесь представлена ​​недорогая схема детектора сжиженного нефтяного газа, которую вы можете легко собрать.Основная задача схемы – обнаружить утечку сжиженного нефтяного газа в любом месте. С помощью этой схемы очень легко обнаружить утечки газа, в которой используются недорогие компоненты и интерактивный способ регулировки различных уровней чувствительности в зависимости от потребностей клиента с помощью горшкового счетчика.

Этот проект доступен по адресу: Детектор утечки сжиженного нефтяного газа

Солнечная система слежения

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

Этот проект доступен по адресу: Solar Tracker

Проекты микроконтроллеров: освещение

Отображение пользовательской анимации

Анимация созданных на заказ персонажей на ЖК-экране 16 × 2 может быть очень увлекательной. (Также см. Пользовательские символы ЖК-дисплея.) В этом разделе объясняется принцип и работа отображения анимации на ЖК-дисплее с помощью микроконтроллера AT89C51. Есть полезный побочный эффект того, как ЖК-контроллер использует CG RAM. Обычно мы определяем шаблон в CG RAM, а затем печатаем символ. Но также возможно изменить CG RAM для персонажей, которые уже находятся на экране, и их внешний вид изменится

Этот проект доступен по адресу: Display Custom Animations

Автоматический контроль яркости уличных фонарей

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

Этот проект доступен по адресу: Auto Intensity Control of Street Lights

Проекты микроконтроллеров: прочие

Одометр

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

Этот проект доступен по адресу: Odometer

.

Тахометр на базе микроконтроллера

Тахометр – это не что иное, как простой электронный цифровой преобразователь. Обычно он используется для измерения скорости вращающегося вала. Число оборотов в минуту (об / мин) – ценная информация для понимания любой системы вращения.Этот простой в изготовлении фотоэлектрический тахометр измеряет частоту вращения большинства промышленных инструментов и многих бытовых машин без какого-либо механического или электрического интерфейса.

Этот проект доступен по адресу: Тахометр на базе микроконтроллера

Интерфейсный датчик влажности

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

Этот проект доступен по адресу: Интерфейсный датчик влажности

Это далеко не исчерпывающий список. Время от времени появляются новые идеи. Если у вас есть такие проекты микроконтроллеров, мы будем приветствовать их по электронной почте для контактов.

Статья была впервые опубликована 25 апреля 2017 г. и обновлена ​​16 апреля 2021 г.

Как выбрать микроконтроллер для вашего нового продукта

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

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

Поддержка выбранной платформы также очень важна – не только со стороны производителя, но и со стороны сообщества в целом. Также помогает, если у выбранного микроконтроллера есть легкодоступная плата для разработки.

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

В этой статье будут представлены только микроконтроллеры, которые в целом соответствуют указанным выше критериям.

Все современные микроконтроллеры обладают некоторыми основными функциями. Помимо процессора, у них есть определенное количество флэш-памяти, которая используется для хранения кода приложения, некоторого количества SRAM и, в большинстве случаев, некоторого количества EEPROM.

Им нужен источник тактовой частоты, который обычно обеспечивается либо внутренним генератором резистора-конденсатора (RC), либо использованием внешнего кварцевого резонатора для более критичных по времени приложений.У них есть несколько цифровых портов ввода-вывода и как минимум один таймер / счетчик.

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

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

Микроконтроллеры для встраиваемых систем в основном делятся на три категории в зависимости от ширины их шин данных: 8-битные, 16-битные и 32-битные. Есть и другие, но самые популярные.

В общем, 8-разрядные микроконтроллеры предназначены для приложений нижнего уровня, 32-разрядные – для приложений более высокого уровня, а 16-разрядные – для приложений среднего уровня.

Безусловно, большинство продуктов, над которыми я работаю, как правило, включают 32-битные микроконтроллеры, но 8- или 16-битные микроконтроллеры могут быть хорошим выбором для недорогих продуктов.

8-битные микроконтроллеры

Если приложение не предъявляет очень высоких требований к вычислительной мощности и имеет относительно небольшой размер, то имеет смысл рассмотреть 8-битный микроконтроллер.

Для справки: большинство Arduinos основано на 8-битных микроконтроллерах. Итак, если вы создали свой ранний прототип с использованием Arduino, вы можете использовать 8-битный микроконтроллер в своем конечном продукте.

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

Например, Atmega328p – это 8-битный микроконтроллер, использующий Arduino Uno. При объемах порядка 10 тыс. Штук он стоит немногим более 1 доллара. Он работает на частоте 20 МГц и включает 32 КБ флэш-памяти и 2 КБ ОЗУ.

С другой стороны, вы можете приобрести 32-битные микроконтроллеры, работающие на частоте 48 МГц, с аналогичной памятью всего за 60 центов. Вероятно, это связано с тем, что популярность 32-разрядных микроконтроллеров снижает их стоимость.

При этом доступны даже более дешевые 8-битные микроконтроллеры, которые стоят менее 25 центов при аналогичных объемах.

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

8-битные микроконтроллеры бывают всех размеров от небольших 6-контактных устройств до микросхем с 64-контактными контактами. Они имеют размеры флэш-памяти от 512 байт до 256 КБ, размеры SRAM от 32 до 8 КБ или более и EEPROM от 0 до 4 КБ или более. Минимальная система может быть такой же простой, как одна микросхема с байпасным конденсатором на шине питания.

Три самых популярных линейки 8-битных микроконтроллеров – это серия 8051, серия PIC от Microchip и серия AVR от Atmel, теперь часть Microchip.

Серия 8051

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

Хотя они доступны как автономные устройства, 8051 в настоящее время в основном используются в качестве ядер IP (интеллектуальной собственности), которые встроены в микросхемы специализированных микросхем для конкретных приложений, таких как некоторые беспроводные радиоприемопередатчики.

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

PIC серии

Микроконтроллеры

PIC довольно популярны и имеют широкую поддержку как Microchip, так и сторонних производителей.

Microchip предоставляет свою интегрированную среду разработки (IDE) MPLAB ® X, которая включает в себя C-компилятор бесплатно. Также бесплатно в качестве подключаемого модуля IDE доступен конфигуратор кода MPLAB, который генерирует C-код для встроенных периферийных устройств.

Затем его можно интегрировать в код приложения. Существуют модели PIC с комбинациями интерфейсов USART, SPI, I 2 C, ADC, USB, LIN, CAN и другими. Microchip также предлагает несколько инструментов разработки, включая MPLAB PICkit 4, ICD 4 и Real ICE.

Также доступны более качественные коммерческие компиляторы с лучшей оптимизацией кода. Вот краткое справочное руководство по микроконтроллерам PIC в формате PDF.

АРН серии

AVR – еще одна серия очень популярных 8-битных микроконтроллеров.Хотя они находятся в том же пространстве, что и описанные выше PIC, и имеют сопоставимые характеристики, у них есть одна большая претензия на славу: Arduino.

Рисунок 1. Большинство плат Arduino основаны на 8-битных микроконтроллерах AVR

Все оригинальные Arduinos, такие как Uno, Leonardo и Mega, используют микроконтроллеры AVR. Из-за очень широкого диапазона доступных библиотек для Arduinos, AVR заслуживают серьезного рассмотрения для 8-битных приложений, даже если только для доказательства концептуальных прототипов.

Поскольку библиотеки Arduino написаны на C ++, их можно легко включить в любое приложение, написанное на C / C ++.

Инструменты разработки программного обеспечения

включают AVR studio или, если используется Arduino, обычно используются Arduino IDE и Platform IO. Компилятор, используемый в этих IDE, – это AVR GCC, бесплатный, очень хорошо поддерживаемый и поддерживаемый компилятор C / C ++.

Инструменты разработки оборудования

включают Atmel ICE и PICkit 4. Кроме того, по-прежнему широко доступны зрелые инструменты, такие как STK600 и AVR Dragon.Вот ссылка на краткое справочное руководство в формате PDF для микроконтроллеров AVR.

16-битные микроконтроллеры

16-разрядные микроконтроллеры

– это следующий шаг по сравнению с 8-разрядными, при этом они имеют многие из тех же атрибутов. Они быстрее, поддерживают еще больше периферийных устройств и, как правило, предлагают больше памяти, как флэш-памяти, так и SRAM.

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

Легко найти устройства, которые имеют как АЦП, так и ЦАП, или устройства с емкостными сенсорными датчиками, драйверами сегментированных ЖК-дисплеев и Ethernet.

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

Хотя 16-битные микроконтроллеры можно найти у различных производителей, таких как Microchip (их dsPIC33 – популярный выбор), NXP, Infineon или Cypress, серия TI MSP430 будет представлена ​​здесь как типичный пример этого сегмента микроконтроллеров.

TI MSP430 серии

MSP430 – это серия 16-разрядных микроконтроллеров с очень низким энергопотреблением, которые доступны во многих вариантах. Они варьируются от моделей общего назначения до очень специализированных.

Одна интересная особенность специализированных вариантов этих микроконтроллеров заключается в том, что они фактически разветвляются на две крайности: очень специализированные, очень недорогие модели и высокопроизводительные модели с интерфейсами аналоговых датчиков и цифровой обработкой сигналов (DSP).

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

Например, нужен интерфейс SPI-UART, расширитель ввода-вывода или мост UART-UART? Все это есть, и все это менее чем за 0,3 доллара за этот чип.

Наконец, конечно, MSP430 поддерживается рядом недорогих инструментов и наборов для разработки.

В таблице 1 ниже показаны дополнительные функции, доступные в некоторых основных версиях.

MSP430FR2x MSP430FR4x MSP430FR5x MSP430FR6x
Программная память До 32 КБ До 16 КБ До 256 КБ До 128 КБ
Количество контактов от 16 до 64 в различных упаковках от 48 до 64 в различных упаковках от 24 до 100 в различных упаковках от 56 до 100 в различных упаковках
Периферийные устройства обычно не доступны в 8-битных контроллерах ЦАП, PGA, трансимпедансные и операционные усилители Логика ИК-модуляции DMA, AES DMA, AES
Драйверы сегментов ЖК-дисплея Вверх 256 До 320

Таблица 1 – Обзор основных функций MSP430

32-битные микроконтроллеры

32-разрядные микроконтроллеры

– это мощные устройства с функциями микропроцессора.Некоторые из расширенных функций включают конвейерную обработку инструкций, прогнозирование ветвлений, вложенные векторные прерывания (NVI), блоки с плавающей запятой (FPU), защиту памяти и встроенные отладчики.

ПРИМЕЧАНИЕ: Обязательно загрузите бесплатное руководство в формате PDF 15 шагов для разработки нового электронного оборудования .

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

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

FPU

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

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

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

Кроме того, их чистая вычислительная мощность означает, что они могут легко поддерживать операционные системы реального времени (RTOS), которые, в свою очередь, обеспечивают возможности многозадачности.

Несмотря на то, что на рынке представлено много 32-битных микроконтроллеров, в этой заметке основное внимание будет уделено устройствам на базе ARM Cortex M, с особым упоминанием ESP32 от Espressif.

ARM Holdings фактически разрабатывает только IP-адреса процессорных ядер, которые они затем лицензируют различным поставщикам полупроводников, которые включают их вместе с некоторыми периферийными устройствами в свои собственные кремниевые микросхемы.Многие производители микросхем предлагают микроконтроллеры на базе архитектуры Cortex-M.

Два известных производителя чипов на базе ARM – это Atmel со своей линейкой устройств SAM и STMicroelectronics со своей линейкой продуктов STM32.

Устройства SAM заслуживают упоминания здесь из-за их использования в некоторых Arduino-совместимых платах. Однако в целом устройства STM32 предлагают больше вариантов, и им следует уделять первоочередное внимание при проектировании встроенного 32-разрядного микроконтроллера.

Микроконтроллеры STM32

Ядра

ARM Cortex M бывают разных версий.Самыми популярными из них являются M0 / M0 +, M1, M3, M4 и M7, каждый из которых предлагает все более высокую производительность. Микроконтроллеры STM32 содержат ядра M0 / M0 +, M3, M4 или M7.

На рис. 1 показано семейство микроконтроллеров на базе ARM Cortex M STM32 и их предполагаемые сегменты приложений.


Рисунок 2 – Семейство микроконтроллеров STM32

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

Например, на рисунке 2 показаны основные варианты, доступные в категории «мейнстрим», и их относительная кривая производительности. Обратите внимание, что внутри каждого семейства существует множество вариантов с различными комбинациями периферийных устройств и объемом памяти.

Фактически, в настоящее время существует более трехсот микроконтроллеров STM32, доступных в этой категории.


Рисунок 3 – Семейство микроконтроллеров в категории STM32 Mainstream

Поддержка оборудования STM32: Семейство STM32 поддерживается широким спектром аппаратных средств, предоставляемых как ST Microelectronics, так и сторонними производителями.

Недорогой внутрисхемный отладчик / программатор – STLink V2. Он сделан ST и доступен в таких местах, как Digi-Key; однако также доступны очень недорогие клоны.

ST Microelectronics также предлагает большой выбор плат для разработки семейств Nucleo и Discovery.

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

Платы

Discovery включают в себя дополнительные внешние периферийные устройства, такие как датчики MEM и емкостные сенсорные панели.Однако у Nucleos есть заголовки, совместимые с щитами Arduino.

Рисунок 4 – Макетная плата ST Discovery для микроконтроллера STM32F407

Перед тем, как покинуть этот раздел, стоит упомянуть еще об одной очень недорогой плате для разработки. Эта плата, обычно известная как Blue Pill, оснащена чипом на базе STM32F103 Cortex M3 и стоит менее 2 долларов США из некоторых источников.

Привлекательной особенностью этой платы является то, что ее можно сделать совместимой с Arduino, чтобы можно было использовать Arduino IDE или Platform IO для написания и загрузки кода для быстрой проверки концептуальных проектов.

Хотя процесс обеспечения совместимости с Arduino немного сложен, есть несколько мест, где продаются платы, совместимые с Arduino. Просто выполните поиск по запросу «STM32duino».

Чтобы узнать, как разработать собственную плату микроконтроллера на базе STM32, обязательно просмотрите это руководство и ознакомьтесь с этим углубленным платным курсом.

Поддержка программного обеспечения STM32: STMicroelectronics предоставляет версию пакета разработки ARM Mbed для всей линейки продуктов STM32. Сюда входят IDE, компилятор и обширный набор библиотек.

Для разработчиков, которые предпочитают использовать другие компиляторы, ST предоставляет свой STMCube. Это программа-генератор кода, которая производит коды инициализации для периферийных устройств STM32.

При этом нет необходимости полностью настраивать биты нескольких регистров для настройки периферийных устройств, таких как, например, порты ввода-вывода или таймеры.

ESP32

ESP32 – это микроконтроллер от Espressif Systems. Как показано на рисунке 3, он имеет все функции типичного 32-разрядного микроконтроллера.

Рисунок 5 – Модуль Espressif ESP32

Однако, что отличает этот конкретный микроконтроллер от других, так это наличие в чипе оборудования Wi-Fi и Bluetooth.

Это включает не только стеки протоколов, но и сами радиоприемопередатчики. ESP32 также доступен в виде небольшого предварительно сертифицированного модуля со встроенной антенной.

Для приложений, требующих подключения по Wi-Fi или Bluetooth, ESP32 заслуживает серьезного внимания.Цена ESP32 (как дискретного чипа, так и модуля) очень доступная, особенно с учетом количества функций и производительности, заложенных в этот чип.

Рисунок 6 – Функциональная блок-схема ESP32

Заключение

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

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

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

Что произойдет, если вы решите добавить новую кнопку в будущем, и вам понадобится еще один вывод GPIO? Если ваш микроконтроллер не дает вам возможности для роста, вы можете обнаружить, что кажущиеся простыми обновления конструкции в будущем потребуют масштабной модернизации, поскольку необходим новый микроконтроллер.

С другой стороны, вы не хотите выбирать больше производительности или функций, чем вы когда-либо предполагали.

Например, если ваш продукт просто отслеживает температуру и влажность, вам никогда не понадобится усовершенствованный 32-битный микроконтроллер, работающий на сотнях МГц. Это было бы излишним, поскольку добавляло ненужных затрат и усложняло дизайн вашему продукту.

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

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

Другой контент, который может вам понравиться:

TensorFlow Lite для микроконтроллеров

TensorFlow Lite для микроконтроллеров предназначен для запуска моделей машинного обучения на микроконтроллерах и других устройствах с объемом памяти всего несколько килобайт.В Среда выполнения ядра умещается в 16 КБ на Arm Cortex M3 и может запускать многие базовые модели. Не требует поддержки операционной системы, любых стандартных C или C ++. библиотеки или динамическое распределение памяти.

Примечание: TensorFlow Lite для экспериментов с микроконтроллерами функции работают разработчиками, объединяющими Arduino и TensorFlow для создания потрясающих опыт и инструменты. Загляните на сайт, чтобы вдохновиться создать свой собственный Проекты TinyML.

Почему микроконтроллеры важны

Микроконтроллеры

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

Поддерживаемые платформы

TensorFlow Lite для микроконтроллеров написан на C ++ 11 и требует 32-битной Платформа. Он был тщательно протестирован на многих процессорах на базе Arm Cortex-M серии архитектура, и была перенесена на другие архитектуры, включая ESP32. В framework доступен в виде библиотеки Arduino. Он также может создавать проекты для среды разработки, такие как Mbed. Это открытый исходный код и может быть включен в любой проект C ++ 11.

Поддерживаются следующие платы разработки:

Изучите примеры

Каждый пример приложения включен Github и имеет README .md , в котором объясняется, как его можно развернуть в поддерживаемых платформы. В некоторых примерах также есть сквозные учебные пособия с использованием конкретных платформа, как указано ниже:

  • Привет, мир – Демонстрирует абсолютные основы использования TensorFlow Lite для Микроконтроллеры
  • Микро-речь – Захватывает звук с помощью микрофона для распознавания слов «да» и «нет».
  • Волшебная палочка – Собирает данные акселерометра для классификации трех различных физических жестов
  • Обнаружение человека – Захватывает данные камеры с помощью датчика изображения для обнаружения присутствия или отсутствия человека

Рабочий процесс

Следующие шаги необходимы для развертывания и запуска модели TensorFlow на микроконтроллер:

  1. Обучить модель :
  2. Выполнить вывод на устройстве с помощью библиотеки C ++ и процесса результаты, достижения.

Ограничения

TensorFlow Lite для микроконтроллеров разработан с учетом специфических ограничений разработка микроконтроллеров. Если вы работаете на более мощных устройствах (для например, встроенное устройство Linux, такое как Raspberry Pi), стандартный Фреймворк TensorFlow Lite может быть проще интегрировать.

Следует учитывать следующие ограничения:

  • Поддержка ограниченного набора Операции TensorFlow
  • Поддержка ограниченного набора устройств
  • Низкоуровневый C ++ API, требующий ручного управления памятью
  • Обучение на устройстве не поддерживается

Следующие шаги

Электроника и микроконтроллеры для начинающих (Часть 1) | макс

Я не всегда был самым авторитетным специалистом в мире во всем, что связано с электроникой (ну, это то, во что верит моя дорогая старая мама и что она говорит своим друзьям, и мне бы хотелось думать, что я не из тех. парень, который постоянно не согласен со своей матерью).

Когда я только начинал заниматься электроникой, я понятия не имел. Хуже того, если бы возникла такая вещь, как «яма заблуждений», я бы споткнулся о собственные ноги и упал лицом вниз.

Когда мне было около 10 лет, родители подарили мне на день рождения комплект электроники. Это был один из тех, где вы использовали пружины для удержания концов проводов, которые вы использовали для соединения различных компонентов (более простая версия электронной игровой площадки Elenco 130-in-1, которую вы можете купить на Amazon сегодня примерно за 45 долларов).К нему прилагалась инструкция. Я остановился, когда там заговорили о «мостах резисторов», не объяснив, о чем они болтали, потому что – мысленным взором я представлял резисторы, действующие как кабели в подвесном мосту.

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

Теперь есть несколько отличных наборов, особенно для изучения таких вещей, как Arduino. Проблема, с которой я сталкиваюсь с этими наборами, заключается в том, что вы учитесь делать что-то, фактически не понимая, что именно вы делаете на самом фундаментальном уровне.

Я также думаю, что это замечательно, что новички могут использовать макеты и предварительно сконструированные летающие провода для создания проектов прототипов без необходимости резать провода и паять вещи – я делаю это все время – но на каком-то этапе вам нужно выйти за рамки макетов, так где же люди могут научиться этим навыкам?

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

Я не могу удержаться от того, чтобы сказать, что я думаю, что это будет «Крутые бобы». Я познакомился с этим выражением, когда впервые переехал в США в 1990 году (я переехал из Англии в Алабаму по ночам – это небольшая алабамская шутка, которую тут же бросили бесплатно), и оно запомнилось мне.Теперь я ловлю себя на том, что говорю это все время; У меня даже есть собственный блог Cool Beans.

Я Крутой Бин справа (симпатичный в гавайской рубашке)


Я планирую начать с таких вещей, как переключатели, резисторы и светодиоды (LED) сами по себе, а позже добавить микроконтроллер, такой как Arduino. Я хочу дать настоящее понимание, включая ответы на все мелкие вопросы, которые приходят в голову людям.

Например, когда вы читаете что-то в Интернете, вы можете увидеть, как один человек пишет «светодиод», а кто-то другой – «светодиод.«Хммм,« а »или« ан »- что правильно? Ну, вообще-то они оба. Эта проблема возникает из-за того, как автор говорит вещи в разговоре, потому что именно так он или она будет думать об этом, когда они что-то записывают. Некоторые люди говорят, что «LED» рифмуется со словом «кровать», и в этом случае «светодиод» будет уместным. Для сравнения, другие громкоговорители будут излагать слова буква за буквой, как «L-E-D», и в этом случае «L-E-D» звучит более приятным для слуха.

В следующей колонке я планирую ввести понятия напряжения, тока, сопротивления и заряда.Далее мы рассмотрим такие вещи, как проводники и изоляторы, а также батареи и компоненты, называемые резисторами. Позже мы обсудим макеты и готовые гибкие выводы, а также типы и характеристики компонентов, которые полезно иметь под рукой (резисторы, конденсаторы, диоды …).

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

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

До моей следующей колонки я приветствую ваши комментарии, вопросы и предложения.

Микроконтроллеры

– Руководство для новичков – Таймеры и счетчики

Микроконтроллер

– Руководство для начинающих – Базовое и стандартное использование таймера и счетчика и часов микроконтроллера

Таймеры и счетчики настолько важны, что вы найдете множество примеров повсюду. эту серию руководств.Как следует из названия, таймеры могут показывать время и считать. Подсчет а время позволяет делать действительно крутые вещи, например регулировать яркость Светодиоды, управляющие углом сервопривода, принимают данные датчиков, которые передают в PWM (широтно-импульсная модуляция – подробнее об этом в другом руководстве), делая таймер (как на плите), или просто добавив переменную времени в свой микроконтроллер проект.

Но сначала важно знать, что внутри (или снаружи) микроконтроллеров AVR есть часы. Фактически, все микроконтроллеры имеют в себе часы (или используют тот, который находится вне микроконтроллера). Микроконтроллерам нужны часы, чтобы наши программы могли выполняться в ритме с часами. Это основная функция микроконтроллеров. Базовая инструкция обрабатывается, когда проходит тиканье часов. Так же, как эти программы, которые мы пишем, по мере прохождения часов инструкции обрабатываются синхронно с тактами часов.

Функции таймера и счетчика в микроконтроллере просто отсчитывают синхронно с часами микроконтроллера. Однако счетчик может считать только до 256 (8-битный счетчик) или 65535 (16-битный счетчик). Это далеко от 1000000 тиков в секунду, которые обеспечивает стандартный микроконтроллер AVR. Микроконтроллер предоставляет очень полезную функцию, называемую предварительным масштабированием. Предварительное масштабирование – это просто способ счетчика пропустить определенное количество тактов микроконтроллера. Микроконтроллеры AVR позволяют предварительно масштабировать (пропускать) числа: 8, 64, 256 и 1024.То есть, если в качестве предделителя установлено 64, то счетчик будет считать только каждый раз, когда часы тикают 64 раза. Это означает, что за одну секунду (когда микроконтроллер тикает один миллион раз) счетчик будет считать только до 15 625. вы могли видеть, что если счетчик считает до этого числа, вы сможете мигать светодиодом каждую секунду.

В основном таймеры имеют регистр для управления и регистр, в котором хранится счетчик. количество.Регистр управления содержит несколько переключателей для включения и выключения функций. Как вы уже догадались … одна из функций – выбрать предварительное масштабирование. Контроль Регистр называется TCCR0 или TCCR1 (Регистр управления таймером / счетчиком). TCCR0 – это 8-битный регистр управления и имеет только 8-битный регистр управления, поэтому есть только 8 переключателей для включения и выключения. TCCR1 – 16-битный, поэтому у него есть 16 переключателей для включения и выключен, но он находится в двух 8-битных регистрах с метками A и B (TCCR1A и TCCR1B).Переключатели следующие: FOC (принудительное сравнение выходов), WGM (генерация сигналов). Mode), COM (режим сравнения совпадения вывода) и CS (выбор часов).

Регистр, в котором хранится счетчик, называется регистром TCNT. И есть 8-битный версия (TCNT0) и 16-разрядная версия (TCNT1). Регистр TCNT1 фактически получает свое число из двух других 8-битных регистров, чтобы создать полное 16-битное число, но это все делается за кулисами (абстрактно), поэтому вам не нужно беспокоиться о том, как TCNT1 получил эту возможность иметь 16-битную версию, просто подумайте, что это волшебство.

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

Не повторяя предыдущих постов, программа инициализирует порты для светодиодов и устанавливает таймер / счетчик №1 (16-битный таймер).Элемент управления TCCR1B Регистр используется для установки коэффициента предварительного масштабирования 64 с переключателями CS10 и CS11.

Поскольку мы хотим, чтобы один из 7 светодиодов следил за 1/7 секунды каждый, мы берем число 15,625 (1000000/64 – помните, что 1000000 – это тактовая частота микроконтроллера 1 МГц) и разделите его на 7, чтобы получить ~ 2,232,143. Вы говорите, но используете только 2232 в программе !! это потому, что TCNT1 принимает только целые числа (без десятичных знаков).Теперь вы говорите, отсчет времени будет отклоняться на величину десятичной дроби !! Верно, но Внутренние часы АРН в любом случае неточны на +/- 10%. Если используется внешний кристалл, вы можете использовать идеальное число, которое представляет соответствующий счетчик.

Вы заметите, что TCNT1 также сбрасывается на ноль вручную. Это необходимо в противном случае TCNT1 будет продолжать отсчет после установленного условия 2232.Есть и другие функции управления, которые имеют автоматическое обнуление этого числа, но мы доберемся до это в другом руководстве. Остальные части программы используют то, что мы узнали. i предыдущие руководства (включение и выключение светодиодов и массивов).

#include
int main (пусто)
{ DDRB = 0b01111111;
PORTB = 0b00000000;
DDRD = 0b01111111;
PORTD = 0b00000000;
TCCR1B | = 1
int LEDNumber [2];
а (1)
{ если (TCNT1> 2232)
{ TCNT1 = 0;
PORTB = 1
LEDNumber [0] ++;
если (LEDNumber [0]> 6)
{

LEDNumber [0] = 0;
PORTD = 1 << LEDNumber [1];
LEDNumber [1] ++;
если (LEDNumber [1]> 6)

LEDNumber [1] = 0;

} } } }
.

Добавить комментарий

Ваш адрес email не будет опубликован.