[ad_1]
Последнее дополнение от Raspberry Pi, Построить шляпу является результатом сотрудничества между Raspberry Pi и Lego Education. Эта новая плата позволяет использовать мощь Raspberry Pi с совместимыми компонентами Lego, такими как моторы и датчики из наборов Spike Prime, Technic и Mindstorms. Lego существует уже несколько десятилетий и хорошо известен как простой в использовании инструмент для строительства, но знаете ли вы, что его можно использовать для создания сложных проектов, таких как роботы собирают кубики рубика?
Доступный за 25 долларов, Build HAT был создан для расширения возможностей оригинальных наборов Lego, ориентированных на языки программирования на основе блоков. Благодаря простому в использовании модулю Python Build HAT и его четырем разъемам LPF2 (которые используются в деталях Lego) мы можем смешивать Lego с существующими надстройками Raspberry Pi.
Чтобы представить Build HAT, мы создали простую установку для определения цвета. Мы нажимаем кнопку, и датчик цвета считывает любой объект, находящийся под ним. Цвет, который «видит» датчик, воспроизводится с помощью Blinkt за 10 долларов.
Прикрепить кнопку и датчик к Build HAT очень просто благодаря разъемам LPF2, поэтому все, о чем нам нужно беспокоиться, это собрать установку для размещения нашего проекта.
Для этого проекта вам понадобится:
- Любая модель Raspberry Pi с 40-контактным GPIO
- Построить шляпу
- Сборка блока питания HAT
- Комплект Lego Spike Prime (включает датчик силы и датчик цвета).
- Пиморони Блинкт
- Расширенный заголовок GPIO
- Последняя версия ОС Raspberry Pi, установленная на карту microSD
Настройка сборки HAT
Добавить Build HAT к Raspberry Pi относительно просто, и мы можем добавить еще одну плату HAT поверх Build HAT, используя расширенный заголовок.
1. Поместите расширенный заголовок GPIO на GPIO. Это увеличивает длину контакта GPIO, позволяя ему «протыкать» Build HAT.
2. Подключить сборку HAT к GPIO Raspberry Pi. Используйте входящие в комплект проставки M2,5 9 мм. чтобы плата не касалась аудио/видео разъема.
3. Поместите Blinkt на расширенные контакты GPIO. Обратите внимание, что изогнутые края Blinkt должны совпадать с углами Raspberry Pi.
4. Подключите датчик силы Lego к порту A, и Датчик цвета к порту B построить HAT.
5. Включите Raspberry Pi с помощью блока питания Build HAT.
6. С рабочего стола нажмите на Главное меню >> Настройки >> Конфигурация Raspberry Pi.
7. Нажмите «Интерфейсы», а затем установите для параметра «Последовательный порт» значение «Включить», а для параметра «Последовательная консоль» — значение «Отключено». Build HAT взаимодействует с Raspberry Pi через последовательный интерфейс, который использует некоторые контакты GPIO.
8. Откройте терминал и установите модуль Build HAT Python.
$ pip3 install buildhat
9. Установите модуль Pimoroni Blinkt Python с помощью пользовательского интерактивного установщика.
$ curl https://get.pimoroni.com/blinkt | bash
Кодирование проекта
1. Перейдите в Главное меню >> Программирование и выберите Тонни.
2. В новый документ импортируйте три модуля кода. Первый — это модуль Build HAT, в частности, классы для работы с датчиками силы и датчиками цвета. Время следующей установки, чтобы добавить задержки в код. Наконец, импортируйте модуль Blinkt для управления светодиодами.
from buildhat import ForceSensor, ColorSensor
import time
import blinkt
3. Создайте два объекта, кнопку и cs который мы будем использовать, чтобы сообщить Build HAT, к какому порту мы подключили датчик силы и датчик цвета.
button = ForceSensor('B')
cs = ColorSensor('A')
4. Добавьте строку кода, которая гарантирует, что Blinkt отключится, когда код закончится.
blinkt.set_clear_on_exit()
5. Добавьте цикл для непрерывного выполнения кода, первый шаг — проверить состояние датчика силы, чтобы увидеть, был ли он нажат.
while True:
if button.is_pressed() == True:
6. Добавьте две строки кода, которые активируются при нажатии датчика силы. Код активирует датчик цвета, а затем считывает показания, сохраняя данные в формате RGB в виде списка.
cs.on()
colors = cs.get_color_rgbi()
7. Добавьте строку для печати содержимого списка «цвета», затем сохраните первое, второе и третье значения. из списка цветов в переменные r, g, b.
print(colors)
r = colors[0]
g = colors[1]
b = colors[2]
8. Установите Blinkt, чтобы использовать значения r, g, b для подсветки светодиодов RGB. чтобы соответствовать цвету, который «видит» датчик цвета.
blinkt.set_all(r, g, b)
blinkt.show()
9. Добавьте три строки, первая приостановит выполнение кода на пять секунд, а вторая и третья заставят Blinkt выключать светодиоды.
time.sleep(5)
blinkt.set_all(0, 0, 0)
blinkt.show()
10. Добавьте условие else, которое обеспечит отключение датчика цвета, когда он не используется.
else:
cs.off()
11. Сохраните код как lego-color-blinkt.py.
12. Нажмите на зеленую кнопку воспроизведения, чтобы запустить код. Для активации кода может потребоваться несколько секунд, но вы увидите, как датчик цвета ненадолго загорится, когда он будет готов.
13. Поместите объект, который вы хотите отсканировать, под датчик цвета. и нажмите кнопку датчика силы, чтобы снять показания. Теперь Blinkt загорится в соответствии с этим цветом на пять секунд, а затем выключит светодиоды.
Полный список кодов
from buildhat import ForceSensor, ColorSensor
import time
import blinkt
button = ForceSensor('B')
cs = ColorSensor('A')
blinkt.set_clear_on_exit()
while True:
if button.is_pressed() == True:
cs.on()
colors = cs.get_color_rgbi()
print(colors)
r = colors[0]
g = colors[1]
b = colors[2]
blinkt.set_all(r, g, b)
blinkt.show()
time.sleep(5)
blinkt.set_all(0, 0, 0)
blinkt.show()
else:
cs.off()
[ad_2]