Оглавление:

Минималистичный индикатор велосипеда, с сенсорным управлением !: 10 шагов (с изображениями)
Минималистичный индикатор велосипеда, с сенсорным управлением !: 10 шагов (с изображениями)

Видео: Минималистичный индикатор велосипеда, с сенсорным управлением !: 10 шагов (с изображениями)

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

Всем привет! Это моя первая инструкция. Я всегда хотел делать что-то с нуля, просто чтобы посмотреть, как это работает, и кому не нравятся вещи DIY (сделай сам), когда можно что-то изменить в соответствии со своими потребностями, верно? Как бы интересно это ни звучало, это требует некоторых усилий, чтобы это произошло. Просмотр веб-сайта Instructables - отличный способ начать свои идеи DIY, и именно так я начал создавать некоторые из своих проектов ранее, но никогда не думал, что буду делать один.

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

Почему индикатор велосипеда?

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

Сделать проект без каких-либо проблем не получится! Но я расскажу вам все ошибки, которые я сделал при создании этого, в качестве «Полезного совета», чтобы вы не пытались их делать. Видео на YouTube содержит иллюстрацию того, как построен проект, небольшие анимации, чтобы передать, как все работает, и как индикатор выглядит на дороге! Наиболее подробная информация представлена в этом Руководстве. По мере того, как вы будете продолжать, я буду отмечать сегменты своего видео на YouTube как «Временная шкала:» на каждом этапе, чтобы вы могли увидеть, как все работает на практике. Вы можете получить дополнительную информацию, щелкнув выделенные ссылки.

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

  • Индикация правого поворота
  • Индикация левого поворота
  • Индикация ночного видения
  • Сенсорное управление

Шаг 1. Материалы для начала работы

Компоненты тестирования
Компоненты тестирования
  • Резисторы (330 Ом и 120 Ом): 330 Ом и 120 Ом
  • Raspberry Pi 3: RPi 3
  • Макетная плата: Макетная плата
  • Провода перемычки (мужчина-мужчина, мужчина-женщина, женщина-женщина): перемычки
  • Многопроволочные провода: Многопроволочные провода
  • Емкостной сенсорный датчик (TTP223) - (2): Ссылка
  • Светодиоды RGB (тип с общим катодом) - (13): светодиоды RGB с общим катодом
  • Нормальные светодиоды - (2): светодиод
  • Материалы для пайки: набор для пайки
  • Перфорированные платы: Perf Board
  • Powerbank: Powerbank
  • Электролитический конденсатор 1 мкФ: электролитический конденсатор
  • LDR (светозависимый резистор): LDR
  • Кабельные стяжки: Кабельные стяжки
  • Кабельный консилер: Cable Concealer
  • Акриловая краска и кисти (необязательно): краска и кисти
  • Два ящика для хранения для сборки. (1 большой и 1 средний)

Всегда сохраняйте дополнительное количество, указанное выше. Я связал компоненты на Amazon и несколько лучших комплектов для пайки!

Хронология: сбор материалов

Шаг 2: Тестирование компонентов

Компоненты тестирования
Компоненты тестирования
Компоненты тестирования
Компоненты тестирования
Компоненты тестирования
Компоненты тестирования

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

Тест на тип светодиода RGB

Мы находим на рынке два типа светодиодов RGB. Обычный тип катода и общий тип анода.

Это удобный совет (хотя и более крупный), потому что я подключил светодиоды, как видно из этого видео, и светодиод не загорелся, как ожидалось, даже после нескольких перекрестных проверок схемы. Затем я понял, что есть два типа этого светодиода, и, просмотрев техническое описание, я наконец нашел решение! Проблема с моей схемой заключалась в том, что общий катодный вывод был подключен к 3,3 В, как упоминалось, и я оставил вывод GPIO на ВЫСОКОЕ, чтобы и общий вывод катода, и другие 3 контакта были под одинаковым потенциалом.

Решение: я подключил общий катодный контакт к земле, и светодиод загорелся! Причина, по которой я не изменил свой код, чтобы поддерживать контакты GPIO в НИЗКОМ состоянии, потому что мы будем использовать больше светодиодов позже, а RPi дает нам только два контакта на 3,3 В, которые нам нужны и для других целей!

Как проверить на тип?

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

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

Временная шкала: тестовый RGB

Ссылка: Как проверить RGB

Загорается светодиод RGB

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

КРАСНЫЙ: контакт 11 (резистор 330 Ом)

ЗЕЛЕНЫЙ: контакт 13 (резистор 120 Ом)

СИНИЙ: контакт 15 (резистор 120 Ом)

Значения резистора меняются из-за изменения прямого напряжения на выводах.

После того, как вы их правильно подключили, закодируйте RPi во встроенной среде IDE python.

импортировать RPi. GPIO как GPIO

# Номера выводов соответствуют точному номеру на RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 # Подключите вывод общего катода к выводу 6 def TurnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) # GPIO.output (pin, GPIO. LOW) для общего типа анода def turnOff (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. LOW) # GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) try: while True: cmd = input ("Введите команду:") if cmd == "красный включен ": # введите команды ввода, как указано точно внутри" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "blue on": blueOn () elif cmd == "blue off": blueOff () else: print ("Недопустимая команда"), кроме KeyboardInterrupt: GPIO.cleanup ()

Я сослался на эту инструкцию, ознакомьтесь с подробным описанием и кодом!

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

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

Хронология: заставьте их светиться!

Тестирование сенсорной панели

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

Код:

импортировать RPi. GPIO как GPIO

from time import sleep GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) # Мы можем объединить оба приведенные выше операторы вместе как # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) try: while True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 touched") sleep (2) elif (GPIO.input (touchpad2) == True): print («Сенсорная панель 2 коснулась») sleep (2) else: print («Not Touched») except KeyboardInterrupt: GPIO.cleanup () # CTRL-C для выхода

Тестирование светодиода

Обратитесь к этому замечательному руководству для тестирования вашего светодиода!

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

Шаг 3: Пайка индикаторной панели

Пайка индикаторной панели
Пайка индикаторной панели
Пайка индикаторной панели
Пайка индикаторной панели
Пайка индикаторной панели
Пайка индикаторной панели

Если вы новичок в пайке, ознакомьтесь с этим руководством, чтобы узнать некоторые основы пайки здесь (Как паять). Если вы профессионал в пайке, приступим!

Панель индикаторов

Вы можете найти иллюстрацию того, как паять их на монтажной плате, на изображениях выше.

Мы используем 13 светодиодов RGB для панели. Разделите их на три части: левую, правую и центральную, чтобы припаять соответственно.

Важно: расстояние между светодиодами

Я оставил между светодиодами 3 ряда. Как показано на втором рисунке. Это важно для того, чтобы светодиодная панель хорошо выглядела и чувствовала себя комфортно. Мы не хотим, чтобы светодиоды находились слишком далеко, чтобы увеличить пространство, или слишком близко, чтобы не различать свет издалека.

Полезный совет: начните с пайки всех общих катодных выводов.

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

Правая часть: (5 светодиодов)

  • Соедините все красные контакты вместе
  • Соедините все зеленые контакты вместе
  • Соедините все общие катодные выводы вместе

Левая часть: (5 светодиодов)

  • Соедините все красные контакты вместе
  • Соедините все зеленые контакты вместе
  • Соедините все общие катодные выводы вместе

Центральная секция: (3 светодиода)

Полезный совет: этот раздел требует особой осторожности. Не спаяйте все контакты вместе, как мы делали в двух предыдущих разделах!

  • Соедините все красные контакты вместе
  • Подключите только верхний и нижний светодиоды, зеленый контакт.
  • Соедините все общие катодные выводы вместе

Провода

Нам нужны более длинные провода для подключения панели к плате GPIO.

Полезный совет:

  • Используйте одножильные провода! Они достаточно прочные, чтобы выдерживать механические нагрузки!
  • Провода должны быть немного длиннее, чем фактическая длина, необходимая между панелью и RPi (это очень удобно при последующем подключении проводов! (Временная шкала: измерения)
  • Изолируйте после пайки! Очень важно

Для пайки используйте проволочную перемычку и одножильный провод. Один конец перемычки должен быть гнездовым разъемом. Припаяйте их, как показано здесь (временная шкала).

Цветовой код проводов: красный, зеленый и черный. что соответствует красному контакту, зеленому контакту и общему катодному контакту соответственно.

Нам потребуется 3 черных провода, 3 красных и 3 зеленых.

Как только провода готовы. Припаяйте провода к светодиодным индикаторам.

Полезные советы:

  • Убедитесь, что светодиоды припаяны в соответствии с указанными соединениями.
  • Убедитесь, что вы припаяли резисторы правильного номинала. Если значения изменить, это повлияет на яркость светодиодов.
  • Один из способов убедиться, что все ваши светодиоды работают, - использовать мультиметр, указанный на шаге 2. Это очень удобно, так как вы будете знать, если есть какое-либо короткое замыкание, светодиоды не загорятся.
  • Не зачищайте концы проводов длиннее, чем требуется. Их будет сложно удерживать на месте, а также повышается риск короткого замыкания.
  • Для соединения светодиодов используйте многожильный провод.
  • Для подключения секций к RPi используйте одножильный провод.

Шаг 4: проверьте панель индикаторов

Проверьте панель индикаторов
Проверьте панель индикаторов
Проверьте панель индикаторов
Проверьте панель индикаторов
Проверьте панель индикаторов
Проверьте панель индикаторов

Престижность! Если вы правильно припаяли панель. Теперь приступим к написанию индикатора!

Как упоминалось ранее, мы укажем правый поворот, левый поворот и включим / выключим ночной прицел.

См. Подключение схемы на шаге 3.

Подключите провода панели, как указано ниже:

  • Красный правый - контакт 7
  • Зеленый правый - вывод 11
  • Общий катод правый - контакт 6 (GND)
  • Красный слева - вывод 13
  • Зеленый слева - контакт 15
  • Общий катод слева - контакт 9 (GND)
  • Центральный красный - контакт 16
  • Центральный зеленый (вверху и внизу) - вывод 18
  • Центральный общий катод - контакт 14 (GND)

Код теста:

импортировать RPi. GPIO как GPIO

из времени импорт сна # Подключение в соответствии с номерами контактов ниже Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode (GPIO. BOARD) def right_turn (): print ("Поворачивая вправо") мигает (Green_right, Green_top_bottom, 0) def left_turn (): print ("Поворот влево") blink (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) для x в диапазоне (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) sleep (0.5) иначе: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) для x в диапазоне (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) sleep (0.5) def night_sight (): print ("Night Sight ON") blink (Red_left, Red_right, Red_center) try: while True: cmd = input (" Тестовый светодиод для: ") if cmd ==" поворот направо ": right_turn () elif cmd ==" поворот налево ": left_turn () elif cmd ==" ночной прицел ": night_sight () else: print (" Недействительная команда ") кроме Кэ yboardInterrupt: GPIO.cleanup ()

Если ваша панель очищает все этапы тестирования, как в коде, хорошо! Будьте готовы к следующему шагу

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

Хронология: Test ONE (рабочий прототип смотрите на видео)

Шаг 5: интеграция панели индикаторов с тачпадом

Интеграция панели индикаторов с тачпадом
Интеграция панели индикаторов с тачпадом
Интеграция панели индикаторов с тачпадом
Интеграция панели индикаторов с тачпадом
Интеграция панели индикаторов с тачпадом
Интеграция панели индикаторов с тачпадом

Подключение к RPi

Выполните соединения, как показано на рисунке выше.

Правая панель

Тачпад:

  • Вывод GND - Вывод 34
  • Вывод VCC - Вывод 1
  • Вывод SIG - Вывод 29

ВЕЛ:

Контакт анода (+) - контакт 33

Левая панель

Тачпад:

  • Вывод GND - Вывод 30
  • Вывод VCC - вывод 17
  • Вывод SIG - Вывод 31

ВЕЛ:

Контакт анода (+) - контакт 35

Общий GND: контакт 39 (для обоих катодов светодиодов) - пайка общего заземления (временная шкала)

Код теста:

импортировать RPi. GPIO как GPIO

из времени импорт сна Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 triggered = 0 GPIO.setmode (GPIO. BOARD) GPIO.setup ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (канал): GPIO.output (right_led, GPIO. HIGH) global triggered triggered = 1 печать ("поворот вправо") мигание (Green_right, Green_top_bottom) def left_turn (канал): GPIO.output (left_led, GPIO. HIGH) глобальный триггер триггер = 1 печать ("поворот Влево ") мигание (зеленый_левый, зеленый_верхний_ нижний) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_turn, def blinktime = 500) pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) для x в диапазоне (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) sleep (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) global triggered triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) глобальный срабатывает, если (triggered == 0): print («Night Sight ON») GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) sleep (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) sleep (0.27) else: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) try: night_sight () кроме KeyboardInterrupt: GPIO.cleanup ()

Коснитесь сенсорной панели, чтобы увидеть, как светится ваш свет

Временная шкала (без светодиода): второй тест

Временная шкала (со светодиодной индикацией): Тест 3

Объяснение кода: мы хотим, чтобы ночной прицел работал непрерывно, и когда мы касаемся сенсорной панели, он должен останавливаться и выполнять функцию сенсорной панели. Чтобы сделать это одновременно, мы используем нечто, известное в Python как «прерывания». Это позволяет нам запускать наш обычный код, который здесь является ночным прицелом, а также запускает событие при обнаружении прикосновения. Мы используем переменную срабатывания в качестве флага, чтобы остановить ночное прицеливание.

Для получения дополнительной информации о прерываниях перейдите по этой ссылке.

Припаиваем панель

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

Теперь, когда вы проверили свой светодиод и тачпад, все готово. Если вы еще не тестировали, обратитесь к этому и предыдущим шагам.

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

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

Подключите панель к RPi более длинными проводами

Шаг 6. Сделайте это умным

Сделайте это умным!
Сделайте это умным!
Сделайте это умным!
Сделайте это умным!
Сделайте это умным!
Сделайте это умным!

Да! Теперь, когда у нас есть все необходимое для работы с индикатором. Давайте сделаем еще один шаг, чтобы сделать его умным.

Здесь смарт определяет и экономию на батарее. Как вы могли заметить, ночной прицел всегда включен, а иногда в яркий солнечный день это может не потребоваться. Чтобы решить эту проблему, давайте интегрировать LDR (светозависимый резистор), чтобы предоставить нам данные об интенсивности света, которые мы можем собирать и соответствующим образом обрабатывать нашим индикатором.

Тестирование LDR

Я сослался на этот веб-сайт для тестирования LDR, чтобы проверить интенсивность света и то, какое значение он возвращает.

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

Интеграция LDR в наш код

Припаяйте LDR к правой панели тачпада, как показано на схеме подключения выше.

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

  • Подключите общую точку катода (-) конденсатора и LDR к контакту 36 на RPi.
  • Анод конденсатора подключен к точке общего заземления, указанной в шаге 5.

Окончательный код:

импортировать RPi. GPIO как GPIO

от времени импорт сна Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 ldr = 36 triggered = 0 GPIO.setmode (GPIO. BOARD) GPIO. setup ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (канал): GPIO.output (right_led, GPIO. HIGH) global triggered triggered = 1 печать («поворот вправо») мигание (Green_right, Green_top_bottom) def left_turn (канал): GPIO.output (left_led, GPIO. HIGH) глобальный триггер триггер = 1 печать («Поворот влево») мигание (зеленый_влево, зеленый_верхний_ нижний) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_turn = 500), bouncetime = 500, bouncetime (ldr): count = 0 # Вывод на вывод для GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) sleep (0.1) # Chang e возвращение вывода на вход GPIO.setup (ldr, GPIO. IN) # Счетчик до тех пор, пока вывод не станет высоким, в то время как (GPIO.input (ldr) == GPIO. LOW): count + = 1 return count def blink (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) для x в диапазоне (10): GPIO.output ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) sleep (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) global triggered triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) глобальный срабатывает if (light_sensing (ldr)> 7800): if (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) sleep (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) sleep (0.27) else: print («Night Sight OFF») GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) попробуйте: night_sight () кроме KeyboardInterrupt: GPIO.cleanup ()

Вуаля! И индикатор готов к работе.

Полезный совет: перед сборкой RPi и других компонентов в цикл убедитесь, что вы правильно протестировали эту программу! Запустите его несколько раз, чтобы отладить любые ошибки.

Шаг 7: Покраска и сборка

Покраска и сборка
Покраска и сборка
Покраска и сборка
Покраска и сборка
Покраска и сборка
Покраска и сборка

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

  • Инструменты для резки / зачистки проводов
  • Один большой ящик для хранения для Raspberry Pi
  • Один небольшой ящик для хранения, подходящий для индикаторной панели
  • Покрасить
  • Кисти для рисования

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

Примечание: будьте осторожны при выполнении отверстий.

Хронология: краска

Полезный совет: я использовал пластиковые коробки, и краска легко снимается. Убедитесь, что вы используете краски хорошего качества

После того, как индикатор и панели будут окрашены, просушите их на солнце и приготовьтесь к сборке.

Я вырезал лишние края перфорированной платы на панели индикаторов и на передней панели, чтобы сэкономить место.

Смотрите видео по сборке!

Хронология: Мстители! Собрать. (Сборка индикаторной панели и RPi с коробками)

Как видно на видео, поместите провода соответствующим образом, проделав три отверстия в большей коробке. Один для провода блока питания RPi, один для панелей тачпада и один для панели индикаторов. Для коробки меньшего размера требуется только одно отверстие.

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

Шаг 8: удаленное тестирование с помощью VNC и окончательного кода

Удаленное тестирование с помощью VNC и окончательного кода
Удаленное тестирование с помощью VNC и окончательного кода
Удаленное тестирование с помощью VNC и окончательного кода
Удаленное тестирование с помощью VNC и окончательного кода

Последний тест, прежде чем индикатор будет полностью готов. Подключите ваш RPi к VNC Viewer и запустите программу.

Я всегда использую VNC-сервер для запуска программы и отладки любых ошибок в программе. Таким образом, я могу разместить RPi прямо в том месте, где я хочу протестировать, без внешнего подключения монитора.

Проверьте эту страницу, чтобы подключить свой RPi к VNC Server. (Сервер VNC)

После того, как вы подключили RPi к VNC Server. Вы можете запустить код на виртуальном рабочем столе и отладить ошибки.

Временная шкала: запускать при запуске

Полезный совет: подключив Raspberry Pi к виртуальному рабочему столу, вы войдете в систему с IP-адресом RPi. Но если вы получаете сообщение об ошибке, указывающее, что RPi отклонил соединение, это связано с изменением IP-адреса в RPI. Это может произойти, если вы перезапустите маршрутизатор или точку доступа Wi-Fi, а затем попытаетесь войти со старым адресом. Маршрутизатор назначает новый IP-адрес при каждом перезапуске. Но если вы помните старый IP-адрес RPi, просто увеличьте последнюю цифру на 1 и войдите в систему. Пример: если старый IP-адрес - 190.148.1.100, тогда войдите в систему, используя 190.148..1.101

После того, как вы проверили, все ли работает правильно, пора приступить к окончательной сборке.

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

Мы хотим, чтобы наша программа запускалась после загрузки RPi. Посетите этот веб-сайт, чтобы узнать об этом подробнее!

Если ваш RPi настроен на автоматический вход, продолжайте;

Выполните следующие команды в терминале RPi

Судо нано / и т. д. / профиль

Прокрутите вниз и добавьте следующую строку:

sudo python file_path &

File_path здесь относится к пути к файлу python, в котором хранится ваш окончательный код.

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

После этого нажмите CTRL-X, а затем Y. Дважды нажмите Enter, и вы вернетесь в командный терминал.

Перезагрузите Pi

Теперь код должен запускаться при запуске

Шаг 9: Организация кабелей и окончательная сборка

Кабельный менеджмент и окончательная сборка
Кабельный менеджмент и окончательная сборка
Кабельный менеджмент и окончательная сборка
Кабельный менеджмент и окончательная сборка
Кабельный менеджмент и окончательная сборка
Кабельный менеджмент и окончательная сборка

Поздравляю! по завершении этого проекта. Я назвал его «Минимальный», поскольку, как вы заметили, мы использовали меньше светодиодов для отображения всех необходимых индикаторов, а также с индивидуальными цветами. Не стесняйтесь использовать разные цвета для светодиодов, например желтый для указателей поворота или любой другой.

Если вы сделали этот проект, нажмите «Я сделал это» и поделитесь своим опытом. Поделитесь своими мыслями, а также любыми предложениями или комментариями по этому проекту. Я бы хотел это услышать!

Кабельный менеджмент

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

Полезный совет: поскольку у вас осталось больше дюймов от кабелей, чем требуется, теперь полезно правильно управлять ими, не нагружая их! Если один из ваших светодиодов загорается, а другие не светятся, даже если вы все сделали правильно, проблема в Провода перемычки, подключенные к RPi, будут иметь неплотный контакт. Если проблема не исчезнет, используйте перемычку «папа-мама», чтобы удлинить провод и соединить их. Используйте кабельные стяжки, чтобы удерживать провода на месте, чтобы они не двигались.

Теперь индикатор готов к поездке! Наслаждайся этим

PS: В дальнейших инструкциях я бы очень хотел уменьшить количество проводов в цепи и придумать лучший план. Если я это сделаю, я поделюсь инструкциями по этому поводу!

Шаг 10: несколько изображений индикатора

Некоторые изображения индикатора
Некоторые изображения индикатора
Некоторые изображения индикатора
Некоторые изображения индикатора
Некоторые изображения индикатора
Некоторые изображения индикатора
Некоторые изображения индикатора
Некоторые изображения индикатора

Спасибо, что прочитали это руководство. Надеюсь, вам понравилось это так же, как и мне

Временная шкала: Заключительный тест В приведенном выше сегменте вы можете видеть, что как только в комнате становится темнее, включается «Ночной прицел», а когда становится ярче, он сразу же выключается!

Временная шкала: готово к работе Некоторые видеоролики, которые я снял, чтобы продемонстрировать индикатор в центре внимания. Всем спасибо за езду на велосипеде моих сестер за видео!

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