Arduino Nano RP2040 Connect

تحذير

لم تعد هذه اللوحة مدعومة. آخر إصدار من برنامج OpenMV الثابت للوحة Arduino Nano RP2040 Connect هو 4.7.0. لن تصدر أي تحديثات إضافية للبرنامج الثابت أو إصلاحات للأخطاء أو ميزات جديدة لهذا الهدف. المعلومات أدناه محفوظة للمستخدمين الذين يشغّلون الإصدار 4.7.0 أو ما قبله.

لوحة Arduino Nano RP2040 Connect هي لوحة بأبعاد 45 × 18 مم وبصيغة Arduino‑Nano مبنية حول معالج Raspberry Pi RP2040 — وهو معالج مزدوج النواة من نوع ARM Cortex‑M0+ يعمل بتردد 133 ميغاهرتز مع ذاكرة SRAM داخلية بسعة 264 كيلوبايت. يأتي WiFi وBLE من وحدة U‑blox NINA‑W102، وتحمل اللوحة وحدة قياس بالقصور الذاتي (IMU) سداسية المحاور من نوع LSM6DSOX وميكروفون PDM من نوع MP34DT06. ويقوم برنامج OpenMV الثابت بتشغيل كل هذه المكونات من خلال MicroPython.

Arduino Nano RP2040 Connect

للاطلاع على صحيفة البيانات الكاملة والصور والأبعاد، راجع صفحة منتج Arduino Nano RP2040 Connect.

أبرز المواصفات

  • Raspberry Pi RP2040 معالج مزدوج النواة من نوع ARM Cortex‑M0+ بتردد 133 ميغاهرتز مع ذاكرة SRAM داخلية بسعة 264 كيلوبايت.

  • ذاكرة فلاش QSPI خارجية بسعة 16 ميغابايت.

  • وحدة U‑blox NINA‑W102 توفر Wi‑Fi بتردد 2.4 غيغاهرتز من نوع b/g/n وBluetooth 4.2 ‏(BR/EDR + LE).

  • وحدة قياس بالقصور الذاتي (IMU) سداسية المحاور LSM6DSOX وميكروفون PDM من نوع MP34DT06.

  • موصّل Micro USB للطاقة والبرمجة وواجهة REPL عبر CDC.

  • 22 دبوس إدخال/إخراج للمستخدم على رؤوس Nano القياسية — ‏TX/RX، ‏D2D13 (رقمية)، ‏A0A7 (تناظرية).

مخطط الدبابيس

Arduino Nano RP2040 Connect Pinout

مرجع الدبابيس

اسم الدبوس

المرجع

الوظيفة

TX

3.3 فولت

UART0 TX / SPI0 RX / I2C0 SDA / PWM0 A

RX

3.3 فولت

UART0 RX / SPI0 CS / I2C0 SCL / PWM0 B

D2

3.3 فولت

SPI1 CS / UART1 RX / I2C0 SCL / PWM4 B

D3

3.3 فولت

SPI1 TX / UART0 RTS / I2C1 SCL / PWM7 B

D4

3.3 فولت

SPI0 RX / UART0 TX / I2C0 SDA / PWM0 A

D5

3.3 فولت

SPI0 CS / UART0 RX / I2C0 SCL / PWM0 B

D6

3.3 فولت

SPI0 SCK / UART0 CTS / I2C1 SDA / PWM1 A

D7

3.3 فولت

SPI0 TX / UART0 RTS / I2C1 SCL / PWM1 B

D8

3.3 فولت

SPI0 RX / UART1 TX / I2C0 SDA / PWM2 A

D9

3.3 فولت

SPI0 CS / UART1 RX / I2C0 SCL / PWM2 B

D10

3.3 فولت

SPI0 CS / UART1 RX / I2C0 SCL / PWM2 B

D11

3.3 فولت

SPI0 TX / UART1 RTS / I2C1 SCL / PWM3 B

D12

3.3 فولت

SPI0 RX / UART1 TX / I2C0 SDA / PWM2 A

D13

3.3 فولت

SPI0 SCK / UART1 CTS / I2C1 SDA / PWM3 A

D14 / A0

3.3 فولت

ADC / SPI1 SCK / UART1 CTS / I2C1 SDA / PWM5 A

D15 / A1

3.3 فولت

ADC / SPI1 TX / UART1 RTS / I2C1 SCL / PWM5 B

D16 / A2

3.3 فولت

ADC / SPI1 RX / UART0 TX / I2C0 SDA / PWM6 A

D17 / A3

3.3 فولت

ADC / SPI1 CS / UART0 RX / I2C0 SCL / PWM6 B

D18 / A4 / SDA

3.3 فولت

ADC / I2C0 SDA / SPI1 RX / UART0 TX / PWM6 A

D19 / A5 / SCL

3.3 فولت

ADC / I2C0 SCL / SPI1 CS / UART0 RX / PWM6 B

D20 / A6

3.3 فولت

ADC / GPIO

D21 / A7

3.3 فولت

ADC / GPIO

RESET

3.3 فولت

اضغط زر RESET الموجود على اللوحة أو اسحبه إلى GND لإعادة التعيين

REC

3.3 فولت

BOOTSEL — اسحبه إلى المستوى المرتفع عند التشغيل للدخول إلى محمّل إقلاع ROM الخاص بـ RP2040

LED_BUILTIN

مؤشر LED برتقالي للمستخدم على D13

LED_RED

قناة اللون الأحمر لمؤشر RGB LED

LED_GREEN

قناة اللون الأخضر لمؤشر RGB LED

LED_BLUE

قناة اللون الأزرق لمؤشر RGB LED

تحذير

دبابيس الإدخال/الإخراج في لوحة Nano RP2040 Connect تعمل بجهد 3.3 فولت فقط — وهي غير متحملة لجهد 5 فولت. إن إدخال جهد 5 فولت إليها سيتلف معالج RP2040.

دبابيس الطاقة

  • VIN — دخل بجهد 4 – 20 فولت. يغذّي اللوحة عبر منظّم التبديل الموجود عليها. كما يُغذّى عبر صمام ثنائي من خط USB بجهد 5 فولت، لذا يمكن وجود USB وVIN في الوقت نفسه دون أن يدفع أحدهما الآخر عكسيًا.

  • +5V — غير موصول افتراضيًا.

  • +3V3 — خرج منظّم الجهد 3.3 فولت.

  • AREF — دبوس المرجع التناظري. غير موصول بمعالج RP2040 على هذه اللوحة — يكون ADC دائمًا مرجوعًا إلى 3.3 فولت.

  • GND — الأرضي المشترك.

يمكن تشغيل لوحة Nano RP2040 Connect عبر أيٍّ من المسارين:

  • Micro USB — يوفّر جهد 5 فولت لمنظّم اللوحة.

  • دبوس VIN — مرّر إمدادًا منظّمًا بجهد 4 – 20 فولت.

ملاحظة

يربط وصلة لحام (jumper) في أسفل اللوحة بين +5V وخط USB بجهد 5 فولت. أغلقها لجعل دبوس الرأس +5V يحمل فعليًا جهد 5 فولت.

ملاحظة

يمكن قطع وصلة لحام مغلقة افتراضيًا على خرج منظّم التبديل 4–20 فولت الموجود على اللوحة لتعطيل المنظّم، بحيث يمكن تشغيل اللوحة مباشرة من إمداد خارجي بجهد 3.3 فولت على +3V3.

دبابيس الاسترداد وتصحيح الأخطاء

  • RESET — وهو وسادة مكشوفة وزر RESET لحظي في أعلى اللوحة، مرتبطان بخط NRST في RP2040. اسحبه إلى GND أو اضغط الزر لإعادة التعيين.

  • REC — وسادة مكشوفة. إن إبقاء REC عند المستوى المرتفع أثناء التشغيل (أو أثناء الضغط على RESET) يضع RP2040 في محمّل إقلاع ROM الخاص به؛ تُعاد فهرسة اللوحة كقرص تخزين USB كبير السعة باسم RPI-RP2 وتقبل صورة برنامج ثابت بصيغة .uf2.

تستخدم لوحة Nano RP2040 Connect آلية النقر المزدوج لإعادة التعيين القياسية من Arduino للدخول إلى محمّل إقلاع Arduino. اضغط زر RESET مرتين بسرعة — تُعاد فهرسة اللوحة عبر USB كجهاز UF2 ويمكن لـ OpenMV IDE تحميل صورة برنامج ثابت جديد.

تُكشف إشارات SWD الخاصة بـ RP2040 على وسائد مطلية في الجهة الخلفية للوحة، أسفل وحدة NINA مباشرة. جميع إشارات تصحيح الأخطاء مرجوعة إلى 3.3 فولت.

الطرفيات الموجودة على اللوحة

مؤشرات LED

تحتوي لوحة Nano RP2040 Connect على مؤشر RGB LED للمستخدم — يُشغَّل عبر القنوات المطبوعة على اللوحة LED_RED وLED_GREEN وLED_BLUE — بالإضافة إلى مؤشر برتقالي منفصل LED_BUILTIN على D13. وجميع الأربعة قابلة للتحكم برمجيًا عبر machine.LED

from machine import LED

LED("LED_RED").on()
LED("LED_GREEN").on()
LED("LED_BLUE").on()
LED("LED_BUILTIN").on()

يضيء مؤشر الطاقة الأخضر المنفصل على اللوحة كلما كان خط +3.3 فولت نشطًا، وهو غير قابل للتحكم من قبل المستخدم.

مستشعر الكاميرا

يدعم برنامج OpenMV الثابت على لوحة Nano RP2040 Connect المستشعر المتوازي من نوع CMOS طراز OmniVision OV7670. لا تحتوي اللوحة على مستشعر صور مدمج — قم بتوصيل وحدة OV7670 بدبابيس الرأس المطبوعة على اللوحة والمدرجة أدناه وشغّلها عبر وحدة csi --- مستشعرات الكاميرا

import csi

cam = csi.CSI()
cam.reset()
cam.pixformat(csi.RGB565)
cam.framesize(csi.QVGA)
cam.snapshot(time=2000)       # let auto‑exposure settle

while True:
    img = cam.snapshot()

ملاحظة

يحتاج OV7670 إلى 14 دبوسًا. يوصّلها البرنامج الثابت على النحو التالي:

إشارة المستشعر

دبوس Nano RP2040

D0

D3

D1

D4

D2

D5

D3

D6

D4

D7

D5

D8

D6

D9

D7

D2

HSYNC

A1

VSYNC

A0

PXCLK

A3

MXCLK

A2

POWER

TX

RESET

RX

SCL

SDA ‏(I²C 0)

SDA

SCL ‏(I²C 0)

تتشارك ناقل التحكم I²C الخاص بـ OV7670 مع وحدة IMU وشريحة ATECC608A الموجودتين على اللوحة على ناقل I²C 0. يقع المستشعر على العنوان ذي 7 بتات 0x21 — يجب على أجهزة المستخدم على الناقل 0 تجنب هذا العنوان أيضًا عند توصيل الكاميرا.

IMU

يقع مقياس التسارع + الجيروسكوب سداسي المحاور LSM6DSOX الموجود على اللوحة على I2C0. يستخدم منفذ rp2 افتراضيًا مجموعة دبابيس مختلفة لـ machine.I2C(0)، لذا مرّر وسادتي SDA/SCL المطبوعتين على اللوحة صراحةً. استخدم المشغّل المجمّد lsm6dsox.LSM6DSOX

import time
from machine import I2C, Pin
from lsm6dsox import LSM6DSOX

bus = I2C(0, scl=Pin("SCL"), sda=Pin("SDA"))
imu = LSM6DSOX(bus)

while True:
    print(imu.accel())     # (x, y, z) in g
    print(imu.gyro())      # (x, y, z) in deg/s
    time.sleep_ms(100)

الميكروفون

يُلتقط ميكروفون PDM من نوع MP34DT06 الموجود على اللوحة عبر audio --- وحدة الصوت باستخدام إحدى كتل PIO الخاصة بـ RP2040:

import audio
from ulab import numpy as np

def loudness(pcmbuf):
    samples = np.array(np.frombuffer(pcmbuf, dtype=np.int16), dtype=np.float)
    rms = np.sqrt(np.mean(samples ** 2))
    if rms > 10000:
        print("Loud!", int(rms))

audio.init(channels=1, frequency=16000, gain_db=24)
audio.start_streaming(loudness)

while True:
    pass

Wi‑Fi

تُكشف وحدة NINA‑W102 الموجودة على اللوحة عبر network --- تهيئة الشبكة كواجهة محطة (station):

import network, time

wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("ssid", "password")
while not wlan.isconnected():
    time.sleep(1)
print("Wi‑Fi IP:", wlan.ipconfig("addr4")[0])

Bluetooth

تكشف وحدة NINA نفسها أيضًا Bluetooth 4.2 LE. استخدم aioble --- BLE غير المتزامن للحصول على BLE متوافق مع asyncio — على سبيل المثال، الإعلان كطرفية والانتظار حتى يتصل جهاز مركزي:

import asyncio
import aioble

async def run():
    while True:
        conn = await aioble.advertise(250_000, name="Nano-RP2040")
        print("Connected:", conn.device)
        await conn.disconnected()

asyncio.run(run())

مرجع الناقل

GPIO

استخدم machine.Pin لقراءة أو تشغيل أيٍّ من الدبابيس المطبوعة على اللوحة. المخارج بجهد 3.3 فولت CMOS، بتيار تصريف إجمالي 50 مللي أمبير عبر جميع دبابيس GPIO.

from machine import Pin

out = Pin("D2", Pin.OUT)
out.on()
out.off()
out.value(1)

inp = Pin("D3", Pin.IN, Pin.PULL_UP)
print(inp.value())

يمكن لأي دبوس إدخال أيضًا إطلاق مقاطعة عند انتقالات الحافة:

def handler(pin):
    print("triggered:", pin)

Pin("D3", Pin.IN, Pin.PULL_UP).irq(
    handler, Pin.IRQ_FALLING | Pin.IRQ_RISING,
)

UART

الناقل

TX

RX

UART0

TX

RX

استخدم الأسماء المطبوعة على اللوحة TX/RX مع machine.UART

from machine import UART

uart = UART(0, baudrate=115200)
uart.write("hello")
uart.read(5)

ملاحظة

يوجد machine.UART(1) لكنه محجوز لوحدة NINA‑W102 الموجودة على اللوحة (وصلة BLE)؛ لا تستخدمه مباشرة.

I²C

الناقل

SDA

SCL

I2C0

SDA / A4

SCL / A5

I2C1

A0

A1

يحتاج كلا الناقلين إلى تمرير دبابيسهما صراحةً إلى machine.I2C

from machine import I2C, Pin

bus0 = I2C(0, scl=Pin("SCL"), sda=Pin("SDA"), freq=400_000)
bus0.scan()

bus1 = I2C(1, scl=Pin("A1"),  sda=Pin("A0"),  freq=400_000)
bus1.scan()

ملاحظة

تتشارك شريحتان على اللوحة الناقل 0 — يجب على أجهزة المستخدم على هذا الناقل تجنب عناوينهما:

  • 0x6A — وحدة IMU طراز LSM6DSOX

  • 0x60 — شريحة ATECC608A‑MAHDA‑T

إن استخدام A0/A1 كـ I²C يستهلكهما للناقل، لذا لا يمكن استخدامهما في الوقت نفسه كمدخلات ADC.

ملاحظة

تحتوي وسادتا SDA / SCL (الناقل 0) على مقاومات سحب لأعلى مدمجة على اللوحة إلى 3.3 فولت، لذا لا حاجة لمقاومات سحب لأعلى خارجية للأجهزة على ذلك الناقل. أما A0 / A1 (الناقل 1) فلا تحتوي عليها — أضف مقاومات سحب لأعلى خارجية عند استخدام الناقل 1.

يمكن أيضًا استخدام العتاد نفسه في وضع الهدف (التابع) عبر machine.I2CTarget لكشف منطقة ذاكرة لمتحكم I²C آخر:

from machine import I2CTarget

buf = bytearray(32)
target = I2CTarget(0, addr=0x42, mem=buf)

SPI

الناقل

MOSI

MISO

SCK

CS

SPI0

D11

D12

D13

D10

لا يهيّئ منفذ rp2 مسبقًا دبابيس SPI0 على هذه اللوحة، لذا مرّر الوسائد المطبوعة على اللوحة صراحةً عند إنشاء الناقل:

from machine import SPI, Pin

spi = SPI(0, baudrate=10_000_000,
          sck=Pin("D13"), mosi=Pin("D11"), miso=Pin("D12"))
cs = Pin("D10", Pin.OUT, value=1)   # CS is not driven by the SPI peripheral

cs.value(0)
spi.write(b"hello")
cs.value(1)

ملاحظة

يعمل D13 أيضًا كمؤشر LED_BUILTIN البرتقالي — إن تشغيل SPI على هذا الناقل سيومض المؤشر بالتزامن مع ساعة الناقل.

ملاحظة

يوجد machine.SPI(1) لكنه محجوز لوحدة NINA‑W102 الموجودة على اللوحة (وصلة SPI الخاصة بـ Wi-Fi/BLE)؛ لا تستخدمه مباشرة.

ADC

يحتوي RP2040 على أربع قنوات ADC ذات 12 بتًا مكشوفة على A0–A3، وجميعها مرجوعة إلى 3.3 فولت — تُرجع read_u16 قيمًا من 0 إلى 65535 عبر نطاق 0–3.3 فولت عند الدبوس. دبوس AREF في اللوحة غير موصول، لذا يكون المرجع دائمًا 3.3 فولت:

from machine import ADC
import time

adc = ADC("A0")
while True:
    voltage = adc.read_u16() * 3.3 / 65535
    print(voltage)
    time.sleep_ms(100)

PWM

الدبوس

الشريحة / القناة

TX

PWM0 A

RX

PWM0 B

D2

PWM4 B

D3

PWM7 B

D4

PWM0 A

D5

PWM0 B

D6

PWM1 A

D7

PWM1 B

D8

PWM2 A

D9

PWM2 B

D10

PWM2 B

D11

PWM3 B

D12

PWM2 A

D13

PWM3 A

D14 / A0

PWM5 A

D15 / A1

PWM5 B

D16 / A2

PWM6 A

D17 / A3

PWM6 B

D18 / A4 / SDA

PWM6 A

D19 / A5 / SCL

PWM6 B

شغّل أيًّا منها عبر machine.PWM

from machine import Pin, PWM

pwm = PWM(Pin("D3"), freq=1_000, duty_u16=32768)

ملاحظة

تتشارك عدة دبابيس قنوات شرائح PWM:

  • PWM0 A موجودة على TX و D4.

  • PWM0 B موجودة على RX و D5.

  • PWM2 A موجودة على D8 و D12.

  • PWM2 B موجودة على D9 و D10.

  • PWM6 A موجودة على D16/A2 و D18/A4/SDA.

  • PWM6 B موجودة على D17/A3 و D19/A5/SCL.

اختر مستهلكًا واحدًا لكل قناة شريحة. تتشارك القناتان A وB داخل الشريحة نفسها فترتهما (الترددهما) لكن لكلٍّ منهما دورة عمل (duty cycle) خاصة بها.

النواقل المُحاكاة برمجيًا بأسلوب bit‑banging

تعمل machine.SoftI2C وmachine.SoftSPI على أي دبوس GPIO إن احتجت إلى ناقل إضافي.

المستشعر الحراري (خارج اللوحة)

يتضمن البرنامج الثابت مشغّل fir --- مشغّل المستشعر الحراري (fir == far infrared) لمصوّر حراري AMG8833 بدقة 8×8 موصول خارجيًا. قم بتوصيل الوحدة بناقل I²C المدرج أدناه، ثم اقرأ الإطارات باستخدام fir.init() + fir.snapshot()

import time
import image
import fir

fir.init()                          # auto‑detects the sensor
clock = time.clock()

while True:
    clock.tick()
    try:
        img = fir.snapshot(x_scale=5, y_scale=5,
                           color_palette=image.PALETTE_IRONBOW,
                           hint=image.BICUBIC,
                           copy_to_fb=True)
    except OSError:
        continue
    print(clock.fps())

يتواصل مشغّل fir مع المستشعر عبر I²C 0 فقط — قم بتوصيل الوحدة بوسادتي SCL / SDA المطبوعتين على اللوحة. يجب ألا يُستخدم العنوان ذو 7 بتات للمستشعر (0x69) من قبل أي جهاز آخر على ذلك الناقل.

التوقيت

time

تغطي وحدة time التأخيرات الحاجبة والنبضات الرتيبة (monotonic) وقياس الزمن المنقضي:

import time

time.sleep(1)              # seconds
time.sleep_ms(500)
time.sleep_us(10)

start = time.ticks_ms()
# ...do work...
elapsed = time.ticks_diff(time.ticks_ms(), start)

المؤقتات الافتراضية

تجدول machine.Timer دوال رد نداء دورية أو لمرة واحدة دون استهلاك فتحة مؤقت عتادي. مرّر -1 كمعرّف لاستخدام مؤقت افتراضي (برمجي):

from machine import Timer

one_shot = Timer(-1)
one_shot.init(period=5_000, mode=Timer.ONE_SHOT,
              callback=lambda t: print("once"))

periodic = Timer(-1)
periodic.init(period=2_000, mode=Timer.PERIODIC,
              callback=lambda t: print("tick"))

قيم الفترة بالمللي ثانية. استدعِ deinit() للإيقاف وتحرير الفتحة.

ساعة الوقت الحقيقي

تحفظ machine.RTC وقت ساعة الحائط عبر عمليات إعادة التعيين. ترتبط ساعة RTC الخاصة بـ RP2040 بالمذبذب الموجود على الشريحة ولا تصمد عند انقطاع الطاقة الكامل — اضبط الوقت في كل إقلاع بارد إن كان ذلك مهمًا لتطبيقك:

from machine import RTC

rtc = RTC()
rtc.datetime((2026, 4, 30, 4, 12, 0, 0, 0))   # Y, M, D, weekday, h, m, s, subsec
print(rtc.datetime())

مراقب التشغيل (Watchdog)

تعيد machine.WDT تعيين اللوحة إذا تعلّق التطبيق. بمجرد تشغيله لا يمكن إيقافه أو إعادة تهيئته — أطعمه دوريًا داخل حلقتك الرئيسية:

from machine import WDT

wdt = WDT(timeout=5_000)   # 5 second window
while True:
    # ...do work...
    wdt.feed()

معلومات الإقلاع والتشغيل

تحديث البرنامج الثابت (UF2)

تستخدم لوحة Nano RP2040 Connect آلية النقر المزدوج لإعادة التعيين القياسية من Arduino للدخول إلى محمّل إقلاع Arduino. اضغط زر إعادة التعيين مرتين بسرعة — تُعاد فهرسة اللوحة عبر USB كجهاز UF2 ويمكن لـ OpenMV IDE تحميل صورة برنامج ثابت جديد.

يمكن لبرنامج نصي قيد التشغيل إعادة الدخول إلى محمّل الإقلاع عند الطلب باستدعاء machine.bootloader()

import machine

machine.bootloader()

نظام الملفات وترتيب الإقلاع

يركّب البرنامج الثابت للوحة Nano RP2040 Connect نظام ملفات واحدًا عند الإقلاع:

  • ذاكرة الفلاش الداخلية — تُركَّب دائمًا على /flash وتُستخدم كدليل العمل. تحتوي على main.py وREADME.txt افتراضيًا؛ تُنشأ عند أول إقلاع على الإطلاق.

بعد التركيب، يقوم المفسّر بعد ذلك بتشغيل البرامج النصية من /flash:

  • يُنفَّذ boot.py عند كل إعادة تعيين ناعمة.

  • يُنفَّذ main.py فقط عند الإقلاع البارد، مباشرة بعد boot.py.

يكتفي ملف main.py الافتراضي المشحون على لوحة حُمِّل عليها البرنامج الثابت حديثًا بإيماض قناة اللون الأزرق لمؤشر RGB LED الخاص بالمستخدم كنبضة قلب (نبضتان قصيرتان، ثم فجوة قصيرة)، بحيث يمكنك معرفة أن البرنامج الثابت أقلع بنجاح دون توصيل أي مضيف.

عند الاتصال عبر USB، تُفهرس /flash كقرص تخزين USB كبير السعة على المضيف، مما يتيح لك تحرير boot.py وmain.py وأي ملفات أخرى مباشرة. أخرج القرص قبل إعادة تعيين اللوحة حتى يفرّغ المضيف عمليات الكتابة المخبأة لديه.

ملاحظة

نظرًا لأن نظام التشغيل يتعامل مع القرص كجهاز كتلي سلبي، فإن الملفات التي يُنشئها أو يعدّلها الكود الذي يعمل على الكاميرا لن تظهر حتى يعيد المضيف تركيب القرص. وإذا كتب كلٌّ من نظام التشغيل والكاميرا في نظام الملفات نفسه في الوقت نفسه، فسيفوز نظام التشغيل ويكتب فوق التغييرات التي أجرتها الكاميرا. استخدم بطاقة SD لأي بيانات يكتبها البرنامج النصي، وأعد التركيب قبل قراءة تلك الملفات من المضيف.

ملاحظة

قد تضيء قناة اللون الأحمر لمؤشر RGB LED الخاص بالمستخدم لفترة وجيزة أثناء قراءة المضيف من قرص تخزين USB كبير السعة أو الكتابة إليه — وهذا مؤشر نشاط يقوده البرنامج الثابت، وليس عطلًا.

أحجام التخزين

تُشحن لوحة Nano RP2040 Connect مع:

  • /flash — نظام ملفات FAT بسعة 14 ميغابايت، للقراءة/الكتابة.

لا يتضمن بناء Nano RP2040 نظام ROMFS؛ اشحن وحدات Python ونماذج التعلم الآلي على /flash مباشرة.

مكتبات البرمجيات

راجع فهرس المكتبة للاطلاع على القائمة الكاملة بالوحدات — بما في ذلك تلك الفريدة لبناء Nano RP2040 Connect.