[ad_1]
Нельзя отрицать, что Raspberry Pi Pico оказал большое влияние еще в 2021 году. Микроконтроллер за 4 доллара был быстро принят многими сообществами и группами производителей, и одним из них был CircuitPython. CircuitPython, ответвление MicroPython, представляющее собой версию Python 3 для микроконтроллеров, поддерживается Adafruit, одним из партнеров, выпустивших собственную линейку плат RP2040. С момента своего создания в 2018 году сообщество CircuitPython вложило огромные средства, и многие проекты и библиотеки были перенесены на этот язык.
CircuitPython — лучший способ представить Python на микроконтроллерах, потому что его легко использовать с устройствами, которые отображаются в основной ОС в виде USB-накопителей. Пишем наш код в код.py файл, и мы можем включить внешние датчики, экраны и входы через ослепительный набор библиотек.
Итак, как мы можем работать с Raspberry Pi Pico и CircuitPython? Обычно мы подключаем наш Pico к ПК и начинаем писать код, но мы также можем создавать проекты с помощью Chromebook или другого устройства с Chrome OS. С простым в использовании языком программирования, дешевым микроконтроллером и простой в использовании ОС у нас есть идеальная платформа для творчества, независимо от нашего возраста или способностей.
В этом руководстве мы покажем вам, как настроить Raspberry Pi Pico для CircuitPython, установить программное обеспечение для написания кода и связи с вашим Pico, и, наконец, мы создадим проект датчика температуры.
- Для этого проекта вам понадобится
- Установите CircuitPython на Raspberry Pi Pico
- Установите инструменты для использования CircuitPython в Chrome OS
- Написание нашего тестового кода CircuitPython на Chromebook
- Список тестовых кодов
- Использование последовательного эмулятора Beagle Term
- Создание проекта датчика температуры
- Кодирование проекта
- Полный список кодов
- Связанные учебники
Для этого проекта вам понадобится
- Хромбук (откроется в новой вкладке) или другое устройство с Chrome OS
- Малиновый Пи Пико (откроется в новой вкладке)
- Макет половинного размера (откроется в новой вкладке)
- ВЕЛ (откроется в новой вкладке)
- Резистор 330 Ом (откроется в новой вкладке)
- Датчик температуры DHT22 (откроется в новой вкладке)
- 5x перемычек между мужчинами и женщинами (откроется в новой вкладке)
- Резистор 10 кОм (коричневый-черный-оранжевый-золотой) (откроется в новой вкладке)
Установите CircuitPython на Raspberry Pi Pico
Raspberry Pi Pico может работать со многими разные языкидаже версия язык старше 50 лет. Мы сосредоточены на CircuitPython, и установить CircuitPython на Pico очень просто.
1. Загрузите последнюю версию CircuitPython для Raspberry Pi Pico. На момент написания последней версией была 7.3.0.
2. Нажмите и удерживайте кнопку BOOTSEL на Raspberry Pi Pico, затем подключите Pico к Chromebook через USB-кабель.
3. Скопируйте загруженный файл UF2 из Downloads на диск RPI-RP2 в файлах. Процесс займет меньше минуты, и по его завершении в браузере файлов появится новый диск CIRCUITPY.
Установите инструменты для использования CircuitPython в Chrome OS
В идеале у нас было бы всего одно приложение, которое могло бы делать все, но пока, увы, нам нужно установить два. Первый — это текстовый редактор Caret, который мы можем использовать для записи кода CircuitPython непосредственно на диск CIRCUITPY. Второй — Beagle Term, эмулятор последовательного терминала для Chrome OS.
1. Установите текстовый редактор Caret через Интернет-магазин Chrome.
2. Установить срок Бигля через Интернет-магазин Chrome.
Написание нашего тестового кода CircuitPython на Chromebook
Прежде чем мы начнем какую-либо электронику, давайте проверим, что мы можем управлять и общаться с Raspberry Pi Pico. Наш демонстрационный код представляет собой простой Hello World, который каждую секунду выводит в оболочку Python.
1. Откройте текстовый редактор Caret. с помощью клавиши поиска (подзорная труба, где обычно находится заглавная буква) и введите Caret. Нажмите Enter, чтобы открыть.
2. Нажмите «Файл» >> «Открыть» и выберите code.py. находится на вашем диске CIRCUITPY. Этот диск — ваш Raspberry Pi Pico, работающий под управлением CircuitPython.
3. Удалите любой код в файле.
4. Импортируйте модуль времени. Мы будем использовать это для управления скоростью, с которой зацикливается наш код.
import time
5. Создайте цикл while True чтобы постоянно запускать код внутри.
while True:
6. Используйте функцию печати, чтобы напечатать «Hello World». Обратите внимание, что код имеет отступ в одну клавишу TAB или четыре пробела. Не смешивайте табуляции и пробелы, так как Python выдаст ошибку. Это классический пример тестирования кода. Это простое средство, которое мы можем использовать для подтверждения того, что у нас есть контроль над устройством и связь с ним.
print(“Hello World”)
7. Добавьте паузу в одну секунду
Это дает нам секунду, чтобы прочитать сообщение Hello World.
time.sleep(1)
8. Сохраните код в code.py. CircuitPython будет автоматически запускать код при каждом сохранении.
Список тестовых кодов
import time
while True:
print(“Hello World”)
time.sleep(1)
Использование последовательного эмулятора Beagle Term
Чтобы увидеть вывод нашего кода, нам нужно запустить эмулятор последовательного терминала Beagle Term. Это приложение будет подключаться к консоли Python, работая через USB-последовательное соединение. CircuitPython имеет консоль Python REPL (Read, Eval, Print, Loop), которую можно использовать для интерактивной работы с платой, и она может выводить информацию непосредственно на консоль.
1. Откройте приложение Beagle Term. с помощью клавиши поиска (подзорная труба, где обычно находится заглавная буква) и введите Caret. Нажмите Enter, чтобы открыть.
2. Установите свой порт на Raspberry Pi Pico. Это немного метод проб и ошибок, поскольку мы не знаем имя порта. В наших тестах мы видели /dev/ttyACM1 для нашего Raspberry Pi Pico.
3. Установите битрейт на 9600. Это скорость, с которой наше устройство Chrome OS и Raspberry Pi Pico будут обмениваться данными.
4. Установите бит данных на 8 бит, четность на отсутствие, стоповый бит на 1 бит, а также наконец, установите Flow Control на none.
5. Нажмите Подключиться чтобы начать последовательное соединение с Raspberry Pi Pico. Hello World должен прокручивать экран вниз. Если нет, нажмите CTRL+C, чтобы остановить выполнение кода, а затем нажмите CTRL+D, чтобы перезапустить код.
Создание проекта датчика температуры
DHT22 имеет четыре контакта, но нам нужно будет использовать только три из них. С датчиком относительно легко работать. Для его питания требуется 3 В, а вывод данных вытягивается с помощью резистора 10 кОм. Потянув булавку вверх, мы гарантируем, что данные с датчика будут считаны, так как булавка всегда «включена».
1. Вставьте Raspberry Pi Pico в макетную плату. чтобы порт microUSB был с левой стороны платы.
2. Протяните перемычку от выхода 3V3 (красный провод) к + шине макетной платы. Это обеспечивает подключение контакта 3,3 В ко всей + шине. Протяните еще один провод от контакта GND к шине -.
3. Вставьте DHT22 в макетную плату.
4. Подключите 3,3 В (красный провод) и GND (черный провод) к контактам 1 и 4 DHT22. Номера контактов идут слева направо, так как мы стоим перед пластиковой «рамкой» датчика.
5. Подключите шину 3,3 В к контакту 2 DHT22 с помощью резистора 10 кОм. Это наш подтягивающий резистор для вывода данных.
6. Подключите контакт данных (контакт 2) DHT22 к GP15 Raspberry Pi Pico. Ваша макетная плата должна выглядеть так.
Кодирование проекта
1. Загрузите комплект библиотек CircuitPython. для вашей версии CircuitPython.
2. Перейдите в папку «Загрузки». Щелкните правой кнопкой мыши и извлеките ZIP-файл..
3. Откройте папку adafruit-circuitpython-bundle. а также перейти к библиотека подпапка.
4. Скопируйте adfafruit_dht.mpy в папку /lib/ вашего диска CIRCUITPY. Эта библиотека позволяет нашему Raspberry Pi Pico работать с датчиками DHT11 и DHT22.
5. Откройте code.py на вашем Raspberry Pi Pico. с помощью текстового редактора Caret. Удалите тестовый код из файла.
6. Импортируйте три модуля, чтобы наш код мог получить доступ к GPIO (плате), использовать датчик температуры (adafruit_dht) и контролировать скорость цикла (время).
import board
import adafruit_dht
import time
7. Создать объект, дхт для подключения кода к датчику DHT22, подключенному к GP15 на Raspberry Pi Pico.
dht = adafruit_dht.DHT22(board.GP15)
8. Создайте цикл для запуска кода.
while True:
9. Сохраните текущую температуру в переменной с именем темп. Температура сохраняется в градусах Цельсия.
temp = dht.temperature
10. Создать объект, текст и там сохраните строку, которая напечатает «Температура Цельсия». Вы заметите {:>8}, это строковый формат, который будет включать восемь пробелов в центре предложения. Это дает нам свободное пространство для размещения данных о температуре.
text = "The temperature is {:>8} Celsius."
11. Используйте функцию печати вместе с текстовой формойt, чтобы вставить данные о температуре в пробел.
print(text.format(temp))
12. В конце добавьте секундную паузу. Это позволяет циклу медленно повторяться.
time.sleep(1)
13. Сохраните проект в code.py. на вашем СХЕМНОМ диске.
14. Открытый срок бигля а также подключитесь к вашему Raspberry Pi Pico. Вы должны увидеть, как данные температуры прокручиваются на экране. Если нет, нажмите CTRL+C, затем CTRL+D, чтобы перезапустить код.
Полный список кодов
import board
import adafruit_dht
import time
dht = adafruit_dht.DHT22(board.GP15)
while True:
temp = dht.temperature
text = "The temperature is {:>8} Celsius."
print(text.format(temp))
time.sleep(1)
Связанные учебники
- Как управлять Neopixels с помощью BASIC на Raspberry Pi Pico
- Как сделать игру Raspberry Pi Pico Reaction с PicoZero
[ad_2]