Руководство по Raspberry Pi Pico: Краткий обзор

Raspberry Pi Pico-Микроконтроллер с чипом RP2040 , Flash 1мб и с отсутствием EEPROM

Как загрузить MicroPython/CircuitPython на нее:

1.Зажмите кнопку BOOTSEL на Pico

2.Вставьте провод в ПК
3.Вставьте провод в плату
4.Отпустите кнопку

Pico откроется как диск и будет ждать пока вы скинете на нее .uf2 файл
cсылки для скачивания интерпретаторов .uf2
MicroPython (легок в использовании , отсутвуют библиотеки для работы с встроенным USB):

CircuitPython(чуть труднее, написан известным AdaFruit)

Cкачиваете .uf2 (любой)

После просто перекидываете его в диск RPI-PICO или как он там у вас высветился 🙂

Pico готова , а теперь установим IDE Thonny для работы с платой

Думаю вы справитесь с установкой программы ,там ничего сложного
Теперь нужно настроить IDE для работы с платой
Заходим в Инструменты>Параметры

Выбирайте плату и .uf2 который вы устновили

Если у вас MicroPython то выбирайте 6-й пункт (снизу вверх)
Все готово! Создаем свою первую программу “Blink”
MicroPython:

from machine import Pin
import time
led = Pin(25, Pin.OUT)
while True:
led.toggle()
time.sleep(1)

СircuitPython:

import time
import board
import digitalio

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)

Cветодиод на плате должен заморгать
Если что-то не работает , пишите коды ошибок в комментарии 🙂

Теперь чуть более сложный проект (Работает только с CircuitPython)
“Управление треком через внешнюю кнопку”
Для начала скачайте библиотеки

Кликаете и скачиваете ее
После переходите к папке
C:\Users\{Пользователь}\AppData\Roaming\Thonny\plugins\Python310\site-packages
Ищете тут adafruit_hid

и скопируйте ее в Pico

asyncio в частности уже есть в папке site-packages
но если ее нет то вот ссылка

А также нужен adafruit_ticks
он тоже есть

Скачиваем и кидаем их в папку lib платы

самое сложное завершено вот код:

import usb_hid
from adafruit_hid.consumer_control import ConsumerControl
from adafruit_hid.consumer_control_code import ConsumerControlCode
import board
from digitalio import DigitalInOut, Direction, Pull
import digitalio
import asyncio

b1 = DigitalInOut(board.GP5) #любой пин кнопки к GP5 другой к ближайшему GND
b1.direction = Direction.INPUT
b1.pull = Pull.UP
cc = ConsumerControl(usb_hid.devices)

async def main():
while True:
if not b1.value:
print(“Следующий трек!!”)
cc.send(ConsumerControlCode.SCAN_NEXT_TRACK)
await asyncio.sleep(0.29) #Ждем когда кнопка разожмется

await asyncio.sleep(0.05)

asyncio.run(main())

Припаиваем кнопку к GP5 и к ближайшему GND

Работа кода:

Все работает
Готовый “Проект” cо всеми библиотеками и кодом :

Надеюсь мой гайд кому-то помог , если есть желание плюсните статью 🙂
Ссылки
Файлы:

GitHub: (там пока-что ничего дельного нет)

 

Источник

pico, raspberry, краткий, обзор, ПО, руководство

Читайте также