Arduino

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

 Микроконтроллеров - сборок Arduino довольно много. То есть Arduino может быть в зависимости от исполнения сборки представлен в различном виде. Если провести аналогию с машинами, то Arduino это марка, а вот возможные сборки Arduino (UNO, Leonardo, Nano, One...) это модели этой марки. Именно поэтому не стоит мешать все в одну кучу, не смотря на то, что они очень между собой похожи. Основные их различия заключаются в объеме памяти Arduino, в размерах, в выводах, в частных особенностях...
 Так что выберите для себя какой-то один Arduino и начните работать с ним. Для того чтобы вам было проще определиться, мы вам посоветуем взять Arduino UNO, как наиболее распространенный.

(Китайский Arduino на Али - некая аналогия "подделка", но при этом дешевле раз в 6 оригинала. Функционально один в один. Стоит около 4,5 долларов)

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

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

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

 То о чем я расскажу в этой статье несколько не гуманно, если так можно сказать об этой электронной поделке. Ведь в качестве исполнительного устройства для срабатывания выходного сигнала будет использовано Arduino UNO. В принципе это все равно, что на настоящем автовозе-грузовике перевозить игрушечные модельки. Именно так можно охарактеризовать производительность Arduino и ту задачу которая перед ней стоит в этой теме. Ну да ладно, мало ли как бывает...
  Итак, если возможность использовать Ардуино как датчик света есть, то этой возможность можно воспользоваться. Сейчас более подробно об этом.

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

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

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

 Один из недорогих, но в то же время прагматичных экранов для Ардуино является экран 0,96 I2C IIC (128X64 px), то есть с разрешением 128X64 и обменом данных по IIC. Этот интерфейс способен значительно сэкономить ножки на нашем Ардуино, так как вывод на экран обеспечивается через контакты SCL и SDA.
Экран с IIC
 Пару слов от некомпетентного человека Этот интерфейс IIC был разработан компанией Philips и само собой запатентовал. В итоге, производители процессоров содрали принцип работы, но назвали его по своему. В Atmel его именуют TWI, но это одно и тоже только в профиль, а не анфас. Итак, данные передаются по двум проводам — провод данных и провод тактов. Это и есть самый большой плюс! Существует ведущий (master) и ведомый (slave), такты генерирует master, а ведомый лишь подтверждает прием байта. Собственно более я вам не скажу, да оно и не надо…

 К платформе Arduino можно найти десятки различных датчиков, каждый из которых будет выполнять свои обязанности, срабатывать на определенные условия.  Одним из таких датчиков является датчик движения HC-SR501.  Датчик питается от 5-12 вольт, при этом в случае определения движения выдает логическую единицу на выходе. Ну а как работать с этой логикой и как воспользоваться этим датчиком в купе с Ардуино, об это как раз в это статье.

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

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

 Эта статья будет иметь «итоговый» характер, то есть резюмировать столь невысокие, но мои достижения по работе с микроконтроллером Ардуино. Чтобы впоследствии, когда будет будет необходимо, можно было вернуться к этой платформе и реализовать не ней включение выключение каких-либо устройств.
 Как я вижу сложившееся, с помощью Bluetooth модуля можно осуществлять управление устройствами для умного дома или сделать даже обычное открывание –закрывание ворот во дворе или гараже.  То есть подъехал, открыл. Уезжаешь – закрыл. В принципе у меня пока нет ни частного дома, ни ворот, но как управлять ими я уже знаю:)

 Большинство наших манипуляций с электрическими нагрузками связано лишь с их включением и выключением. Для этого на все сто подходят обычный коммутационные выключатели. Включил - есть питание, выключил – нет! Однако дело осложняется, если перед нами появляются задачи несколько посложнее. Скажем одним коммутатором (выключателем или кнопкой) необходимо включать или выключать несколько нагрузок по очереди. Или у тех же самых нагрузок появляется какой-то алгоритм по питанию. Вот тут электрика и превращается в электронику. Вот тут нам и помогут микроконтроллеры. А так как Arduino это частный случай микроконтроллера в удобной для нас обвязке, то именно его мы и возьмем за базу для реализации функциональной схемы управления одной кнопкой 2 и более устройствами.  Об этом мы собственно и расскажем в нашей статье

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

 Ардуино один из популярнейших микроконтроллеров на сегодняшний день. Описывать все плюсы этой сборки мы не будем, ведь если вы зашли сюда, то явно не просто так, а видимо поняли, что без него вам не обойтись. Мы догадываемся и о том, что вас мучает совсем другой вопрос... Можно ли питать Ардуино напряжением 12 вольт? Ведь когда мы работаем с компьютером от USB, то Ардуино питается от того же компьютера - 5 вольтами. Здесь все хорошо, все согласовано и нет никаких проблем! Но как только Ардуино "отправляется на службу", ее питание по проводу от компьютера прерывается словно пуповина у новорожденного, а кормиться должны все:) Здесь и приходиться что-то мудрить. Так вот, как можно запитать Ардуино?

 Это самое начало, то с чего начинал я. С али пришла Arduino UNO само собой это был не оригинал, а всего лишь подделка, аналог, копия.... Это уж называйте как хотите. Конечно, определяющим фактором при покупке была цента, так как отдавать 20 $ за непонятный результат совсем не хотелось, а вот за 4,5 $ можно было и поэкспериментировать. Так вот, как только сие чудо было получено, начались думы о его подключении. Как что и где?
 Это оказалось не так сложно. Вначале взгляните на то, что мне досталось.

 Это опять-таки один из первых моих опытов работы с Ардуино. Пока я даже еще помню какой.. Это второй проект! Так вот, во втором проекте, в большинстве случаев, людей учат работать с кнопкой, то есть нажал кнопку, подал напряжение на нагрузку – загорелся светодиод. Отпустил кнопку – светодиод потух. Однако посмотрев подобную тему, я немного был ошарашен, ну что это за проект!? Зачем применять Ардуино и связку из проводов, резисторы, если все на само деле можно реализовать просто обычной цепью через источник питания, кнопку и светодиод. Это и надежнее, дешевле и понятнее и не потребует специальных знаний. Нет, я понимаю, что микроконтроллер Ардуино начинает себя оправдывать лишь с определенных проектов, когда надо выполнять сложные действия вроде как с задержкой с распределением питания и все в таком духе. А вот для того чтобы до этого дойти, необходимо научиться работать с примитивом. Так скажем, что надо пройти не совсем прагматичное, дабы впоследствии воспользоваться возможностями на все сто. Пока я еще нахожусь в сторону баланса когда все было бы проще собрать скажем на той же микросхеме NE555, нежели заморачиваться Ардуинкой и заливать программу для таймера. Однако буду очень надеться, что далее применение в проектах Ардуино начнут себя оправдывать. Хотя уже и сейчас можно начать находить некие плюсы в обычном таймере от Ардуино, он легко настраивается на любое время срабатывания без пайки, просто меняем время в программке. Он может легко инвертировать сигналы от включено к выключено. Он в конце концов может работать сразу по нескольким критериям, если к нему подключить несколько кнопок и к каждой задать свой выход или свое время срабатывания. В общем уже кое-что, так что давайте обо всем этом поподробнее.