Оглавление:

CircuitPython с Itsybitsy M4 Express 1: Настройка: 9 шагов
CircuitPython с Itsybitsy M4 Express 1: Настройка: 9 шагов

Видео: CircuitPython с Itsybitsy M4 Express 1: Настройка: 9 шагов

Видео: CircuitPython с Itsybitsy M4 Express 1: Настройка: 9 шагов
Видео: Глубокое погружение со Скоттом: Флэш и часы, о боже! #rp2040 #adafruit 2024, Ноябрь
Anonim
CircuitPython с Itsybitsy M4 Express 1: Настройка
CircuitPython с Itsybitsy M4 Express 1: Настройка

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

Я заметил, что этот сайт содержит много инструкций по кодированию с Arduinos с использованием Arduino IDE, но очень мало о Python. Я преподаю кодирование с 1968 года. (Тогда мы называли это программированием и использовали FORTRAN IV с картами Холлерита для ввода!) С тех пор я использовал много разных языков со студентами (от 11 лет до взрослых), включая LISP, Pascal и многие другие. разные версии на BASIC.

Совсем недавно многие школы в Великобритании начали использовать Python на своих уроках, поскольку ученики переходят от «блочного» кодирования с помощью Scratch или аналогичного к текстовым операторам. Python, вероятно, является более легким шагом вперед, чем использование Arduino IDE. Код CircuitPython можно выполнить, просто сохранив код на плате разработки, как если бы это был USB-накопитель. Я успешно использовал Python для физических вычислений с детьми от 8 до 11 лет в клубе программирования моей внучки в начальной школе.

Я решил использовать Itsybitsy M4 Express от Adafruit для этих инструкций по следующим причинам:

  • Недорого - до 15 долларов.
  • Простота настройки и программирования с помощью CircuitPython (версия Python, идеально подходящая для новичков в программировании)
  • Контакты цифровых входов / выходов - играть с Blinkies очень весело
  • Аналоговые выводы - 12-битный АЦП и ЦАП - высокая точность
  • Встроенные красные светодиоды и светодиоды RGB DotStar
  • Управляет Neopixels напрямую
  • Поддержка I2C и SPI - для датчиков и дисплеев
  • Широкий выбор драйверов в обширной библиотеке
  • Быстрый и мощный - сверхбыстрый процессор ATSAMD51 Cortex M4, работающий на частоте 120 МГц
  • Достаточно памяти - 2 МБ флэш-памяти SPI для кода CircuitPython или файлов данных
  • Отличная поддержка от Adafruit с полной документацией, руководствами и справочным форумом в Интернете.
  • Нужен только старый ноутбук или компьютер - без специального монитора, клавиатуры, блока питания или мыши.
  • Пользователь может перейти на Arduino IDE на той же плате, как только приобретет опыт работы с Python.

В этом первом руководстве объясняется, как настроить доску и запустить ваши первые скрипты.

Шаг 1. Что нужно для начала

Что вам нужно для начала
Что вам нужно для начала

Аппаратное обеспечение:

  • Ицыбицы М4 Экспресс (adafruit.com, Pimoroni.com)
  • кабель microUSB
  • Компьютер - подойдет старый ноутбук
  • Паяльник
  • Припой
  • Макетная плата
  • Полоса заголовка с внутренней резьбой (необязательно)

Программное обеспечение:

Редактор Mu

Загрузите редактор Mu с

Установите его на свой компьютер. Очень просто с полными инструкциями на сайте.

Шаг 2. Убедитесь, что CircuitPython установлен

Убедитесь, что CircuitPython установлен
Убедитесь, что CircuitPython установлен

Откройте проводник на вашем компьютере.

Подключите меньший конец USB-кабеля к разъему на Itsybity.

Другой конец кабеля подключите к USB-порту компьютера.

Вы должны увидеть новый диск под названием CIRCUITPY. (Если нет, перейдите на страницу ОБНОВЛЕНИЯ.)

Дважды щелкните boot_out, и вы должны увидеть такое сообщение:

Adafruit CircuitPython 3.1.1 от 02.11.2018; Adafruit ItsyBitsy M4 Express с samd51g19

Это показывает, что у вас более старая версия CircuitPython, так как в настоящее время мы работаем с версией 4. На данный момент это будет нормально, мы обновим версию позже. Adafruit часто улучшает CircuitPython и публикует обновления. Эти обновления очень легко установить.

Перейдите в папку с документами и создайте в ней новую папку под названием Code-with-Mu.

Запустите редактор Mu

Шаг 3. Использование редактора Mu для вашей первой программы

Использование редактора Mu для вашей первой программы
Использование редактора Mu для вашей первой программы

Щелкните значок Serial в верхней части редактора. Это должно открыть окно REPL в нижней части экрана. В нижнем левом углу должно быть написано Адафрут. Му обнаружил, что к компьютеру подключена плата CircuitPython.

Теперь мы можем написать нашу первую программу или сценарий. Щелкните мышью в верхнем окне и введите:

print ("Привет, мир!")

Щелкните значок «Сохранить». Выберите привод CIRCUITPY. Введите main.py в поле заголовка и нажмите кнопку «Сохранить».

Это очень важно. Ваш скрипт сохраняется в вашем Itsybity под именем main.py. Любой файл с таким именем немедленно запускается на плате. Вывод оператора печати появляется в нижнем окне REPL.

Отредактируйте строку программы, чтобы:

print ("\ nПривет, кодировщик!") и щелкните значок "Сохранить".

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

Следите за своим Itsybitsey, пока вы загружаете скрипт. Мигающий зеленый DotStar переходит в КРАСНЫЙ цвет, пока сценарий сохраняется, и возвращается в ЗЕЛЁНЫЙ.

Сделаем ошибку, чтобы посмотреть, что из этого получится. Просто удалите последний символ кавычки и снова запустите скрипт. Редактор указывает ошибку, а вывод указывает тип ошибки - синтаксис - и номер строки - чтобы помочь вам исправить ошибку. DotStar указывает на неисправность изменением цвета. Подробнее об этом в следующем разделе.

Исправьте ошибку и снова запустите скрипт.

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

Дважды щелкните вкладку над сценарием. Перейдите в папку с документами Code-with-Mu и сохраните там свой скрипт с полезным именем файла, например FirstProg.py. Обратите внимание, что имя файла и путь отображаются в нижней части редактора.

Шаг 4: ваш второй сценарий - мигание

Ваш второй сценарий - Blink
Ваш второй сценарий - Blink

Введите сценарий, сохраните его в CIRCUITPY как main.py и нажмите Да, чтобы заменить предыдущий main.py.

(Всегда используйте имя файла main.py для своего скрипта при сохранении на свой ItsyBitsy. CircuitPython затем немедленно запускает новый скрипт.)

Что делает сценарий:

  • Импортирует библиотеки для имен контактов на плате, времени для управления задержками и управления цифровыми контактами,
  • Устанавливает контакт 13 для вывода напряжения на красный светодиод на плате.
  • Запускает бесконечный цикл для включения и выключения светодиода.
  • Ожидает кратковременных задержек, чтобы светодиод замигал.

В сценарии есть множество комментариев, объясняющих, что происходит. Комментарии начинаются с символа «#». Они предназначены для использования людьми, чтобы напоминать вам о ваших мыслях в то время. У хороших скриптов много комментариев.

  1. Попробуйте изменить значения в операторах sleep ().
  2. Держите светодиод включенным вдвое дольше, чем он выключен.
  3. Что будет, если задержки очень короткие? (0,001 секунды)

Дважды щелкните вкладку над сценарием и сохраните с именем Blink.py в папку Code-with-Mu.

Шаг 5: Обновление вашей версии CircuitPython

Обновление вашей версии CircuitPython
Обновление вашей версии CircuitPython

Перейдите на страницу https://circuitpython.org/downloads в Интернете. Кликните по картинке Ицыбицкого М4 Экспресс (не М0 версии).

Нажмите фиолетовую кнопку, чтобы загрузить файл. UF2.

Запустите проводник и найдите файл. UF2.

Подключите свой Itsybitsy M4 Express к USB-порту и найдите его диск - CIRCUITPY

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

Перетащите файл UF2 на диск ITSYM4BOOT. Файл UF2 будет скопирован на плату IBM4, а имя диска вернется в CIRCUITPY.

Выберите диск CIRCUITPY и дважды щелкните файл boot_out.

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

Создайте новую папку на диске CIRCUITPY с именем lib. Нам это понадобится в следующих инструкциях для хранения драйверов для датчиков и дисплеев.

Перезапустите редактор Mu. Загрузите файл main.py с IBM4 и сохраните его обратно на IBM4. Красный светодиод должен начать мигать.

Если вы один раз щелкните кнопку сброса, он перезапустит загруженный скрипт main.py.

Шаг 6: REPL

REPL
REPL

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

«Цикл чтения-оценки-печати (REPL), также называемый интерактивной оболочкой верхнего уровня или языковой оболочкой, представляет собой простую интерактивную среду компьютерного программирования, которая принимает вводимые пользователем данные (то есть отдельные выражения), оценивает их и возвращает результат. пользователю; программа, написанная в среде REPL, выполняется кусочно . (Google)

По сути, если вы напишете один оператор python в REPL, он выполнит его сразу. Давайте попробуем.

Щелкните мышью в окне REPL.

Во время выполнения сценария удерживайте клавишу и коснитесь (CTRL-C). Это останавливает ваш скрипт.

Нажмите любую клавишу, чтобы войти в REPL, и появится подсказка «>>>».

напечатайте печатным шрифтом (4 + 100)

Сразу возвращается ответ 104

Посмотрите на картинку и попробуйте несколько собственных. (Попробуйте +, -, *, /, // и%)

Попробуй это:

>> импортная доска

>> dir (доска)

['_class_', 'A0', 'A1', 'A2', 'A3', 'A4', 'A5', 'APA102_MOSI', 'APA102_SCK', 'D0', 'D1', 'D10', ' D11, D12, D13, D2, D3, D4, D5, D7, D9, I2C, MISO, MOSI, RX, 'SCK', 'SCL', 'SDA', 'SPI', 'TX', 'UART']

>>

Это список имен контактов, доступных на плате IBM4.

Чтобы вернуться в нормальное состояние с помощью мягкого перезапуска, просто введите CTRL-D и main.py перезапускается.

Отключение вашей доски

Всегда извлекайте диск CIRCUITPY перед отключением от компьютера. Никогда не вынимайте его во время передачи данных.

Шаг 7: Обнимаем ноги

Ставить на ноги
Ставить на ноги
Ставить на ноги
Ставить на ноги

Штыревые коллекторы слишком длинные для платы, поэтому отрежьте 2 из них до нужной длины.

Вставьте их в макет, поместите IBM4 сверху и припаяйте. Убедитесь, что доска правильно поднята! (Чип сверху)

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

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

Чтобы предотвратить перегрев платы, я предлагаю вам не паять одну сторону, а затем поднимать другую. Оставьте пробелы и заполните их позже. т.е. контакты 10, RX, 2, A3, RS, BAT, 9, MI …… и т. д.

Шаг 8. Индикатор состояния CircuitPython RGB - поможет вам найти ошибки

Индикатор состояния CircuitPython RGB - поможет вам найти ошибки
Индикатор состояния CircuitPython RGB - поможет вам найти ошибки

ItsyBitsy M4 Express и многие другие платы M0 и M4 имеют один светодиод NeoPixel или DotStar RGB на плате, который указывает состояние CircuitPython. Здесь он находится между контактом (C) и контактом A0.

Вот что означают цвета и мигание:

  • устойчивый ЗЕЛЕНЫЙ: code.py (или code.txt, main.py или main.txt) работает
  • мигающий ЗЕЛЕНЫЙ: code.py (и т. д.) завершен или не существует
  • постоянно ЖЕЛТЫЙ при запуске: (4.0.0-alpha.5 и новее) CircuitPython ожидает сброса, чтобы указать, что он должен запускаться в безопасном режиме
  • пульсирующий ЖЕЛТЫЙ: Цепь Python находится в безопасном режиме: произошел сбой и перезапущен
  • горит БЕЛЫЙ: REPL работает
  • горит СИНИЙ: boot.py запущен

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

  • ЗЕЛЕНЫЙ: IndentationError
  • CYAN: SyntaxError
  • БЕЛЫЙ: NameError
  • ОРАНЖЕВЫЙ: OSError
  • ФИОЛЕТОВЫЙ: ValueError
  • ЖЕЛТЫЙ: другая ошибка

За ними следуют мигания, указывающие номер строки, включая значение разряда. БЕЛЫЕ вспышки - это разряды тысяч, СИНИЕ - разряды сотен, ЖЕЛТЫЕ - разряды десятков, а СИНИЙ - их место. Так, например, ошибка в строке 32 будет мигать ЖЕЛТЫМ три раза, а затем два раза ЦИАНОВЫМ. Нули обозначены очень длинным темным промежутком.

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

Шаг 9: Взгляд вперед - к вам

С нетерпением жду - к тебе
С нетерпением жду - к тебе

Когда я запускал этот Instructable, я ожидал, что это будет первая серия, посвященная CircuitPython и физическим вычислениям. Мой план на следующий день - охватить базовый ввод и вывод арифметикой, светодиодами, переключателями, потенциометрами и операторами ввода. Он также будет охватывать методы цикла и списки (массивы).

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

Вот что я хотел бы знать:

  • Темп в порядке?
  • Деталей слишком много, слишком мало или примерно так?
  • Хотите несколько практических упражнений?

К тебе.

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