LXF151:Arduino: Начнем знакомство
|
|
|
Arduino Освежив в памяти закон Ома, создадим нашу первую умную схему
Arduino: Начнем знакомство
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Создать полезное устройство с Arduino проще, чем вы думали. Ник Вейч начинает серию статей об Arduino с добавления датчиков к устройствам.
«Никогда не вредно провести расчеты для проверки.»Признайтесь честно: вы купили макетную плату Arduino, загрузили примеры прошивок и полюбовались мигающими светодиодами, но с тех пор плата вместе с набором компонентов, которые вы приобрели в решимости создать нечто грандиозное, собирает пыль в шкафу.
Здесь нечего стыдиться, но если вы хотите узнать, как с небольшими усилиями сделать удивительные вещи, надеемся, эта серия руководств поможет вам. Да, нас ждет немного арифметики, и кое-что потребуется изучить. Сайтов с планами проектов для Arduino немало, но если вы не понимаете основ работы платы, то никогда не претворите свои великие планы в жизнь.
Мы не только покажем, что можно сделать на базе Arduino, но и ознакомим вас с теоретическими сведениями, лежащими в основе работы платы, и стоящими за ними расчетами – во всяком случае, в той мере, в какой это будет полезно.
На этом уроке мы подключим к Arduino несколько сенсоров и с их помощью будем управлять другими устройствами или просто записывать данные через последовательный порт. Это несложно и займет всего несколько минут, поэтому начнем.
Содержание |
Простые датчики
Имеется множество компонентов с переменным сопротивлением, зависящим от условий окружающей среды – давления, температуры, света, звука, магнитного поля и др. Причина в том, что существует масса веществ, чье сопротивление естественным образом зависит от этих условий, а что для нас важнее – сопротивление довольно легко измерить и отреагировать на него в электрической цепи.
Сопротивление для всех типов датчиков обычно измеряется косвенно в резисторной сборке (называемой делителем напряжения). В цепочке резисторов отношение падения напряжения на каждом отдельном резисторе к общему напряжению, приложенному к цепочке, равно отношению сопротивления этого резистора к общему сопротивлению цепочки. И если собрать цепочку резисторов, в которую входит датчик, его сопротивление можно определить, измерив напряжение на датчике и сравнив его с общим приложенным напряжением. Во многих случаях точная величина сопротивления даже не нужна: достаточно получать определенный входной сигнал, который изменяется в диапазоне, позволяющем заметить, что изменилось исследуемое свойство.
Эй, здесь темно
Создание схемы, которая включает и выключает свет в зависимости от освещенности – пожалуй, эквивалент «Hello World» в Arduino. Это довольно простая схема, и для нее нужны всего два дополнительных компонента, которые легко доступны – а если у вас их нет, ну, достаньте их.
Фоторезистор (LDR, Light Dependent Resistor) как раз и представляет собой резистор, сопротивление которого меняется в зависимости от падающего на него света. Существуют фоторезисторы различных типов, но самые распространенные имеют ромбовидную форму, около 4 мм в длину, а их сопротивление изменяется от нескольких сот ом (на ярком свету) до примерно 250 кОм (в глухой тьме).
Иногда к ним прикрепляют купола или линзы, чтобы собрать больше света, но обычно они помещаются в плоские эпоксидные корпуса. К счастью, их выходная характеристика весьма близка к линейной, что немного упрощает расчеты, если мы захотим выполнить настоящие измерения.
И, наконец, помните о рассеянии мощности. У всех подобных резисторов есть предельно допустимый ток, по превышении которого они сгорают. На практике в низковольтных схемах постоянного тока, обычно применяемых в Arduino, сжечь фоторезистор сложно, но помните об этом для других компонентов.
В нашей простой цепи мы объединим фоторезистор в цепочку с резистором сопротивлением 10 кОм. Тогда мы не потратим на нашу цепь чересчур много энергии, более чем достаточно защитим фоторезистор и получим приемлемое сравнительное значение в диапазоне сопротивлений фоторезистора.
Чтобы измерить напряжение, нужно лишь подключиться к середине цепочки и соединить ее с одним из аналоговых входов Arduino. Никогда не вредно провести расчеты для проверки, чего нужно ожидать.
При ярком свете измеренное сопротивление нашего фоторезистора составило 220 Ом. В темноте оно поднялось до 250 кОм. Следовательно [ULDR – напряжение на фоторезисторе; Uin – входное напряжение; RLDR – сопротивление фоторезистора, – прим. пер.]:
ULDR = Uin * (RLDR/ RLDR +10000)
ULDR = 5 * (220/10220) = 0,1 В при ярком свете
ULDR = 5 * (250000/260000) = 4,8 В в темноте
В аналоговых входах Arduino используются внутренние аналого-цифровые преобразователи (АЦП) Atmega. Они обладают 10-битной разрядностью сигнала и сравнивают поступающее напряжение с напряжением питания Arduino. Так, значение 1023 соответствует 5 В. На практике это напряжение меньше, особенно при питании через USB.
Но, поскольку сравнение все равно относительное, большой разницы не будет; хотя об этом стоит помнить, если вы пытаетесь провести точные измерения.
Схема, как она есть, приведена на рис. 1 в конце статьи; есть и фотография, чтобы вы смогли посмотреть, как это выглядит на макете. Осталось написать код, включающий свет.
/* Простой датчик освещенности
*/
int LDR = 1; // выбор входного контакта для LDR
int LED = 13; // выбор контакта для LED
int val = 0; // переменная, хранящая показание датчика
void setup() {
pinMode(LDR, INPUT); // объявим LDR как вход - INPUT
Serial.begin(9600);
}
void loop() {
val = analogRead(LDR); // считываем показание датчика
delay(1000); // небольшая пауза
Serial.print(“Освещенность: “);
Serial.println(val);
}
«Прошивка» (так называется исходный код для Arduino) состоит из трех частей: глобальные определения, код установки и основной цикл. В первой секции определяются переменные, которыми мы собираемся воспользоваться, включая назначение меток контактам, которые мы будем употреблять для ввода и вывода.
Код установки инициализирует контакты должными функциями (это очень важно, так как у контактов есть несколько режимов работы и функций) и инициализирует последовательный ввод/вывод, чтобы впоследствии мы смогли записывать данные.
Основной цикл считывает показание с аналогового контакта и сохраняет результат в переменной, которую мы завели. Затем он просто проверяет, больше или меньше это показание определенного значения, и если «темно», зажигает светодиод.
Измеренное показание также отправляется на последовательный порт (чтобы мы могли следить за его изменениями), и затем нужна небольшая пауза на передышку. Пауза указывается в миллисекундах, так что у нас здесь показание считывается примерно раз в секунду. Если вы планируете разместить различные датчики на различных контактах, позаботьтесь о том, чтобы считывать их значения одновременно.
АЦП в микросхеме Atmega нужно некоторое время, чтобы вернуться в рабочее состояние, поэтому добавьте небольшую задержку между операциями считывания аналоговых значений, если важна точность.
Идем дальше
Если вы просто хотите знать, светло или темно, использование аналогового входа – напрасная трата ресурсов. Поэтому датчики часто применяются только для установки событий – жарко/темно/влажно и т. п., и все, что нам нужно – установить их выход в логическую «единицу» или «ноль».
Можно просто подключить делитель напряжения к цифровому входу, но результаты окажутся не лучшими. Причина – в напряжении переключения: когда напряжение на выводе станет достаточно высоким для отправки логической единицы, вы войдете в состояние почти случайных включений и отключений. Такой способ ненадежен и для управления логическими схемами.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Один из способов получения устойчивого положительного или отрицательного сигнала – воспользоваться транзистором в качестве цифрового переключателя, однако проблемы с непостоянными значениями вблизи напряжения переключения могут сохраниться.
Добавление дополнительного транзистора, впрочем, означает, что можно настроить петлю обратной связи, которая придаст устойчивость выходному сигналу. Напряжение, при котором система переходит в состояние «включено», можно сделать заметно выше, чем напряжение, необходимое для переключения обратно в состояние «выключено», создав таким образом буфер и исключив колебания состояний «включено»/«выключено».
Такая схема называется триггером Шмитта, и это краеугольный камень множества управляющих электронных схем. Для решения нашей задачи можно купить интегральные схемы с большим количеством триггеров Шмитта или добавить схему операционного усилителя, но с парой простых NPN-транзисторов стоимостью около 30 пенсов и несколькими резисторами сделать то же самое гораздо проще.
Расположение компонентов приведено на рис. 2. Мы воспользовались NPN-транзисторами BC547, но на самом деле подойдут любые NPN-транзисторы. Сопротивления резисторов в цепи определяют точки, в которых будет изменяться значение логического выхода. С нашими резисторами оно должно установиться в «единицу» при напряжении около 2,5 В и в «ноль» при напряжении около 1,3 В (при напряжении питания 5 В).
Чтобы получить точки переключения, которые вам нужны, можно изменять значения резисторов или добавить переменный резистор между базой второго транзистора и «заземлением» и с его помощью смещать точку переключения вверх и вниз.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Триггер счастлив
На сайте pcbheaven есть прекрасная статья о том, как реализовать триггер Шмитта (http://pcbheaven.com/wikipages/The_Schmitt_Trigger/), а также удобную утилиту для определения сопротивления используемых резисторов (http://pcbheaven.com/drcalculus/index.php?calc=st_tr).
Код для управления такой цепью тоже довольно прост. Сначала можно использовать сочетание аналогового и цифрового методов, чтобы убедиться в правильной установке точек переключения. Соответствующая прошивка приведена ниже:
/* Датчик освещенности - аналоговый и цифровой
*/
int LDR = 1 // аналоговый контакт для LDR
int ledPin = 13; // выбор контакта для LED
int sensePin =12; // цифровой контакт
int val = 0;
int sense =0;
void setup() {
pinMode(LDR, INPUT); // объявим LDR как вход INPUT
pinMode(ledPin, OUTPUT); // объявим ledPin как выход OUTPUT
pinMode(sensePin, INPUT);
Serial.begin(9600);
}
void loop() {
val = analogRead(LDR); // считываем показания датчика
sense = digitalRead(sensePin);
if (sense == 1)
digitalWrite(ledPin, LOW); // включаем ledPin
else
digitalWrite(ledPin, HIGH); // выключаем ledPin
delay(1000);
Serial.print(“reading: “);
Serial.println(val);
Serial.print(“sense: “);
Serial.println(sense);
}
Хотя здесь мы пользовались обычным фоторезистором, те же принципы справедливы и для любого другого датчика на основе сопротивления, поэтому те же самые схемы подходят и во многих других случаях. Небольшие отличия есть для датчиков температуры – их выходная функция нелинейна, и для получения корректного аналогового значения обычно нужно заглянуть в таблицу или произвести некоторые вычисления – обо всем этом мы обязательно поговорим на следующих уроках.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить