Оглавление:

Консольный кулер: 11 ступеней
Консольный кулер: 11 ступеней

Видео: Консольный кулер: 11 ступеней

Видео: Консольный кулер: 11 ступеней
Видео: Как работает центробежный насос? Основные типы конструкций центробежных насосов 2024, Июль
Anonim
Консольный охладитель
Консольный охладитель

У вас есть старая консоль?

Боитесь, что ваша консоль может перегреться летом?

Тогда этот проект для вас!

Меня зовут Тибо Делеу, я учусь на факультете мультимедийных и коммуникационных технологий в Howest Kortrijk.

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

Этот проект для людей, у которых старая консоль довольно быстро нагревается, особенно летом. Вы также сможете увидеть статус консоли на (самодельном) сайте.

Шаг 1. Основные компоненты (датчики и ЖК-дисплей)

Основные компоненты (датчики и ЖК-дисплей)
Основные компоненты (датчики и ЖК-дисплей)
Основные компоненты (датчики и ЖК-дисплей)
Основные компоненты (датчики и ЖК-дисплей)
Основные компоненты (датчики и ЖК-дисплей)
Основные компоненты (датчики и ЖК-дисплей)

Что именно нам нужно для сборки этого устройства?

Начнем с обзора основных компонентов:

  • LDR резистор
  • Датчик температуры ML35
  • Jtron DC 5V 0.23a 3 Вентилятор охлаждения 5 см.
  • Датчик движения PIR
  • Ультразвуковой датчик

Что касается вопроса о начале этого шага, я размещу 2 изображения Excel со всеми необходимыми вам компонентами. Но я расскажу о наиболее важных частях в следующих шагах, чтобы было легче понять.

Прежде всего, нам нужен основной компонент, чтобы эта работа работала, и это Raspberry Pi с картой micro SD объемом не менее 16 ГБ. Без него ничего не работает.

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

  • Резистор LDR
  • Датчик температуры LM35

Что касается самого вентилятора, я использую охлаждающий вентилятор Jtron DC 5V 0.23a 3 5 cm.

В этом проекте есть некоторые дополнительные компоненты, потому что было интересно добавить их в проект (лично для меня).

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

Наконец-то у нас есть ЖК-дисплей для отображения IP-адресов сайта. Этот сайт будет показывать значения датчиков, и вы сможете управлять вентилятором с этого сайта.

Шаг 2: Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)

Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)
Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)
Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)
Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)
Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)
Элементы, обеспечивающие работу схемы (транзисторы, резисторы и т. Д.)

Следующие транзисторы / резисторы были использованы для выполнения этого проекта.

Транзисторы:

Транзистор NPN: PN2222 (требуется 1)

Резисторы:

  • 10 кОм (требуется 3)
  • 1 кОм (требуется 2)
  • 2 кОм (требуется 2)

Источник питания:

Модуль питания макетной платы 3В / 5В (необходим 1)

Кабели:

  • мужчина / мужчина (минимум 30-40)
  • кабели типа мама / папа (около 10-20 для ЖК-дисплея, LDR и вентилятора)
  • кабели типа "мама" / "мама" (около 10-20, если вы хотите удлинить некоторые кабели для корпуса).

Другой:

  • 1 потенциометр (для регулировки света на ЖК-дисплее)
  • 1 MCP3008 (для преобразования аналогового значения LDR в цифровое значение)
  • 2 макета для размещения всего.

Шаг 3: Схема подключения с пояснениями

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

Шаг 4: Дело: компоненты

Дело: Компоненты
Дело: Компоненты
Дело: Компоненты
Дело: Компоненты
Дело: Компоненты
Дело: Компоненты

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

По этой причине необходим чехол.

Для создания этого кейса нам потребуются следующие компоненты:

Древесина:

  • Одна большая ДВП (толщиной 1,2 см), на которую можно вырезать следующие части:

    • 2 шт. По 14 см по 20 см (перед / зад)
    • 2 штуки 45 см по 12 см (стороны корпуса)
    • 2 шт. 20см по 45см (верх / низ корпуса)
    • 2 штанги (для использования в качестве ножек кейса)

Петли:

  • 2 петли для открытия передней части (петли внизу спереди)
  • 2 петли для открывания верха

Ручка:

1 ручка (для открытия передней части)

Клей:

1 большой тюбик клея TEC (чтобы склеить части)

Пила:

Атлантическая пила (для вырезания необходимых отверстий в деталях для датчиков, LDR и вентилятора)

Шлифовальный:

Black & Decker для сглаживания деталей после резки

Дрель:

1 сверло с саморезом диаметром 0,6 см (для просверливания отверстий)

Краска / Грунтовка:

  • 1 банка белой грунтовки Levis (0,25 л)
  • 1 банка белой краски Levis (0,25 л)

Магниты:

2 магнита (которые будут удерживать дверцу корпуса)

Кисти:

  • 1 валик (для покраски больших поверхностей)
  • 1 кисть (для деталей)

Винты:

  • 8 маленьких шурупов для петель (макс. Длина 1,1 см, так как толщина пластины 1,2 см)
  • 2 маленьких винта для ручки (макс. Длина 1,1 см)
  • 4 маленьких винта для магнитов (макс. Длина 1,1 см)

Шаг 5: Дело: создание

Дело: Сотворение
Дело: Сотворение
Дело: Сотворение
Дело: Сотворение
Дело: Сотворение
Дело: Сотворение

Пришло время изложить аргументы.

  1. Для верхней части корпуса. Разрежьте пластину пополам, потому что заднюю половину нужно открыть, чтобы мы могли добраться до датчиков / электроники.
  2. Вырежьте следующие отверстия в кусках ДВП - на верхней передней половинке. Вырежьте 3 отверстия: - 1 прямоугольное отверстие (6,8 см на 3,5 см для ЖК-дисплея) - 1 круглое отверстие (диаметром 2,5 см для вентилятора) - 1 квадратное отверстие (2,5 см на 2,5 см для датчика движения PIR)
  3. Вырежьте в спине отверстие в виде круга. Здесь проходят силовые кабели.
  4. Просверлите дрелью небольшие отверстия с помощью винта диаметром 0,6 см на задней стороне (вокруг отверстия для кабелей) и на левой стороне корпуса. Делаем это так, чтобы в корпусе было достаточно циркуляции воздуха.
  5. На правой стороне корпуса. Вырежьте отверстие сзади (5,5 см на 3,5 см) для ультразвукового датчика (чтобы он мог работать правильно).
  6. Склейте все детали клеем TEQ. При необходимости можно добавить бруски ДВП для усиления боковых сторон корпуса. Поместите эти слитки внутрь ящика.
  7. Прикрутите ручку к передней части корпуса. Прикрутите его к верхней части передней части (НЕ на верхней части, где мы сделали 3 отверстия => см. Изображения для пояснения, если необходимо).
  8. Прикрутите 2 петли (4 винта) с правой стороны (сзади) корпуса так, чтобы можно было открыть верхнюю заднюю половину.
  9. Прикрутите 2 петли (4 винта) к нижней части передней части, чтобы можно было открыть переднюю часть корпуса.
  10. Прикрутите магниты к внутренней части корпуса: - 2 магнита перед верхней передней частью внутри

    - 1 металлическая деталь сверху передней части, чтобы она соединялась с магнитами

  11. Приклейте планки ДВП к нижней части корпуса, чтобы передняя часть легко открывалась ручкой.
  12. Добавьте грунтовку в корпус
  13. Добавьте белую краску в корпус
  14. Поздравляю! Ваше дело сделано!

Шаг 6: Размещение компонентов в корпусе

Размещение компонентов в корпусе
Размещение компонентов в корпусе

Для размещения компонентов в корпусе необходимо следующее:

  1. ЖК-дисплей и вентилятор будут прикручены к корпусу СНАРУЖИ.
  2. Датчик движения PIR будет приклеен к верхней части корпуса ВНУТРИ.

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

Макетные платы (с большей частью электроники на них) будут приклеены внутрь корпуса и размещены сзади. Обратите внимание, что ультразвуковой датчик де Ультра виден через отверстие с правой стороны.

Raspberry Pi разместится в передней части корпуса. Поскольку Pi - это консоль, которую нужно охлаждать, ее не нужно приклеивать / привинчивать (поскольку мы бы не сделали этого с настоящей консолью).

Шаг 7: Настройка Raspberry

Настройка Raspberry
Настройка Raspberry

Прежде чем мы начнем кодировать, нам нужно настроить правильную среду.

Как мы это делаем? Загрузив образ raspbian buster для raspberry pi и записав его на raspberry с помощью образа диска Win 32. Перед тем, как начать запись образа на Pi, обязательно создайте в образе SSH-файл (без расширения), чтобы включить SSH на Raspberry Pi.

Настройка на пи

После того, как вы это сделаете, вы можете использовать putty для входа в свой raspberry, чтобы вы могли правильно его настроить. Имейте в виду, что вам нужно подключить Pi к компьютеру с помощью кабеля Ethernet.

Пользователь и пароль по умолчанию для Pi следующие:

пользователь: пи

пароль: малина

Вы можете изменить это с помощью raspi-config.

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

  1. sudo iw dev сканирование wlan0 | grep SSID
  2. wpa_passphrase "НАЗВАНИЕ СЕТИ"

    Введите пароль вашей сети

  3. sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  4. перезагрузка sudo
  5. ifconfig (чтобы проверить работу вашего Wi-Fi)

Вам нужно будет убедиться, что ваш Pi обновлен, используя следующие команды, пока Pi подключен к Интернету:

  • sudo apt-get update
  • sudo apt-get upgrade

После этого вы можете включить или установить пакеты для работы проекта с помощью raspi-config или команд. Поскольку мы говорим о raspi-config, мы можем включить здесь однопроводное соединение, чтобы Raspberry мог читать однопроводный датчик. Перейдите к параметрам сопряжения, выберите один провод и нажмите включить. Вам также необходимо установить SocketIO с помощью:

pip install flask-socketio

Теперь, когда у нас есть Интернет, нам нужно создать нашу базу данных. Но сначала нам нужно загрузить MariaDB (на Pi) и Mysql Workbench (на ПК), чтобы мы могли работать с MariaDB.

Шаг 8: Настройка ПК

Настроить ПК
Настроить ПК
Настроить ПК
Настроить ПК
Настроить ПК
Настроить ПК

Mysql Workbench

После того, как все установлено, мы можем получить доступ к MariaDB через Mysql Workbench на нашем компьютере.

Когда мы создаем новую базу данных, нам необходимо настроить эту базу данных, как на изображении выше (с именем соединения «raspi»). Пока мы настраиваем эту базу данных, нам нужны имя пользователя / пароль как для базы данных, так и для raspberry. пользователь и пароль по умолчанию: mysql / mysql в базе данных и pi / rapsberry на Pi. Если есть предупреждение о соединении, вы можете просто нажать «Все равно продолжить».

Код Visual Studio

Другое программное обеспечение, которое нам нужно, - это Visual Studio Code.

После установки вам необходимо установить следующее расширение.

Это расширение позволяет вам писать свои пи-программы на вашем компьютере. Когда он будет установлен, сделайте следующее:

  1. Нажмите F1 и введите SSH
  2. Выберите удаленный доступ: добавьте новый SSH-хост
  3. Введите следующие данные

    ssh 169.254.10.1 -A

  4. Нажмите Ввод

После этого вы будете подключены к своему raspberry pi.

Последнее, что нам нужно, это установить расширение python на удаленный компьютер. Без этого мы не сможем запускать программы, которые пишем на нашем компьютере.

Шаг 9: давайте начнем кодирование

Пусть кодирование начнется
Пусть кодирование начнется

Теперь, когда оборудование готово, пора приступить к программному обеспечению.

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

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

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

для создания модели / форвард-инженера выполните следующие действия:

  • Для создания модели нажмите файл (слева вверху)
  • Нажмите новую модель
  • Для получения дополнительной информации нажмите следующую ссылку
  • Для перспективного проектирования пресс-модель
  • Пресс-форвард инженер
  • Нажмите да / продолжить до конца процесса.

2. Серверная часть

Бэкенд будет местом, где будет кодироваться все устройства и датчики. Он будет разделен между вспомогательными классами, которые будут содержать код для компонентов, и основным кодом (app.py), где все будет собрано вместе.

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

3. Передняя часть

Передняя часть предназначена для сайта. Эта папка будет содержать код HTML / CSS / JAVA. Сайт должен быть доступен через IP-адрес вашего Rapsberry Pi. Итак, если ваш пи имеет следующий IP-адрес: 192.168.0.120, вы можете посещать свой сайт через этот IP-адрес. Если вы хотите узнать IP-адрес своего пи, вы можете ввести «ip a» в putty и посмотреть на адрес WLAN0.

Шаг 10: бэкэнд

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

Для этого необходимо выполнить следующие шаги:

  1. Создавайте запросы mysql для получения / обновления / вставки данных в вашу базу данных. Эти запросы содержатся в файле Datarepository.py. Файл database.py - это файл, который будет взаимодействовать с базой данных и будет использовать запросы из datarepository.py для получения нужных данных. Чтобы убедиться, что вы можете подключиться к своей базе данных, убедитесь, что файл конфигурации имеет тот же пароль / пользователя, что и ваша база данных. Также убедитесь, что выбрана правильная база данных.
  2. Как только мы сможем взаимодействовать с базой данных, нам нужно создать маршрут (app.route (endpoint…)). Этот маршрут представляет собой соединение между передней и задней частью. Еще одно соединение, которое можно использовать, - Socketio.
  3. Обязательно импортируйте все правильные библиотеки (в app.py), чтобы этот проект заработал. Вы можете увидеть мой github, если хотите знать, какие библиотеки я использовал для app.py.

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

Шаг 11: интерфейс

Внешний интерфейс
Внешний интерфейс
Внешний интерфейс
Внешний интерфейс
Внешний интерфейс
Внешний интерфейс

В передней части есть

3 HTML-страницы:

  • home.html
  • light.html
  • temperature.html

3 файла css:

  • screen.css (это файл, предоставленный мне моей школой).
  • normalize.css (который помогает реализовать css в разных браузерах.)
  • main.css (содержащий основной css для html-страниц.)

2 файла javascript:

  • app.js (который будет брать данные из серверной части и помещать их в интерфейсную часть).
  • datahandler.js (который будет обрабатывать данные из серверной части, чтобы app.js мог работать с ними.)

Я тоже добавлю сюда ссылку на свой гитхаб, на всякий случай.

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