Оглавление:

День недели, календарь, время, влажность / температура с функцией энергосбережения: 10 шагов (с изображениями)
День недели, календарь, время, влажность / температура с функцией энергосбережения: 10 шагов (с изображениями)

Видео: День недели, календарь, время, влажность / температура с функцией энергосбережения: 10 шагов (с изображениями)

Видео: День недели, календарь, время, влажность / температура с функцией энергосбережения: 10 шагов (с изображениями)
Видео: НАБРАЛ Секретный Код На Телефоне И ОФИГЕЛ!! БАТАРЕЯ НЕ САДИТСЯ! 2024, Май
Anonim
Image
Image
День недели, календарь, время, влажность / температура с функцией энергосбережения
День недели, календарь, время, влажность / температура с функцией энергосбережения

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

Я ранее опубликовал ЖК-дисплей с инструкциями, влажностью и температурой с режимом энергосбережения: минимальные детали, развлечения, быстрота и очень недорого, а в конце этого руководства я представил изображение дополнительной модификации. Эта модификация включала день недели, календарь и время, которые также отображались на том же дисплее. Я получил несколько сообщений с запросом информации об этом расширенном дисплее. Таким образом, я публикую эту инструкцию как модификацию и расширение более ранней.

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

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

Возникло дополнительное требование, поскольку моя супруга часто спрашивала у меня день недели и / или день месяца, поэтому я решил также включить их в отображение. Я сделал две копии показанного здесь проекта. Один для моего кабинета, а другой для комнаты в нашем доме, где часто бывает моя супруга. Я использовал как (1) часы реального времени (RTC), так и (2) датчик влажности и температуры.

И датчики влажности / температуры DHT11 и DHT22, которые я рассматривал, обеспечивают результаты измерения температуры в градусах Цельсия. К счастью, это простое преобразование в градусы Фаренгейта (формат, используемый в США, где я проживаю). На приведенном ниже эскизе представлен код, который можно легко изменить для отображения температуры в градусах Цельсия, если это используется там, где вы находитесь.

Я рассмотрел датчики DHT22 и DTH11 и остановился на DHT22, хотя и немного дороже. DHT11 часто можно купить менее чем за 2 доллара, в то время как DHT22 часто можно найти менее чем за 5 долларов. При покупке напрямую из Китая стоимость может быть еще меньше. Если бы я только хотел отображать температуру, я мог бы использовать датчик TMP36 вместо DHT22 и добиться некоторой экономии, и именно так я построил свой еще более ранний проект DIY. Однако я решил включить отображение относительной влажности среди других элементов, отображаемых в этом проекте.

DHT22 немного точнее DHT11. Так что немного более высокая стоимость DHT22 казалась разумной. Оба устройства DHT содержат емкостные датчики влажности. Эти датчики влажности широко используются в промышленных и коммерческих проектах. Хотя они не очень точны, они способны работать при относительно высоких температурах и обладают достаточной устойчивостью к химическим веществам в окружающей их среде. Они измеряют изменения в диэлектрике, вызванные относительной влажностью окружающей среды. К счастью, изменения емкости в основном линейны в зависимости от влажности. Относительную точность этих датчиков можно легко увидеть, поместив два из них рядом. Если это будет сделано, то будет видно, что для относительной влажности они различаются максимум на 1 или 2 процентных пункта.

Датчики DHT11 / 22 можно легко заменить друг на друга. В зависимости от ограничений по стоимости, если таковые имеются, можно выбрать любой датчик. Они оба поставляются в одинаковых 4-контактных корпусах, которые являются взаимозаменяемыми, и, как мы вскоре увидим, только 3 из 4-х контактов в любом корпусе будут необходимы для создания представленных здесь дисплеев влажности и температуры рабочего стола. Хотя для использования необходимы только три контакта, четыре контакта обеспечивают дополнительную стабильность, когда эти датчики DHT размещаются / устанавливаются на макетной плате.

Аналогичным образом я рассмотрел как часы реального времени DS1307, так и DS3231. Поскольку температура окружающей среды может влиять на DS1307, я остановился на DS3231. Хотя опционально можно и DS1307. В различных тестах, сравнивающих RTC по отношению к дрейфу (т. Е. Ошибочное время), DS3231 оказался более точным, но разница в использовании любого датчика не так уж велика.

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

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

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

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

Шаг 1. Необходимые предметы

Необходимые предметы
Необходимые предметы

Необходимые предметы:

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

- Макетная плата на 400 точек привязки

- ЖК-экран с кнопками

- Цифровой датчик температуры и влажности DHT22 (AOSONG AM2302).

- Часы реального времени, я выбрал DS3231 (однако DS1307 будет работать с кодом, приведенным здесь, просто убедитесь, что контакты GND, VCC, SDA и SCL подключены аналогично DS3231. DS1307 можно заменить на DS3231, просто убедившись, что соответствующие контакты на DS1307RTC совпадают с соответствующими гнездами на макетной плате, соединительные провода Dupont перемещать не нужно.) Основное различие между этими двумя RTC - их точность, поскольку На DS1307 может влиять температура окружающей среды, которая может изменять частоту его встроенного генератора. Оба RTC используют соединение I2C.

- Гнезда для пайки на ЖК-экране. Я использовал 5- и 6-контактные гнездовые разъемы (хотя, если вы выберете альтернативный экран, также показанный здесь, заголовки не понадобятся). Штыри вилки можно заменить на гнезда, и, если они используются, необходимо будет изменить только пол одной стороны некоторых соединительных проводов Dupont.

- провода подключения Dupont

- Arduino UNO R3 (вместо UNO можно использовать другие Arduino, но они должны быть способны выводить и обрабатывать 5 В)

- USB-кабель для загрузки вашего скетча с компьютера в UNO

Устройство, такое как «стенная бородавка» или аккумулятор для питания UNO после его программирования. У вас может быть много необходимых предметов на вашем верстаке, хотя, возможно, вам придется их купить. Если у вас есть первые несколько, можно начать, ожидая остальных. Все эти товары легко доступны в Интернете на таких сайтах, как Amazon.com, eBay.com, Banggood.com и многих других.

Шаг 2: Подготовка экспериментальной платформы

Подготовка экспериментальной платформы
Подготовка экспериментальной платформы
Подготовка экспериментальной платформы
Подготовка экспериментальной платформы
Подготовка экспериментальной платформы
Подготовка экспериментальной платформы

Экспериментальная платформа поставляется в виниловом пакете с листом оргстекла размером 120 x 83 мм и небольшом пластиковом пакете с 5 винтами, 5 пластиковыми стойками (распорками), 5 гайками и листом с четырьмя бамперами и самоклеящимися ножками. Потребуются все четыре бампера, а также по четыре других элемента. Есть дополнительный винт, упор и гайка, которые не требуются. Однако в пакете нет инструкций.

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

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

Шаг 3. Установка Arduino UNO или Clone на экспериментальную платформу

Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу
Установка Arduino UNO или Clone на экспериментальную платформу

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

Я обнаружил, что проще всего начать с отверстия, ближайшего к кнопке сброса (см. Фотографии), и двигаться по часовой стрелке вокруг Arduino. UNO крепится к плате, как и следовало ожидать, с помощью одного винта за раз.

Вам понадобится небольшая отвертка с крестообразным шлицем, чтобы закрутить винты. Я обнаружил, что гнездо для крепления гаек было весьма полезно, хотя и не обязательно. Я использовал драйверы, сделанные Wiha и доступные на Amazon [Wiha (261) PHO x 50 и Wiha (265) 4.0 x 60]. Однако любая небольшая отвертка с крестообразным шлицем должна работать без проблем, и, как отмечалось ранее, гаечный ключ на самом деле не требуется (хотя он делает монтаж быстрее, проще и безопаснее).

Шаг 4: Установка макета половинного размера, 400 соединительных точек, на экспериментальную платформу

Монтаж макета половинного размера, 400 соединительных точек, на экспериментальную платформу
Монтаж макета половинного размера, 400 соединительных точек, на экспериментальную платформу
Монтаж макета половинного размера, 400 соединительных точек, на экспериментальную платформу
Монтаж макета половинного размера, 400 соединительных точек, на экспериментальную платформу
Монтаж макета половинного размера, 400 соединительных точек, на экспериментальную платформу
Монтаж макета половинного размера, 400 соединительных точек, на экспериментальную платформу

Нижняя сторона макета половинного размера покрыта бумагой, прижатой к клейкой основе. Удалите эту бумагу и прижмите макет с уже открытой клейкой основой к экспериментальной платформе. Вы должны попытаться разместить одну сторону макета параллельно той стороне Arduino, к которой она ближе всего. Просто прижмите самоклеящуюся сторону макета к акриловой плате.

Затем переверните платформу и установите четыре прилагаемые пластиковые ножки на четырех углах нижней стороны платформы.

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

Шаг 5: ЖК-экран

ЖК-экран
ЖК-экран
ЖК-экран
ЖК-экран
ЖК-экран
ЖК-экран

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

Если вы используете экран, такой как тот, который я использую здесь, без уже припаянных контактов. Отложите разъемы-мама с 5 и 6 гнездами соответственно, чтобы припаять к экрану. Гнезда этих разъемов должны находиться на стороне компонентов экрана при их пайке (см. Фотографии). После того, как разъемы припаяны на место, вы можете действовать аналогично тому, как это делается для экрана, купленного с уже припаянными контактами. Я решил использовать кабели M-M Dupont, а не кабели M-F, так как я обычно предпочитаю кабели M-M. Тем не менее, вы можете использовать контакты на экране ЖК-дисплея, а не гнездовые разъемы, и в этом случае вам нужно изменить пол только на одной стороне соединительных кабелей Dupont.

Какой бы щит вы ни выбрали для начала, когда вы закончите, у вас должен быть щит, установленный поверх Arduino UNO. Либо щит, тот, который с предварительно припаянными контактами, либо тот, который вы припаяли сами с женскими разъемами (или мужские разъемы, если хотите), использует довольно много цифровых контактов. Цифровые выводы с D0 по D3 и с D11 по D13 не используются экраном, но не будут использоваться здесь. Аналоговый разъем A0 используется щитом для хранения результатов нажатия кнопок. Таким образом, аналоговые выводы с A1 по A5 можно использовать бесплатно. В этом проекте, чтобы не загораживать ЖК-дисплей, я использовал только аналоговые разъемы и не использовал никаких цифровых входов.

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

Цифровой контакт 10 используется для подсветки ЖК-дисплея, и мы будем использовать его в нашем эскизе для управления питанием ЖК-дисплея, когда дисплей не используется. В частности, мы будем использовать кнопку «ВЛЕВО» на экране, чтобы включать и выключать подсветку для экономии энергии, когда дисплей не нужен.

Шаг 6: Использование датчика влажности и температуры DHT22

Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22
Использование датчика влажности и температуры DHT22

Вставьте четыре контакта DHT22 в макет половинного размера, тем самым закрепив датчик на макетной плате.

Я пронумеровал контакты DHT22 с 1 по 4, как показано на прилагаемой фотографии. Питание на датчик подается через контакты 1 и 4. В частности, контакт 1 обеспечивает питание +5 В, а контакт 4 используется для заземления. Контакт 3 не используется, а контакт 2 используется для предоставления информации, необходимой для нашего дисплея.

Подключите три контакта, которые используются на DHT22, используя соответствующие разъемы на макетной плате, для подключения к экрану и, таким образом, к Arduino UNO следующим образом:

1) Контакт 1 датчика идет к розетке питания 5В экрана, 2) Контакт 4 датчика идет на один из разъемов GND экрана, 3) Контакт 2 датчика, контакт вывода данных, подключается к аналоговому разъему A1 (сравните его с моим предыдущим Instructable, где он подключался к цифровому разъему 2 на щите). Я использовал аналоговый разъем, а не цифровой, чтобы не загораживать ЖК-экран. Полезно помнить, что все аналоговые выводы также могут использоваться как цифровые выводы. Хотя здесь A0 зарезервирован для кнопок щита.

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

Шаг 7: Добавление часов реального времени (RTC)

Добавление часов реального времени (RTC)
Добавление часов реального времени (RTC)
Добавление часов реального времени (RTC)
Добавление часов реального времени (RTC)
Добавление часов реального времени (RTC)
Добавление часов реального времени (RTC)

Я использовал шестиконтактную сторону DS3231, хотя нужно всего четыре контакта. Это должно было обеспечить еще большую стабильность этого RTC при подключении к макетной плате. На прилагаемом рисунке показана батарея CR2032, которую необходимо подключить к DS3231 RTC, чтобы он мог сохранять информацию даже при отключении от другого источника питания. И DS1307, и DS3231 используют батарейку CR2031 одного и того же типа.

Подключения для DS3231 следующие:

- GND на DS3231 к GND на ЖК-экране

- VCC на DS3231 до 5В на ЖК-экране

- SDA на DS3231 до A4 на ЖК-экране

- SCL на DS3231 до A5 на ЖК-экране

Когда вы закончите, у вас будут подключены кабели Dupont A1 (для DHT22) и A4 и A5 для контактов SDA и SCL RTC.

Я также включил изображение дополнительного DS1307, показывающее контакты, которые необходимо подключить. Хотя это не видно по фотографии, маленькая ИС, ближайшая к распаянным «дыркам», - это DS1307Z, то есть часы реального времени. Другая небольшая ИС, которую можно увидеть, - это EEPROM, которую можно использовать для хранения; он не используется в приведенном ниже эскизе.

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

Шаг 8: набросок

Этот сайт удаляет меньше и больше символов и текст между этими символами. Таким образом, я не уставал включать сюда набросок в текст. Чтобы увидеть эскиз в том виде, в каком он написан, загрузите прикрепленный текстовый файл. Секунды не показаны на эскизе, но отправляются в скрытые буферы на ЖК-дисплее 1602 сразу за буферами дисплея. Таким образом, если вы хотите отобразить секунды, просто непрерывно прокручивайте экран влево, а затем вправо.

В эскиз я включил файл заголовка для DS3231 и определяю объект типа DS3231. Этот объект используется в эскизе для периодического получения необходимой информации о дне недели, месяце, дне и времени. Эта информация о дне недели, месяце и дне месяца присваивается символьным переменным, а затем результаты, хранящиеся в этих переменных, печатаются на ЖК-дисплее. Время распечатывается полностью, но секундная часть времени, как обсуждалось ранее, отправляется в 24-символьные буферы без отображения на ЖК-дисплее 1602 сразу после отображаемых символов. Как отмечалось выше, отображаются только часы и минуты, а секунды скрыты в начале этих 24 символьных буферов.

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

На скетче вы увидите линию:

RTC.adjust (DateTime (2016, 07, 31, 19, 20, 00));

Это использует объект типа RTC_DS1307 и позволяет нам легко установить текущую дату и время. Пожалуйста, введите соответствующую дату и время в этой строке при запуске скетча. Я обнаружил, что ввод на минуту позже текущего времени, показанного на моем компьютере, приводит к довольно близкому приближению к фактическому времени (IDE требуется немного времени для обработки эскиза и около 10 секунд дополнительных для запуска эскиза).

Шаг 9: Отображение собранного проекта

Отображение собранного проекта
Отображение собранного проекта

Собранный проект я закрепил на визитке (см. Фото). Визитница была в моей коллекции «всякие всячины». Поскольку у меня много таких держателей, я использовал один здесь. Однако собранный проект можно так же легко отобразить на держателе мобильного телефона и т. Д. Любой держатель, который переводит собранный проект из плоского положения под углом 30-60 градусов, также должен работать.

Шаг 10: После

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

Если вы нашли это Руководство ценным, и особенно если у вас есть какие-либо предложения по улучшению или расширению моих знаний в этой области, я был бы рад услышать от вас. Вы можете связаться со мной по адресу [email protected]. (пожалуйста, замените второй «i» на «e», чтобы связаться со мной.

Рекомендуемые: