Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Это простое универсальное устройство, использующее несколько датчиков. Оно имеет
- Будильник, Секундомер, Таймер
- Показания температуры, влажности и теплового индекса
- Показания ультразвукового датчика расстояния
- Считывающее устройство и визуализатор с ИК-датчиком
- Музыкальная клавиатура
Он также портативный, со встроенным аккумулятором для питания всего.
Шаг 1. Электроника
Устройство включает в себя
- Maker UNO (плата, совместимая с Arduino UNO)
-
1,8-дюймовый ЖК-дисплей ST7735
(Шина SPI, CS на контакте 10, RST на контакте 7, DC на контакте 6)
-
12-клавишный емкостный сенсор касания Adafruit - MPR121
Автобус I2C
-
RTC_DS1307
Автобус I2C
-
Ультразвуковой датчик расстояния HC-SR04
(Триггер на контакте A0, эхо на контакте A1)
-
ИК-датчик (на контакте 5) и ИК-светодиод (на контакте 3)
Обычный светодиод, подключенный параллельно к ИК-светодиоду, для визуализации отправляемых кодов
-
Датчик температуры и влажности DHT11
(на выводе 4)
-
Зуммер (встроенный в Maker UNO) и разъем для наушников, подключенный к потенциометру (как делитель напряжения)
(оба на контакте 8)
-
Аккумулятор 1200 мАч (от телефона Samsung) и
Схема Power Bank (извлечена из запасного Power Bank)
Подключен последовательно переключателем (включается и выключается) к контактам 5V и GNC на Arduino
Я использовал перемычки, чтобы соединить компоненты вместе (с помощью щита для прототипирования DIY). Я также спаял схему Power Bank, батарею и переключатель вместе и добавил заголовки для подключения к контактам 5V и GND Arduino (для его питания). Иногда я припаивал провода непосредственно к компонентам (например, ИК-светодиоду и датчику) на Arduino.
Шаг 2: Дело
Корпус в основном состоит из МДФ.
В верхней части просверлены отверстия, чтобы освободить место для кнопки аркады и проводов. В боковой части также есть вырезы для разъема micro USB (для перепрограммирования Maker UNO внутри) и переключатель для включения или выключения встроенного зуммера в Maker UNO.
Тачпады вырезаны из куска алюминия (ножницами). Под каждой сенсорной панелью / формой размещается оголенная медная перемычка (подключенная к емкостному сенсорному датчику).
Лицевая сторона была бы просто закрыта куском прозрачного пластика (пластик для упаковки книг).
Весь корпус был бы заклеен горячим клеем.
Шаг 3: Программное обеспечение
Программное обеспечение имеет
- Будильник, Секундомер, Таймер
- Показания температуры, влажности и теплового индекса
- Показания ультразвукового датчика расстояния
- Считывание ИК-датчика и дистанционное управление
- Музыкальная клавиатура
Он использует следующие дополнительные библиотеки
- Adafruit GFX и ST7735
- Адафрут MPR121
- IRremote
- Библиотека датчиков DHT от Adafruit
- RTClib от Adafruit
-
NewTone (нельзя установить из диспетчера библиотек)
Используется вместо встроенной библиотеки тонов для предотвращения конфликта с библиотекой IRremote (что-то связанное с таймерами)
Все это закодировано в среде Arduino IDE. Код находится на Github Gists. (Он уже занимает около 89% памяти, поэтому добавить дополнительные функции невозможно)
Шаг 4: возможные недостатки
-
Встроенной батареи иногда может не хватать для питания ультразвукового датчика расстояния и часов реального времени.
- Батарею можно сделать больше или схему блока питания можно изменить, чтобы сделать ее более эффективной.
- Или вы можете просто запитать его от зарядного устройства на 5 В
-
У меня сейчас нет работающего ИК-светодиода, поэтому он пока не может работать как ИК-пульт.
- Это также означает, что код ИК-светодиода может не работать.
- На данный момент, даже если ИК-код дистанционного управления не работает, нормальный светодиод означает, что все еще полезно визуализировать отправленные ИК-коды дистанционного управления.
-
Код использовал около 89% внутренней памяти чипа ATMega328 в Arduino.
- Если код использует слишком много внутренней памяти, возникнут проблемы со стабильностью. Датчик DHT11 может неправильно считываться Arduino. Некоторые другие программы, такие как Музыкальная клавиатура, также могут быть затронуты.
- Можно изменить код, чтобы сделать его более компактным и эффективным.
- Мне пришлось удалить программу рассылки спама, которую я планировал включить, просто чтобы убедиться, что большинство других функций кода работают должным образом. (Со спам-игрой израсходовано около 95-96% памяти Arduino)
-
Корпус можно было бы сконструировать лучше (например, использовать столярный клей вместо горячего клея или сделать коробку получше с шарнирами пальцев и т. Д.)
- Это также может иногда приводить к снижению чувствительности сенсорных панелей. Алюминиевая контактная площадка не может быть припаяна к проводам, поэтому провода и контактные площадки могут не сильно контактировать (иногда). Однако это придирка, так как в большинстве случаев колодки работают правильно.
- Пэды могут быть слишком близко друг к другу, чтобы пользователь случайно нажал на другой пэд, но это еще одна придирка.
- Корпус можно было покрыть (фанерой или чем-то еще) или покрасить, чтобы он выглядел лучше.
В целом, этот проект был сделан, чтобы израсходовать некоторые из моих избыточных датчиков и микроконтроллеров. Учитывая, что я закончил это примерно за неделю (фактически за 9 дней), практически не планируя ничего, я вполне удовлетворен результатом.
Шаг 5: Сделайте его красивее
В общем, возьмите несколько деревянных обоев / покрытия / шпона и обрежьте их по размеру. Кроме того, сделайте вырезы для портов (Micro USB) и компонентов (например, датчика расстояния). В конце приклеиваем к дереву (я использовала суперклей).