Ihads.ru

Все про недвижимость
31 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Датчик расхода воды и Arduino

Мы используем датчик расхода воды для измерения расхода воды. Расход воды — это объем жидкости, который проходит в единицу времени. Люди часто используют датчик расхода воды для автоматического управления водонагревателем, самодельных кофемашин, торговых автоматов и т.д. Существует множество датчиков потока с разными принципами действия, но для производителей, использующих Arduino или Raspberry Pi, наиболее распространенный датчик потока основан на устройстве Холла. Например, самые классические датчики расхода воды YF-S402 и YF-S201 полагаются на датчики Холла.

Итак, как работает датчик расхода воды Холла?

Теория

Предлагаемый способ отслеживания уровня заряда основан на измерении напряжения источника питания. Возьмем, к примеру, литий-ионный аккумулятор. В процессе разрядки его напряжение изменяется от 4.2 В до 3 В. Выполняя периодические замеры напряжения и сопоставляя полученный результат с приведённым диапазоном 4.2. 3 В, мы можем оценить уровень заряда. Но не всё так однозначно. Дело в том, что напряжение аккумулятора при разряде изменяется не линейно. Это видно из графика разряда литий-ионного аккумулятора, который легко найти в google по запросу li-ion discharge graph:

График разряда аккумулятора Panasonic NCR18650B

Данный график позаимствован с сайта batteryuniversity. На нём отражён процесс разряда аккумулятора Panasonic NCR18650B 3200мАч разными токами от 0.2C до 2C. Как видите, напряжение аккумулятора изменяется более-менее линейно лишь при разряде большими токами. Здесь можно вспомнить математику и посчитать процент оставшегося заряда по линейной формуле. Но это, скорее, частный случай. Пожалуй, более актуальны случаи, когда устройство потребляет незначительные токи, поэтому ориентироваться мы будем на красную и синюю кривые.

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

Читайте так же:
С какого времени начинается ночное время для счетчиков

Следующий момент, который я беру во внимание – это то, что высокая детализация уровня заряда (в тех же процентах, которые дают нам 100 значений) бывает нужна крайне редко. В большинстве случаев достаточно понимания: когда уровень заряда находится в «зелёной зоне», когда в «жёлтой», а когда нужно быть готовым к отключению устройства из-за разряда аккумулятора. Поэтому наиболее рациональным представляется подход, когда мы выделяем 3-4 пороговых напряжения и относительно них определяем уровень заряда. Грубо говоря, если напряжение литий-ионного аккумулятора больше 4 В, то заряд высокий; если меньше 3.2 В – аккумулятор вот-вот разрядится, а между этими двумя значениями выделяем еще несколько зон. Если необходимо выразить заряд именно в процентах – пожалуйста: выделяем 10 зон и показываем результат десятками (10%, 20% и т.д.).

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

Re: Глупый вопрос по ардуино

У ардуино 3 типа памяти,
1-Flash память программ
2-EEPROM энергонезависимая память, для хранения настроек и прочего.
3-Оперативная память

При прошивке программа записывается в память программ и остается там до следующей прошивки.

Хм. питание на ардуино подается по Vin +она подключена к компу по юсб. Заливаем скетч, все работает + программа общается с ардуино по com-порту, мигает светодиод

Выключаем питание по Vin, выключаем юсб. Питания нет, ардуино выключено. Включаем все назад — светодиод не мигает, скетч не выполняется, в программе внизу куча красного текста, на ком-порту тишина.

Схема на макетной плате

Макетная плата удобна для временной сборки и отладки устройства. Она представляет собой пластину с отверстиями (с шагом 2,54 мм). Каждые 5 отверстий соединены в ряды проводящим слоем с клипсами (рельс), которые удерживают проводники и детали. Для ориентации на плате и удобства составления принципиальных схем каждый ряд и линия отверстий маркированы цифрами и буквами. На некоторых платах имеются шины питания, красным цветом выделен проводник для «+» и синим цветом для «-» напряжения. Макетную плату нельзя использовать для работы с опасным напряжением, в т. ч. 220 В.

Читайте так же:
Кто устанавливает счетчики тсж

Схема на макетной плате

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

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

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

Поверка вольтметра заключается в сравнении показаний вольтметра на ардуино с рабочим вольтметром (мультиметром). Если значения отличаются, нужно проверить напряжение на пинах Ардуино 5V и GND. Напряжение может слегка отличаться от 5 вольт. Например, 4,95 В. Тогда в формуле temp = (analogvalue * 5.0) / 1024.0 нужно значение 5 заменить на 4,95. И также необходимо проверить точное сопротивление резисторов R1 и R2 и в строчки float r1=100000.0 и float r2=10000.0 вписать свои значения. После такой поверки мы получим точный вольтметр на Ардуино. Данный прибор способен измерять напряжение до сотых вольт.
И напоследок хотел бы предостеречь вас. Использовать данный вольтметр для измерения 55 вольт не рекомендуется. Это максимальный предел. При незначительном скачке измеряемого напряжения микроконтроллер выйдет из строя. Необходимо дать некий запас для непредвиденных ситуаций. И ограничить диапазон измеряемого напряжения до 45 вольт.

Синтаксис

Arduino delay

Ардуино delay является самой простой командой и её чаще всего используют новички. По сути она является задержкой, которая приостанавливает работу программы, на указанное в скобках число миллисекунд. (В одной секунде 1000 миллисекунд.) Максимальное значение может быть 4294967295 мс, что примерно ровняется 50 суткам. Давайте рассмотрим простой пример, наглядно показывающий работу этой команды.

Читайте так же:
Можно ли ставить стабилизатор до счетчика

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

Пример delay с миганием светодиодом

Пример aрдуино delay

Пример схемы для иллюстрации работы функции delay.
Можно построить схему со светодиодом и резистором. Тогда у нас получится стандартный пример – мигание светодиодом. Для этого на пин, который мы обозначили как выходной, необходимо подключить светодиод плюсовым контактом. Свободную ногу светодиода через резистор приблизительно на 220 Ом (можно немного больше) подключаем на землю. Определить полярность можно, если посмотреть на его внутренности. Большая чашечка внутри соединена с минусом, а маленькая ножка с плюсом. Если ваш светодиод новый, то определить полярность можно по длине выводов: длинная ножка – плюс, короткая – минус.

Эксперимент 1

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

Необходимые комплектующие

  • 1 x семисегментный индикатор (общий катод);
  • 1 x Arduino MEGA 2560
  • 1 x макетная плата;
  • перемычки.

Схема соединений

В этой схеме выводы семисегментного индикатора подключены к контактам 2-9 платы Arduino, как показано в таблице ниже. Общие выводы (3 и 8) подключены к GND, а dp остается неподключенным, так как точка не используется в этом эксперименте.

Выводы семисегментного индикатораВыводы ArduinoЦвет провода
1(e)6оранжевый
2(d)5белый
3,8(COM)GND
c4желтый
5(dp)
6(b)3красный
7(a)2синий
9(f)7зеленовато-голубой
10(g)8зеленый

Схема подключения семисегментного индикатора к Arduino Схема подключения семисегментного индикатора к Arduino

ArduBloсk

Arduino: ТОП-3 графических сред программирования

Когда человек уже полностью освоил Scratch, но еще не дорос до Wiring, на котором программируются Arduino-совместимые платы, самое время посоветовать ему написанный на Java инструмент ArduBloсk. Особенно хорош он для тех, кто увлекается робототехникой.

В чем же разница? Дело в том, что Scratch не умеет прошивать Arduino, он лишь управляет его ПЛК через USB. Таким образом, Arduino не может работать сам по себе, ведь он зависит от компьютера.

По сути, ArduBloсk — это промежуточный этап между детской Scratch и вполне профессиональной, хоть и доступной Visuino, поскольку так же, как последняя, обладает возможностью перепрошивки Arduino-совместимых контроллеров.

Совет. Не забудьте установить на свой ПК Java-машину. Это не займет много времени.

Итак, больше графических сред — хороших и разных. Да пребудет с вами Arduino.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector