Оглавление:

Индикатор направления Micro: bit для велосипедных шлемов: 5 шагов
Индикатор направления Micro: bit для велосипедных шлемов: 5 шагов

Видео: Индикатор направления Micro: bit для велосипедных шлемов: 5 шагов

Видео: Индикатор направления Micro: bit для велосипедных шлемов: 5 шагов
Видео: КИТАЙЦЫ СНОВА УДИВЛЯЮТ 120 ТОВАРОВ С ALIEXPRESS 2024, Ноябрь
Anonim
Индикатор направления A Micro: bit для велосипедных шлемов
Индикатор направления A Micro: bit для велосипедных шлемов
Индикатор направления A Micro: bit для велосипедных шлемов
Индикатор направления A Micro: bit для велосипедных шлемов
Индикатор направления A Micro: bit для велосипедных шлемов
Индикатор направления A Micro: bit для велосипедных шлемов

Обновленная версия 2018-май-12

Ниже приведены инструкции по созданию простого микробитового указателя поворота для велосипедных шлемов (или аналогичных). Он использует акселерометры, встроенные в micro: bit, в качестве элементов управления.

Предоставленные скрипты micro python оптимизированы для mu, редактора micro python с определенным «режимом» для micro: bit. В последней версии он поставляется с последовательным плоттером, и я сначала просто хотел понять, как использовать его для отображения измеренных значений (подсказка: отправлять данные в виде кортежей: print ((x, y, z)), используя двойные скобки).

На светодиодном дисплее micro: bit 5x5 отображаются четыре шаблона:

  • В состоянии покоя отображается красивый случайный узор. В настоящее время вы найдете сценарии для трех различных шаблонов: "светлячок", "дождь" и "падающая звезда". Посмотрите и выберите тот, который вам больше всего нравится. Не стесняйтесь настраивать параметры, чтобы сделать их более или менее плотными или работать быстрее или медленнее.
  • Затем есть указатели поворота направо или налево в виде движущихся стрелок. Они активируются при наклоне головы влево или вправо, при нажатии кнопок на micro: bit. В версии скрипта с внешней кнопкой активируйте, нажав одну из внешних кнопок, подключенных к контактам 0 и 1.
  • Если вы наклоните голову назад или обе кнопки на micro: bit активируются одновременно, отображается шаблон «предупреждение» или «обрыв».

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

Для тех, кто работает с MakeCode, на последнем шаге я добавил скрипт блока, который можно скопировать прямо в micro: bit. Он менее наворочен, но дает базовую функциональность без необходимости устанавливать mu.

Пожалуйста помни:

  • Хотя этот проект может быть полезен для вашей безопасности, убедитесь, что вы всегда четко указываете, куда вы хотите водить, используя свои руки.
  • Эта концепция не тестировалась всесторонне в дороге и предназначалась только в качестве примера программирования. Используйте это на свой страх и риск.
  • Используйте базовую версию только в сухих погодных условиях, так как micro: bit и аккумулятор или блоки LiPo чувствительны к влажности. Ниже описано, как создать инкапсулированную версию.

Шаг 1. Используемые материалы

Micro: bit. Компьютер с установленным редактором mu. Аккумулятор или LiPo-пакет для micro: bit. Велосипедный шлем. Я использовал тот, который раньше имел светодиодную подсветку. Кусок полипропиленового картона толщиной 3 мм в качестве дистанционной вставки между micro: bit и шлемом. Двусторонняя клейкая лента, чтобы прикрепить micro: bit к распорке, а это - к шлему. скотч, чтобы закрепить micro: bit и аккумулятор в шлеме.

Для инкапсулированной версии: прозрачная пластиковая коробка 59 x 59 x 30 мм, Modulor, Берлин: 0, 70 евро Kitronic MI: силовая плата, двусторонняя клейкая лента 5 фунтов стерлингов и кусок полипропиленовых пластин.

Для версии с внешними переключателями (подробности здесь не показаны): перемычки и два переключателя, два белых светодиода, резистор 10 кОм, макетная плата. Зажимы типа "крокодил". Латунные винты M3 (20 мм), нейлоновые гайки M3; по четыре для контакта 0, контакта 1, 3 В и заземления. Вставьте винты в отверстия в печатной плате micro: bit и закрепите винтами. К ним проще прикрепить зажимы типа "крокодил".

Шаг 2: Настройка устройства, установка скрипта

Настройка устройства, установка скрипта
Настройка устройства, установка скрипта
Настройка устройства, установка скрипта
Настройка устройства, установка скрипта
  • Установите редактор mu на свой компьютер.
  • Подключите micro: bit к компьютеру.
  • Загрузите нужный скрипт.
  • Прошить скрипт на micro: bit.
  • В случае скриптов акселерометра (шлема) прикрепите бит micro: bit и аккумулятор к шлему. Я использовал небольшой кусок пластикового картона, материал, который вы можете найти в хозяйственном магазине, в качестве проставки и двустороннего воздуховода. скотчем с обеих сторон, чтобы прикрепить micro: bit к шлему. Затем закрепите micro: bit и аккумуляторную батарею клейкой лентой на шлеме.
  • Чтобы убедиться в погодных условиях, взгляните на следующий шаг.
  • При необходимости отрегулируйте пороговые значения x и z в соответствии с вашими потребностями.

В случае сценария, управляемого кнопками, и если вы хотите использовать внешние кнопки, подключите шины питания макетной платы к портам Gnd и 3V микробита. Подключите кнопки к Gnd и портам Pin0 и Pin1

Шаг 3. Скрипты Micro Python

В приложении вы найдете скрипты micro python для mu и micro: bit.

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

Есть узор "светлячок", узор "дождь" и узор "падающая звезда" (матричный). Скрипт светлячка / акселерометра приведен ниже. Существует также сценарий, который имеет все три шаблона и запускает их в случайном порядке, с новым выбором каждый раз, когда индикатор был активирован.

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

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

'' 'Версия с контролем угла / акселерометра или встроенными кнопками. 2018-May-07 Простой скрипт, который создает шаблон "светлячка" в состоянии покоя, стрелки влево или вправо, если m-бит скручен в соответствующем направлении, или кнопки A или B нажаты, или индикатор прерывания / шаблон предупреждения если обе кнопки нажаты или m-бит отогнут назад. Может использоваться для подсветки велосипедного шлема или подобного. Сборка для редактора mu micro python доктором Х. https://www.instructables.com/id/A-Microbit-Direction-Indicator-for-Biking-Helmets/ '' 'from microbit import * import random random.seed (3433) # введите свое счастливое число de = 100 # задает время задержки отображения в мс ff1 = 100 # задает время задержки светлячка 1 в мс ff2 = 50 # задает время задержки светлячка 2 в мс fn = 3 # задает количество точек семени светлячка thresh_z = 80 # пороговое значение для обратного thresh_x = 350 # пороговое значение для бокового # определить изображения image_l_1 = Image ("00900:" "09000:" "97531:" "09000:" "00900") image_l_2 = Image ("09000:" "90000:" "75319:" "90000:" "09000") image_l_3 = Изображение ("90000:" "00009:" "53197:" "00009:" "90000") image_l_4 = Изображение ("00009:" "00090: "" 31975: "" 00090: "" 00009 ") image_l_5 = Изображение (" 00090: "" 00900: "" 19753: "" 00900: "" 00090 ") image_r_1 = Изображение (" 00900: "" 00090: " "13579:" "00090:" "00900") image_r_2 = Изображение ("00090:" "00009:" "91357:" "00009:" "00090") image_r_3 = Изображение ("00009:" "90000:" "79135: "" 90000: "" 00009 ") image_r_4 = Изображение ("90000:" "09000:" "57913:" "09000:" "90000") image_r_5 = Изображение ("09000:" "00900:" "35791:" "00900:" "09000") image_z_1 = Image ("90009:" "00000:" "00900:" "00000:" "90009") image_z_2 = Image ("09090:" "90009:" "00000:" "90009:" "09090") # запускаем программу while True: print ((accelerometer.get_x (), accelerometer.get_y (), accelerometer.get_z ())) # для использования с последовательным монитором или плоттером для оптимизации пороговых значений; # отключение звука с помощью '#', если не используется if ((accelerometer.get_z ()> thresh_z) # голова наклонена назад, при необходимости отрегулируйте или (button_a.is_pressed () и button_b.is_pressed ())): # для отображения целей управления. показать (Image. DIAMOND_SMALL) sleep (de) display.show (Image. DIAMOND) sleep (de) display.show (image_z_2) sleep (de) display.show (image_z_1) sleep (de) display.clear () elif ((Accelerometer.get_x () thresh_x) # указатель направления вправо; чтобы активировать наклон головы примерно на 20 градусов вправо или button_b.is_pressed ()): display.show (image_r_1) sleep (de) display.show (image_r_2) sleep (de) display. show (image_r_3) sleep (de) display.show (image_r_4) sleep (de) display.show (image_r_5) sleep (de) display.clear () else: # генератор паттернов 'firefly' для g в диапазоне (0, fn): # семя заданного числа (fn) пикселей x = random.randint (0, 4) # выбирает случайную позицию y = random.randint (0, 4) v = 9 # максимальная яркость начального числа # v = random.randint (0, 9) # необязательно: рандомизированное отображение яркости семян. Set_pixel (x, y, v) # установить скорость светлячка sleep (ff1) # display for ff ms # уменьшает интенсивность всех пикселей на один шаг для j в диапазоне (0, 5): # для каждого пикселя светодиодной матрицы для i в диапазоне (0, 5): b = display.get_pixel (i, j) # получить текущую интенсивность if (b> 0): f = b - 1 # уменьшить яркость на единицу else: f = 0 # установить 0 как наименьшее допустимое значение display.set_pixel (i, j, f) sleep (ff2)

Шаг 4: инкапсулированная версия, защищенная от погодных условий

Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия
Инкапсулированная, защищенная от погодных условий версия

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

Для питания micro: bit здесь я использовал плату питания Kitronic MI:. Он питается от батарейки на 3 В и может быть прикреплен к микробиту тремя болтами и гайками. Он также имеет встроенный выключатель питания. В качестве альтернативы вы можете использовать LiPo аккумулятор.

В качестве корпуса я использую прозрачную пластиковую коробку размером 59 x 59 x 30 мм. В качестве проставки использовался кусок пластикового картона толщиной 3 мм, покрытый двусторонней изолентой. Это необходимо, так как на задней панели MI: питание происходит даже не за счет гаек и удерживает micro: bit на месте.

Коробка с битом micro: bit затем прикрепляется к шлему другим куском пластикового картона, обтянутым двусторонним скотчем.

Шаг 5: скрипт MakeCode

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

Вы можете просто скопировать файл на свой micro: bit и начать играть.

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