Arduino

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

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

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

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

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

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

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

 Еще один из многочисленных возможных подключаемых датчиков к платформе Ардуино это инфракрасный датчик. На самом деле в этом датчике есть не только инфракрасный фотодиод, но и источник этого самого инфракрасного излучения, то есть светодиод. Один из них изучает свет, другой принимает. То есть получается так, что датчик воспринимает свой же отраженный свет.
 Это сенсоры так называемой группы MH-Series. В моем конкретном случае, что мне удалось найти из маркировки на корпусе было MH-B. Если попробовать рассказать более подробно, то это не просто два радиоэлемента: фотодиод и светодиод. Это целая маленькая плата.

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

 Эта статья будет носить для меня не столько прагматичный характер, как удовлетворение собственного интереса. Однако это совсем не значит, что подобное распространяется на все остальных. То есть вполне возможно, что кому-то действительно и позарез нужна «бегущая строка», то есть когда на индикаторе бежит текст и можно его прочитать. Часто такие строки используются для рекламы и размещения любой информации. Их плюсы вполне очевидны, это относительная компактность и возможность выдавать большой объем информации в одном месте, на одной площади. Второе, это динамическое изменение, которое привлекает к себе. Третье, это возможность комфортно читать текст в темное время суток. Еще пару плюсов возможно вы придумаете сами, мне же хотелось бы продолжить статью в практичном ключе…

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

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

 Для индикации каких-либо параметров при работе 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 вольт и с током в несколько ампер. В итоге перед радиолюбителем встает вопрос о том, как преобразовать низкий управляющий ток, в высокий. Именно этой теме и будет посвящена наша статья.