Оглавление:

MicroPython на SPIKE Prime: 12 шагов
MicroPython на SPIKE Prime: 12 шагов

Видео: MicroPython на SPIKE Prime: 12 шагов

Видео: MicroPython на SPIKE Prime: 12 шагов
Видео: Поддержка Python в ПО SPIKE Prime Обзор возможностей программирования на Python в ПО SPIKE Prime Дем 2024, Ноябрь
Anonim
MicroPython на SPIKE Prime
MicroPython на SPIKE Prime

Вы можете кодировать SPIKE Prime, используя MicroPython, который является подмножеством Python для небольших микропроцессоров.

Вы можете использовать любой эмулятор терминала для кодирования концентратора SPIKE Prime.

Запасы

SPIKE Prime хаб

Компьютер с USB-портом / bluetooth

USB-кабель для подключения хаба к компьютеру

Шаг 1: возьмите эмулятор терминала

Возьмите эмулятор терминала
Возьмите эмулятор терминала
Возьмите эмулятор терминала
Возьмите эмулятор терминала

Есть много вариантов на выбор.

CoolTerm работает на всех платформах, включая Pi

Шпатлевка окон

экранная команда в Терминале в операционной системе unix

Шаг 2: Подключите SPIKE Prime к USB-порту

Подключите SPIKE Prime к USB-порту
Подключите SPIKE Prime к USB-порту
Подключите SPIKE Prime к USB-порту
Подключите SPIKE Prime к USB-порту

Используйте кабель microUSB для подключения SPIKE Prime к компьютеру.

Шаг 3: Найдите порт

Найдите порт
Найдите порт
Найдите порт
Найдите порт

Нам нужно знать, к какому последовательному порту подключен концентратор SPIKE Prime.

На Mac введите

ls /dev/tty.usbmodem*

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

На пи это будет что-то вроде ttyAMC0 - проверьте свою папку / dev /

Шаг 4: Подключитесь

Подключиться
Подключиться
Подключиться
Подключиться

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

В Терминале введите

пользователькомпьютер $ экран / dev / 115200

В другой IDE, нажмите Open / connect (после настройки портов и скорости передачи)

Примечание: без контроля четности, 8 бит данных и 1 стоповый бит

Шаг 5: Запуск REPL

Запуск REPL
Запуск REPL
Запуск REPL
Запуск REPL
Запуск REPL
Запуск REPL

При подключении к SPIKE Prime из терминала / PUTTY вы увидите поток цифр и символов. Это данные с внутренних датчиков хаба SPIKE Prime. Чтобы начать, нажмите Ctrl + C

Это прервет последовательный порт, и вы должны увидеть что-то вроде этого.

MicroPython v1.9.4-1146-gca9944357 от 25 сентября 2019 г.; LEGO Technic Large Hub с STM32F413xx Введите «help ()» для получения дополнительной информации.

Теперь вы готовы писать код.

Шаг 6: ваш первый код

Ваш первый код
Ваш первый код

центр импорта

hub.display.show («Клочки»)

Обратите внимание на команду «import», которая извлекает библиотеку Python, которая позволяет вам общаться со SPIKE Prime. Вы должны увидеть буквы Tufts на светодиодной матрице концентратора.

Шаг 7. Отображение вашего имени

теперь попробуйте набрать

hub.display.show ('')

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

Traceback (последний вызов последним): файл "", строка 1, inNameError: имя 'hub' не определено

Шаг 8: Использование REPL

Одним из наиболее мощных атрибутов Python является то, что вы можете протестировать что-либо перед написанием кода в REPL (прочтите цикл печати eval).

Он выполнит любую команду python - попробуйте ввести 2 + 2 ниже и посмотрите, что в нем написано:

2+2

Шаг 9: Изучение MicroPython на SPIKE Prime

Пришло время исследовать.

У хаба много функций - вы можете узнать, просто набрав «хаб». (не забывайте точку после концентратора), а затем нажмите клавишу TAB в REPL. Это покажет вам все возможные способы выполнения команды.

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

Шаг 10: Считывание значений датчика… 1

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

hub.motion.accelerometer () [0]

или более приятный способ закодировать это - использовать такие переменные:

центр импорта

accept = hub.motion.accelerometer () xAccel = Accel [0] hub.display.show (str (xAccel))

Шаг 11: Считывание значений датчика… 2

Считывание значений датчика… 2
Считывание значений датчика… 2

Вы также можете отобразить все три ускорения с помощью цикла.

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

Попробуйте этот код:

import hub, utimeaccel = hub.motion.accelerometer () для Acc в ускорении: hub.display.show (str (Acc)) utime.sleep (0.8)

На этом этапе становится важным несколько вещей:

пробелы - Python - это правый отступ - подобно скобкам в других языках, отступ сообщает вам, что находится внутри цикла for, а что нет.

при использовании REPL вы заметите, что когда вы делаете отступ, он больше не выполняет строку, а скорее ждет, пока вы закончите строки для цикла for перед выполнением (а >>> заменяется на…). Чтобы завершить цикл for, просто трижды нажмите return, и цикл будет выполнен.

Шаг 12: вызов

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

центр импорта, utime

while True: accl = hub.motion.accelerometer () для Acc в Accel: hub.display.show (str (Acc)) utime.sleep (0.8) if hub.port. B.device.get (): break

Подсказка - вам нужен датчик на порту B.

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