09 Октября 2016
41

Объемно-детонирующие боеприпасы и с чем их едят.

Здравствуй пикабу, сегодня я хочу рассказать тебе об таком типе боеприпасов как "Объемно-детонирующие боеприпасы".

БМ ругался на схожие картинки, но думаю это не критично.

Одним из наиболее мощных на данный момент боеприпасов, которые могут использоваться с российских бомбардировщиков, является авиационная бомба объемного взрыва, испытания которой были проведены в 2007 году. В СМИ часто используется неофициальное и технически некорректное обозначение данного оружия — АВБПМ (Авиационная вакуумная бомба повышенной мощности). Другое неофициальное название данного боеприпаса — «Папа всех бомб». Оно является отсылкой к прозвищу американской авиабомбы GBU-43/B «Мама всех бомб». Данный авиационный боеприпас крупного калибра долгое время считался самым мощным неядерным боеприпасом в мире и находится на вооружении ВВС США.

Давайте узнаем подробнее про этот вид оружия ...

Все началось с «Черного тумана»


В 1944 Третий рейх неуклонно приближался к своей гибели, Германия хваталась за любую, даже призрачную, надежду изменить ход войны, пытаясь реализовать самые невыполнимые и фантастические проекты. Одним из таких проектов стал проект, получивший название «Шварценебель» (Shvartsenebel, «Черный туман»).


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


В своем проекте он предлагал использовать эффект одного известного явления, которое в наше время называется эффектом объемного взрыва.


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


Суть идеи Энгельке состояла в том, что по курсу групп бомбардировщиков противника, которые обычно летели плотным строем «комбат бокс», он предлагал при помощи Ю-88 рассеивать угольную мелкодисперсную пыль и поджигать ее ракетами, пущенными с тех же Ю-88 в момент вхождения вражеских самолетов в угольное облако.


Командование Третьего рейха сочло эту идею реализуемой и дало добро на проведение работ над проектом.


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


После капитуляции Германии Энгельке был арестован союзниками, которым он, выдавая себя за доктора-физика и предъявляя удостоверение сотрудника Министерства вооружений, предложил свои услуги.


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

Первыми презентовали сверхмощную авиабомбу именно американцы, которые в 2003 году провели серию испытаний и показали сам боеприпас GBU-43/B Massive Ordnance Air Blast Bomb (MOAB). Это была 11-тонная в тротиловом эквиваленте бомба, которая за свою разрушительную силу тут же была прозвана «матерью всех бомб». Разработкой авиабомбы занимались конструкторы из известной компании «Boeing», ее разработчиком считается Альберт Уимортс. Длина американской бомбы составляет 10 метров, диаметр — 1 метр. Общая масса 9,5 тонны, из которых 8,4 тонны приходится на взрывчатку. В качестве взрывчатки используется взрывчатое вещество H-6 — смесь тротила, гексогена и алюминиевого порошка, которая мощнее тротила в 1,35 раза. В тротиловом эквиваленте мощность взрыва GBU-43/B составляет 11 тонн. Этого достаточно для того чтобы обеспечить гарантированный радиус поражения — примерно 140 метров, при этом частичные разрушения объектов и строения наблюдаются на удалении до 1,5 километров от эпицентра взрыва.

Стоит отметить, что GBU-43/B — это управляемая фугасная авиабомба. MOAB была снабжена системой наведения KMU-593/B, которая включает в себя системы спутниковой и инерциальной навигации. Для управления полетом бомбы впервые в истории американских вооружений были применены, используемые при выпуске российских боеприпасов, решетчатые стабилизаторы С. М. Белоцерковского. Первые испытания бомбы провели в 2003 году, на полигоне в штате Флорида было осуществлено два взрыва. Один экземпляр бомбы был отправлен в Ирак в рамках проведения операции «Несокрушимая свобода», но использовать бомбу так и не удалось, к моменту доставки бомбы активные боевые действия закончились.

При всех своих достоинствах у бомбы есть и существенный минус. Во время проведения испытаний бомба сбрасывалась с борта транспортного самолета Lockheed C-130 Hercules. Внутри самолета бомба находилась на специальной платформе, которая вместе с самой бомбой вытягивалась через люк при помощи парашюта. После чего MOAB быстро, для того чтобы не потерять скорости, откреплялась от платформы и парашюта, начиная самостоятельное падение на цель. Такой вариант сброса возможен лишь в том случае, если у противника отсутствует система ПВО или на тот момент она уже полностью подавлена.

Российский ответ на «матерь всех бомб» последовал в 2007 году. Тогда по Первому каналу телевидения был показан новостной сюжет о том, как сверхзвуковой бомбардировщик Ту-160 сбрасывает бомбу, показано падение бомбы с парашютом и сам взрыв. В сюжете также показываются последствия взрыва: руины многоэтажного дома, обломки военной техники, обожженная поверхность земли, напоминающая собой лунную поверхность. Стоит отметить, что из-за соображений секретности, сегодня нам неизвестно не только настоящее обозначение испытанного боеприпаса, но и его разработчики и производители. По сути, вся информация о бомбе — это ролик Первого канала, который был смонтирован из разных кусков. К примеру, самого момента сброса бомбы с Ту-160 на видео нет. Так что на данный момент единственным доказательством существования сверхмощной авиационной бомбы объемного взрыва является этот видеоролик, который можно посмотреть в сети.

https://www.youtube.com/watch?v=cQCEnoldrLg <---Ссылка на видео.

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

По имеющейся в открытом доступе информации, российская авиабомба весит более 7 тонн, но мощность ее взрыва достигает 44 тонн в тротиловом эквиваленте. При меньшей массе взрывчатого вещества мощность российского боеприпаса в 4 раза мощнее американской «Матери всех бомб». В пересчете на массу заряда мощность используемого в российском бомбе взрывчатого вещества (ВВ) превышает мощность тринитротолуола более чем в 6 раз.

Теоретический расчет зон поражения (исходя из мощности боеприпаса в тротиловом эквиваленте):


90 метров от эпицентра взрыва — полное разрушение даже укрепленных конструкций;


170 метров от эпицентра взрыва — практически полное разрушение конструкций из железобетона, полное разрушение неукрепленных конструкций;


300 метров от эпицентра взрыва — почти полное разрушение неукрепленных конструкций (жилые дома), а также частичное разрушение укрепленных конструкций;


440 метров от эпицентра взрыва — частичное разрушение неукрепленных конструкций;


1120 метров от эпицентра взрыва — ударная волна в состоянии разбить стеклянные конструкции;


2290 метров от эпицентра взрыва — силы ударной волны достаточно, чтобы сбить с ног человека.


Эффективное средство зачистки


Парадокс заключается в том, что эффект от объемного взрыва был известен еще за века до непосредственного изобретения объемно-детонирующих боеприпасов, которые в прессе часто ошибочно называют «вакуумными бомбами». Человечество столкнулось с этим раньше, чем произошел сам процесс понимания объемного взрыва. Тогда по неизвестным людям причинам происходили взрывы на шахтах, взлетали в воздух сахарные фабрики, мельницы, пилорамы. Что такое объемный взрыв? Смесь аэрозольного облака из природных газов и некоторых углеводородов: угольной пыли, сахара, муки, опилок с кислородом — была готовой к использованию бомбой. Нужно было лишь поднести детонатор в виде случайной искры или факела и происходил взрыв.


Название, которое прочно закрепилось в СМИ, возникло из-за способности объемно-детонирующего оружия создавать очень мощную взрывную волну и выжигать кислород на большой площади до состояния, которое близко к вакууму. При этом специалисты ООН признали подобные бомбы негуманным средством ведения войны, которое может вызвать чрезмерное страдание. Человек, который оказывается в зоне такого взрыва, получает чудовищные травмы. Однако еще один парадокс ситуации заключается в том, что против солдат противника данное оружие практически не использовалось.

The last 15,000-pound BLU-82 bomb donates after being dropped from an MC-130E aircraft by the 711th Special Operations Squadron at the Utah Test and Training Range on July 15, 2008. (U.S. Air Force photo/Capt. Patrick Nichols)

BLU-82/B (англ. bomb live unit 82/B; прозвище «Дэйзи каттер», от англ. Daisy Cutter — косилка маргариток) — американская авиационная бомба. До появления GBU-43 была самым мощным неядерным боеприпасом в мире.


Вопреки сообщениям некоторых СМИ, BLU-82 не является боеприпасом объёмного взрыва. Бомба предназначена для сброса с самолёта MC-130 на высоте не менее 1800 м. Бомба имела вес до 6800 кг. и предназначалась для мгновенного создания посадочной площадки для десантных вертолётов в джунглях. Так как её конструктивной особенностью было то что при взрыве она не оставляла кратера, а только «сдувала» джунгли с поверхности земли расчищая порядка гектара девственного леса.


Однако военные все же использовали объемно-детонирующие боеприпасы. К примеру, советские летчики в Афганистане сбрасывали на душманов объемно-детонирующие бомбы ОДАБ-500П, обладавшие весом в 500 кг. Бомбы сбрасывались с борта штурмовиков Су-25, преимущественно их использовали в долинах. В горной местности, где облако аэрозоля из таких бомб быстро рассеивалось, их применяли вместе с обыкновенными дымовыми бомбами. По воспоминаниям летчиков, густой дым от дымовых бомб не давал аэрозолю быстро рассеяться. При бомбардировке в горах использовалось следующее сочетание: на каждые 6 объемно-детонирующих бомб приходилось по две дымовых бомбы. Эффект от использования данных боеприпасов был страшным.

Через некоторое время вакуумные боеприпасы стали появляться и у союзников США – первыми стали англичане. Потом их приобрел Израиль, который даже успел применить их на практике: в 1982 году во время войны в Ливане израильский самолет сбросил БОВ BLU-95 американского производства на восьмиэтажный жилой дом, погибли почти триста человек, дом был разрушен полностью.

Небольшие партии приобретались и другими союзниками США – по сведениям иранских источников, например, их в годы ирано-иракской войны получил даже Саддам Хусейн. Пыталась наладить производство этих боеприпасов Аргентина в период военной диктатуры Гальтьери – но дело кончилось ничем.


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

На вооружении китайской армии в настоящее время находится целый спектр боеприпасов объемного взрыва. Авиабомбы – аналоги российских ОДАБ-500, снаряды для систем залпового огня, например, для сверхдальнобойных WS-2 и WS-3, чей радиус поражения составляет до 200 км, авиационные ракеты – в том числе для широко идущего на экспорт J-10.

В большом количестве выпускаются стандартные термобарические выстрелы для гранатометов Тип-69 и Тип-88, а также специальные ракеты с термобарическим боезарядом для стрельбы из этих гранатометов фирмы Norinco весом 4,2 кг и с максимальной дальнобойностью до 1000 м. В арсеналах КНР также имеется пехотный НУР ближнего боя WPF 2004 фирмы Xinshidai Co с термобарическим зарядом, с эффективной дальностью поражения 200 м.

NORINCO Red Arrow 8


На дистанциях в 3000–5000 м китайскае артиллерия может встретить противника Red Arrow 8FAE — реактивным снарядом массой от 50 до 90 кг с головной частью массой до 7 кг, снаряженной окисью этилена.

Имеются у НОАК и аналоги (не копии) российского РПО «Шмель» – PF-97 и облегченный FHJ-84 калибром 62 мм.

По имеющимся сведениям, боеголовками объемного взрыва со спутниковым наведением китайцы намерены оснастить свою новейшую ракету средней дальности DF-21.

Dong Feng-21C


В разное время о намерении наладить выпуск таких боеприпасов заявляли Иран, Пакистан и Индия.


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


По некоторым неподтвержденным данным, в конце 1990-х годов в Чечне по приказу Масхадова прорабатывался вопрос использования боевых частей РСЗО «Смерч» для сбрасывания с легких самолетов.


В Афганистане после взятия знаменитой талибанской крепости Тора-Бора американскими военными были обнаружены схемы термобарических зарядов и образцы смесей горючих жидкостей. Примечателен тот факт, что при штурме крепости военные США применили BLU-82, на тот момент самый мощный боеприпас, имевший название «Косильщик маргариток».

Российские ОДАБ — объемно-детонирующие авиационные бомбы действуют на основе так называемого объемного взрыва. Их разработкой и выпуском занимается московское предприятие ГНПП «Базальт». Данные бомбы предназначены для поражения целей и объектов, расположенных в складках местности или в полевых фортификационных сооружениях открытого типа, также они могут применяться для проделывания проходов в минных полях. Американская армия, как уже говорилось выше, использовала подобные бомбы для обустройства посадочных площадок в джунглях, а советские войска в Афганистане бомбили ими пещеры душманов в Тора-Бора и другие их подземные укрепления. В Советском Союзе, а затем и в России наиболее мощными авиационными боеприпасами до последнего момента являлись фугасная бомба ФАБ-9000 (фугасная бомба большого калибра, предназначенная для нанесения ударов по крупным сухопутным объектам и кораблям противника) и объемно-детонирующая бомба ОДАБ-1500.

Принцип действия ОДАБ и в частности ОДАБ-500ПМ основан на реализации объемного взрыва. При встрече такой бомбы с преградой происходит взрыв заряда обыкновенного ВВ. Это ведет к разрушению тонкостенного корпуса авиабомбы, а также доводит жидкое ВВ до газообразного состояния и обеспечивает создания аэрозольного облака, которое в состоянии легко проникать в негерметичные укрытия (блиндажи, окопы). Примерно через 100-140 мс происходит взрыв инициирующего детонатора, который находится в капсуле, прикрепленной к парашюту, происходит взрыв топливно-воздушной смеси.

Основным поражающим фактором таких бомб является ударная волна, во фронте которой образуется избыточное давление, которое может достигать примерно 3000 кПа (30 кгс/см). Такие бомбы эффективно борются с живой силой противника, в том числе и там, где она может быть надежно укрыта от воздействия осколков. Для бомб ОДАБ-500ПМ эффективный радиус поражения солдат противника составляет 30 метров на открытой местности и 25 метров в полевых фортификационных сооружениях, а также окопах. Помимо этого бомба обеспечивает поражение открыто расположенной авиационной техники противника в местах дислокации в радиусе 30 метров. Бомба может применяться при скоростях полета от 500 км/ч до 1100 км/ч с высоты 200-12000 метров и позволяет самолету-носителю маневрировать даже с очень большими перегрузками. Носителями авиабомбы ОДАБ-500ПМ в настоящее время являются все тактические самолеты, которые находятся на вооружении российских ВВС. Модификациями данной бомбы являются более мощные ОДАБ-1000 и ОДАБ-1500, отличающиеся большей массой.


Однако армии мира не спешат переходить исключительно на этот тип боеприпасов и этому есть свое объяснение. По словам Александра Парфенова полковника запаса, эксперта информационного центра «Оружие ХХI века», слабые стороны объемно-детонирующих боеприпасов заключаются в том, что они обладают одним поражающим фактором — ударной волной. Кумулятивным или осколочным действием по цели они обладать не могут. Более того, для осуществления объемного взрыва требуется большое количество свободного объема и кислорода, то есть такая бомба не сработает в безвоздушном пространстве, в грунте или воде. Также на подобного рода боеприпасы большое влияние оказывает погода и погодные условия. При наличии проливного дождя или сильного ветра топливно-воздушное облако, необходимое для объемного взрыва, не формируется или очень быстро рассеивается. А вести боевые действия исключительно при хорошей погоде, согласитесь, не совсем удобно и практично. Несмотря на эти недостатки, боеприпасы объемного взрыва способны оказывать сильное устрашающее воздействие на противника. По этой причине такие бомбы могут являться очень хорошим сдерживающим фактором, особенно если речь идет о борьбе с бандформированиями или террористами.

https://www.youtube.com/watch?v=cQCEnoldrLg <--- Ссылка на видео. (Не хватает рейтинга добавить видео)

Кроме авиабомб были созданы снаряды для систем залпового огня «Смерч» и «Ураган», не имеющая аналогов ТОС-1 «Буратино», вертолетные ПТУР «Штурм» и «Атака», авиационная ракета С-8Д (С-8ДМ). А вот кстати, "СОЛНЦЕПЕК" в Ираке.

Не обошли вниманием и пехотное оружие – на вооружение Сухопутных войск поступили противотанковый управляемый ракетный комплекс дальнего действия «Корнет-Е» и реактивный пехотный огнемет «Шмель». Создали также термобарический боеприпас для традиционного РПГ-7 – выстрел ТБГ-7В. В конце 1980-х появились даже ручные гранаты объемного взрыва РГ-60ТБ и гранаты для подствольных гранатометов ВГ-40ТБ калибром 40 мм и с дальностью применения до 400 метров.

Также активно велись разработки минно-диверсионных систем, но развал СССР остановил работу на стадии теории.

300 мм реактивный снаряд 9М55С с термобарической боевой частью для реактивной системой залпового огня (РСЗО) "Смерч"

Появившиеся новинки очень скоро прошли боевое крещение в Афганистане, где активно применялись авиабомбы и термобарические снаряды для РСЗО. Бомбы ОДАБ-500П использовались при высадках вертолетного десанта, для разминирования площадок, а также против живой силы противника.


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

Применялось объемно-детонационное оружие в обеих чеченских войнах, причем с обеих сторон: боевики пользовались трофейными «Шмелями».

В августе 1999 года, в период нападения террористов на Дагестан, на захваченный боевиками аул Тандо была сброшена крупнокалиберная бомба объемного взрыва. Бандиты понесли огромные потери. В последующие дни одно только появление одиночного штурмовика Су-25 над каким-либо населенным пунктом заставляло боевиков спешно покидать аул. Появился даже жаргонный термин «эффект Тандо».

При штурме села Комсомольское были применены батареи ТОС-1 «Буратино», после чего спецназ занял его без особого труда и с минимальными потерями.

В двухтысячные годы после долгого перерыва в России начали создавать новые виды боеприпасов объемного взрыва. Например, многокалиберный оружейный комплекс РПГ-32 (он же «Хашим»), в боекомплект которого входят 105-миллиметровые гранаты объемного взрыва.

В настоящее время в части постоянной готовности поступили реактивные пехотные огнеметы новой модификации – РПО ПДМ-А «Шмель-М».


Недостатки:


Но, несмотря на свою высокую боевую эффективность, БОВ имеют и ряд существенных недостатков. Например, у них имеется только один поражающий фактор – ударная волна. Кумулятивным и осколочным действием они не обладают и обладать не могут.

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

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

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

Это привело к тому, что, например, в Афганистане цели для ОДАБ приходилось выбирать только в долинах – в разряженном и бедном кислородом воздухе высокогорий они утрачивали силу. Для хотя бы частично компенсации этих недостатков военным нередко приходилось идти на хитрость, используя своеобразный «коктейль» – комбинацию ОДАБ с дымовыми бомбами, густой дым которых не давал аэрозолю рассеиваться.


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


Наконец, что, пожалуй, главное, ни в одном из конфликтов, где они применялись, эти средства ведения войны не принесли ни стратегического, ни даже существенного тактического выигрыша. Ни во Вьетнаме, ни в Афганистане (как СССР, так и США), ни в ходе обеих иракских кампаний американской армии с их помощью не удалось выиграть ни одну более или менее крупную операцию, да и в Чечне эффект был сугубо второстепенным. В ходе конфликта 2006 года в Ливане их применение против «Хезболлах» не спасло Израиль от поражения.


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


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


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

https://www.youtube.com/watch?v=93D_dJ-3i4k<--- Ссылка на сравнение бомбы США и России видео.


Тем кто прочитал мое увОжение)

Показать полностью 22
93

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino

Всем привет!  :)


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


Предыдущие выпуски вы найдете здесь: 0,1,2,3,4

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


Ну а сейчас давайте запустим среду Arduino IDE и откроем пример BareMinimum (Файл - Примеры - Basic). Он представляет собой некоторый шаблон для написания программ.

Открыв его, мы с вами видим две записи, void setup и void loop – это так называемые функции, первая выполняется единоразово, при подаче питания на Arduino, а вторая выполняется циклически до тех пор, пока присутствует питание микроконтроллера. В функцию setup записываются различные настройки микроконтроллера для дальнейшей работы - например, это может быть конфигурация портов ввода/вывода, о которых мы говорили ранее, либо инициализация подключенного вами дисплея или датчика. Главное, что нужно запомнить, с этой функции начинается работа микроконтроллера и все, что в ней написано, выполняется только один раз.

Чего не скажешь о функции loop – эта функция выполняется сразу же после функции setup, и после этого микроконтроллер постоянно работает в ней.


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


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


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

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

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


А теперь настало время запустить пример из прошлого выпуска, на котором мы остановились – это пример мигания светодиодом под названием Blink.

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

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


Что мы имеем? Микроконтроллер с портами ввода/вывода, к одному из которых подключен светодиод.

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

В нашем случае, на плате Arduino уже есть подключенный светодиод к 13-му пину (pin – вывод микроконтроллера). Поэтому, настроив 13-й пин как выход, можно посылать команды на подачу высокого и низкого уровня на этот пин, тем самым зажигая и гася светодиод. Укажем подачу высокого уровня на 13-й пин в нашем алгоритме.

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

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

В первом блоке мы указали настройку 13-го пина как выхода, посмотрим на наш код - строчка pinMode(LED_BUILTIN, OUTPUT); как раз и отвечает за эту настройку.

Функция pinMode специально реализована для того, что бы указывать в ней какой пин мы хотим настроить, и в какой режим. В данном случае указано, что мы настраиваем константу LED_BUILTIN как выход, то есть - OUTPUT. За константой LED_BUILTIN как раз и скрывается наша цифра 13, то есть номер пина, к которому подключен светодиод, поэтому, заменив эту запись на цифру 13, ничего не изменится, просто разработчики сделали это для упрощения понимания кода начинающими. Итак, повторим, функцией pinMode мы можем настроить нужный нам пин на вход – INPUT или выход – OUTPUT, указав при этом номер пина. Эта команда не зря записана в первую функцию Setup, поскольку настройку пинов микроконтроллера нужно осуществлять всего один раз, при старте программы.


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

Так же, как вы могли заметить, кроме команд для микроконтроллера, существуют некоторые серые пометки для самого программиста – они называются комментариями.

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

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


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

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

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


В алгоритме мы указали необходимость подачи на наш 13-й пин сигнала высокого уровня, посмотрим на код – так и есть, функция digitalWrite как раз и делает это. В ее скобках мы опять же указываем номер пина и уровень сигнала, низкий – LOW или высокий – HIGH, так же, аналогом низкого либо высокого уровня являются цифры 0 и 1 соответственно.


Далее нам необходимо осуществить задержку – для таких простых случаев можно прописать её обычной функцией Delay, где в скобках указывается количество миллисекунд. Запись delay(1000); означает задержку работы микроконтроллера на одну секунду. Стоит заметить, что использование в своих проектах функции delay крайне не желательно, поскольку эта функция полностью останавливает работу микроконтроллера, не позволяя выполнять каких-либо других задач. О том, как реализовать более правильный вариант задержки мы поговорим в следующих выпусках, ну а пока, на этапе первого знакомства с программой и простоты поставленной задачи, нам подойдет и такая, упрощенная реализация.


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


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


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


Давайте модернизируем наш алгоритм, и добавим в него необходимые блоки.

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

По аналогии со светодиодом, один из пинов нашей Arduino нужно настроить на прием сигнала, и, считывая состояние этого пина, делать вывод о том, нажата кнопка или нет. Поэтому в функции настройки микроконтроллера мы прописываем команду pinMode(pin, INPUT); где вместо pin необходимо указать номер пина, к которому подключена кнопка - в моем случае это 3-й пин.

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


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

После написания оператора if в скобках указывается условие, при истинности которого будет выполняться тело оператора, которое ограничивается уже знакомыми нам фигурными скобками. В нашем случае в условии мы должны проверить, равно ли считанное с 3-го пина значение единице или нет, поэтому в скобках мы указываем такую запись: digitalRead(3) == 1. Функция digitalRead, по последнему слову в наименовании, означает чтение – read, и при ее выполнении возвращает результат в виде единицы или нуля – в зависимости от состояния пина, указанного в скобках. Таким образом, мы получили проверку условия: «равен-ли 3-й пин единице?», и, если равен, выполнить указанные действия в фигурных скобках. Дословно это можно читать так: «если считанное значение с пина 3 равно одному, выполнить команды в скобках». Более подробно об условных операторах и циклах мы поговорим в следующем выпуске, ну а пока, чтобы не перегружать вас информацией, остановимся на таком простом варианте.


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


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


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

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

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

Такие резисторы, кстати, встроены внутрь самого микроконтроллера Atmega и их легко можно включить в программе – достаточно дописать в функции настройки команду digitalWrite(pin, HIGH); которая подключит к нашему входу подтягивающий к плюсу питания внутренний резистор на 20кОм. В таком случае внешний резистор нам не понадобится, но и в коде необходимо будет заменить условие срабатывания с единицы на ноль.

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

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


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

Загрузив код вы увидите, что светодиод не мигает сразу же, как это было раньше, так как микроконтроллер ждет, когда мы нажмем на кнопку и подадим на 3-й пин сигнал высокого уровня. Если сделать это, то при нажатии на кнопку светодиод начинает мигать с частотой один раз в две секунды. Мы можем изменить значение частоты на любое другое, просто поменяв число, указанное в скобках функции delay();


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


Ну а на этом, пожалуй, всё, в конце я хотел бы пригласить всех желающих в наше скромное сообщество ВКонтакте, где периодически выходит рубрика «Nano за 60 минут» и мы разыгрываем в течение часа бесплатную Arduino Nano. Не забывайте делиться своим мнением о выходящих выпусках и пишите свои вопросы, всем большое спасибо за внимание и до встречи в новом выпуске!

Показать полностью 24
2

Новая ЗП госслужащим

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

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

Отличная работа, все прочитано! Выберите