Среда разработки Mu

Для CircuitPython (и для MicroPython тоже) имеется удобная среда Mu.

https://codewith.mu/

В Mu есть всё самое необходимое для успешного начала работы с CircuitPython. Теперь приступим к программированию.

REPL — интерпретатор языка Python

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

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

Жмём кнопку Последовательный. В нижней части редактора откроется консоль интерпретатора. Если на плате уже работает какая-то программа, нам следует прервать её выполнение комбинацией Ctrl+С. В результате появится приглашение нажать любую кнопку для активации командной строки REPL (Press any key to enter REPL). Жмём любую кнопку. Результат:

CIRCUITPYTHON REPL

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

Вводим команды друг за другом, каждый раз нажимая Enter. Сначала присваиваем число 5 переменной a. Затем число 6 для b. Затем складываем их и результат присваиваем переменной c. Наконец, выводим результат функцией print.

CircuitPython арифметика

Работает! Ну а теперь будем управлять светодиодом. Для этого нам потребуется подключить библиотеку board, которая специфична для каждой отладочной платы. Именно эта библиотека знает как пронумерованы контакты на плате, и какие у них есть синонимы.

Чтобы посмотреть все доступные контакты, используем функцию dir.

CircuitPython REPL board

Над понимать, что это все возможные имена контактов вместе с синонимами. Физических контактов меньше. Например, D13, LED и L — это одно и то же.

Следующий шаг — настройка контакта. Так же как и при работе с Arduino нам следует определить, в каком направлении будет работать контакт: на ввод или на вывод. Для этого подключим из библиотеки digitalio два класса: функцию DigitalInOut и Direction:

from digitalio import DigitalInOut, Direction

Создаём объект класса DigitalInOut, указывая за какой контакт он будет отвечать. Мы будем работать со светодиодом на контакта D13. Его и пишем, вернее его синоним.

led = DigitalInOut(board.LED)

Устанавливаем направление. В нашем случае это OUTPUT.

led.direction = Direction.OUTPUT 

Наконец, зажигаем светодиод присваивая led.value значение True (истина, как HIGH на Arduino). Вот что у нас получилось:

CircuitPython REPL DigitalInOut

Посмотрите на светодиод, он горит!

Работа с файлами

Чтобы открыть файл, жмём кнопку Загрузить и выбираем нужный файл в проводнике windows.

Кнопка сохранить — сохранит файл, и если он находился на устройстве, сразу запустит его на выполнение.


Изменено: