Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Винный ящик с различными датчиками

    Винный ящик с различными датчиками

    Винный ящик с различными датчиками

    Цель этого проекта - установить и настроить в ящик для хранения вина различные датчики, температуры, влажности и освещенности. Бонусом устанавливается сервопривод для закрывания/открывания замка.

    Инструменты и материалы:
    -Raspberry Pi 4 Model B;
    -Серво мотор MG 996R;
    -Датчик DHT11;
    -Датчик DHT22;
    -Фоторезистор GL5537;
    -LCD - дисплей;
    -Электролитический конденсатор;
    -Потенциометр;
    -Тактильная кнопка;
    -Перемычки;
    -Резистор 10 кОм;
    -Резистор 470 Ом;
    -Винный ящик;
    -Макетная плата;

    Шаг первый: винный ящик
    Мастер использует стандартный деревянный ящик для хранения бутылок с вином. В ящике нужно сделать несколько отверстий, для дисплея и датчиков.


    Шаг второй: макетная плата
    Сначала мастер собирает схему на макетной плате. Подключение следующие.
    Макетная плата и GPIO
    Обе стороны макета должны быть подключены к заземлению GPIO (Gnd) каждой стороны.
    Одна сторона будет 3,3 В, а другая 5 В. Рекомендуется использовать внешний источник питания.
    DHT11:
    Сигнал -> GPIO (4)
    Vcc (+) -> Макетная плата (+) (сторона 5 В)
    Gnd (-) -> Макетная плата (-) (сторона 5 В)

    DHT22:
    Сигнал -> GPIO (26)
    Vcc (+) -> Макетная плата (+) (сторона 5 В) + резистор 10 кОм
    Gnd (-) -> Макетная плата (-) (сторона 5 В)

    LDR (фоторезистор) и конденсатор:
    LDR (-) + Конденсатор (+) -> GPIO (27)
    LDR (+) - Макетная плата (+) (сторона 5 В)
    Конденсатор (-) -> Макетная плата (-) (сторона 3,3 В)

    ЖК-дисплей и потенциометр:
    Vss -> Макетная плата (-) (сторона 5 В)
    Vcc -> потенциометр (+)
    V0 -> потенциометр (сигнал)
    RS -> GPIO (21)
    R / W -> Макетная плата (-) (сторона 5 В)
    E -> GPIO (20)
    DB0 -> GPIO (16)
    DB1 -> GPIO (12)
    DB2 -> GPIO (25)
    DB3 -> GPIO (24)
    DB4 -> GPIO (23)
    DB5 -> GPIO (26)
    DB6 -> GPIO (19)
    DB7 -> GPIO (13)
    Светодиод (+) -> потенциометр (+)
    Светодиод (-) -> потенциометр (-)
    Потенциометр (+) -> Макетная плата (+) (сторона 5 В)
    Потенциометр (-) -> Макетная плата (-) (сторона 5 В)

    Кнопка:
    Кнопка (+) -> GPIO (18)
    Кнопка (-) -> резистор 470 Ом -> Макетная плата (-) (сторона 3,3 В)

    Сервопривод:
    Сигнал -> GPIO (22)
    Сервопривод (+) -> Макетная плата (+) (сторона 5 В)
    Сервопривод (-) -> Макет (-) (сторона 5 В)
    Эскиз схемы можно скачать ниже.
    project_dominic_fritzingschema_bb_july.pdf

    Шаг второй: настройка базы данных/код
    Весь код можно скачать здесь.
    Теперь нужно сделать некоторые настройки и установить ПО.
    База данных MYSQL.
    Для базы данных нужно сделать новую таблицу и настроить ее следующим образом:
    Ставим галочки
    INT - PK-NN-AI
    FLOAT - NN

    Дальше нужно сделать рабочее пространство, в которое будут помещаться все файлы проекта:
    Создаем файл с именем config.py и подключаем его к базе данных mysql.
    Создаем каталог с именем репозитория.
    В каталоге репосториев создаем по одному файлу с именами Database.py и DataRepository.py.

    Database.py
    Нужно установить пакеты с помощью pip3 install mysql-connector-python.
    Менять в файле ничего не нужно.

    DataRepository.py
    Этот файл используется для хранения полученных данных от датчиков в базе данных.
    Операторы SELECT используются для выбора определенных данных от датчика x.
    Операторы INSERT используются для передачи данных от датчика x в базу данных.
    Код можно скачать здесь.

    app.py
    Создаем файл с именем app.py.
    Устанавливаем пакеты:
    pip3 установить flask-socketio
    pip3 установить flask-cors
    pip3 установить gevent
    pip3 установить vent-websocket
    Пакеты можно скачать ниже.
    app.py

    Flask используется для доступа к данным датчиков.
    app.py
    DataRepository.py

    Для считывания показания датчиков DHT11 и DHT22 используется библиотека Adafruit.


    Для настройки фоторезистора в коде есть функция read_sensor_light.
    С помощью функции sensor_light вставляем данные в базу данных.



    Для внешнего веб-сервера используются пакеты
    index.html
    style.css
    (normalize.css)
    Index.html
    Внутри index.html также будут ссылки на
    style.css для стилизации
    script.js для jаvascript
    Chart.js и библиотека chartJS для диаграмм
    Библиотека SocketIO

    Дальше прописываем:
    Получить данные из базы данных (getTempera)
    Заполнить данные с помощью функции (showTemperature)
    Заполнение динамических данных в наш index.html

    Теперь на веб-сервере будут отображаться данные с датчика.

    Для отображения диаграммы нужно сделать следующее.
    Убедится, что в index.html есть страницы для каждой диаграммы, каждая диаграмма имеет собственный класс.
    Дальше нужно получить данные из базы данных (getTemperatureData)
    Создать 2 пустых списка (showTemperatureData)
    Вставить данные в функцию рисования, чтобы создать диаграмму

    Шаг третий: управление сервоприводом и дисплеем
    Функция open_chest содержит код управления серводвигателем. При нажатии кнопки на веб-сайте серводвигатель временно разблокирует винный ящик.


    В проект мастер установил дисплей.
    Код находится в app.py


    После проверки схемы на макетной плате мастер устанавливает электронику в винный ящик. Подключает питание, проверяет работу сервопривода.

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    «Умная» охлаждающая подставка для ноутбука с рядом дополнительных функций

    Сундук с магической сферой для проведения спиритического сеанса

    0
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    0
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 0.0 из 10 (голосов: 0 / История оценок)

    Добавить комментарий

    1 комментарий
    Korolev

    Цель этого проекта - установить и настроить в ящик для хранения вина различные датчики, температуры, влажности и освещенности. 

    Любопытно, а все перечисленные параметры сильно отличаются от тех же параметров в помещении хранения, и какое смысловое значение они имеют, учитывая отсутствие влияния на эти параметры и тот факт, что вино уже закупорено в стеклянную тару? dontknow 

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии