اردوينو بيكو
راسبيري باي بيكو اردوينو، لجميع لوحات RP2040 وRP2350
هذا هو منفذ Arduino إلى RP2040 (معالج Raspberry Pi Pico) وRP2350 (معالج Raspberry Pi Pico 2). يستخدم Raspberry Pi Pico SDK وسلسلة أدوات مخصصة لـGC 14.2/Newlib 4.3 ويدعم نوى ARM وRISC-V.
التوثيق
راجع https://arduino-pico.readthedocs.io/en/latest/ بالإضافة إلى الأمثلة للحصول على معلومات استخدام أكثر تفصيلاً.
المساهمة
اقرأ دليل المساهمة لمزيد من المعلومات حول إرسال طلبات السحب ونقل المكتبات أو الرسومات إلى هذا المركز.
اللوحات المدعومة
- راسبيري بي بيكو
- راسبيري بي بيكو دبليو
- راسبيري باي بيكو 2
- 0xCB هيليوس
- ريشة أدافروت RP2040
- ريشة آدافروت RP2040 سكوربيو
- أدافروت إتسي بيتسي RP2040
- أدافروت KB2040
- أدافروت ماكروباد RP2040
- أدافروت مترو RP2040
- أدافروت كيو تي بي RP2040
- أدافروت ستيما فريند RP2040
- أدافروت ترينكي RP2040 كيو تي
- امكين باني
- امكين ريفيلوب
- امكين ريفيلوب بلس
- آمين ريفيلوب إي إس
- Architeuthis الجريان Jumperless
- Architeuthis Flux Jumperless V5
- اردوينو نانو RP2040 الاتصال
- أرترونشوب RP2 نانو
- عصا الخبز التوت
- بريدج تيك IDM2040-7A
- بريدج تيك IDM2040-43A
- وحدة تحكم Cytron IRIV IO
- صانع سيترون بي RP2040
- صانع سيترون نانو RP2040
- صانع السيترون أونو RP2040
- سيترون موشن 2350 برو
- Datanoise PicoADK v1
- Datanoise PicoADK v2 (RP2350)
- ديجز سويبو RP2040
- DeRuiLab FlyBoard2040 الأساسية
- DFروبوت بيتل RP2040
- إلكترونيك كاتس هنتر كات إن إف سي
- اي في ان ألفا
- اكستريم الكترونيكس RC2040
- جراوند ستوديو ماربل بيكو
- إنفيكتور لابز تشالنجر RP2040 واي فاي
- إنفيكتور لابز تشالنجر RP2040 واي فاي/بليه
- إنفيكتور لابز تشالنجر RP2040 WiFi6/BLE
- إنفيكتور لابز تشالنجر NB RP2040 واي فاي
- إنفيكتور لابز تشالنجر RP2040 LTE
- إنفيكتور لابز تشالنجر RP2040 لورا
- إنفيكتور لابز تشالنجر RP2040 SubGHZ
- إنفيكتور لابز تشالنجر RP2040 SD/RTC
- إنفيكتور لابز تشالنجر RP2040 UWB
- إنفيكتور لابز تشالنجر RP2350 بي كونيكت
- إنفيكتور لابز تشالنجر RP2350 واي فاي/بليه
- مختبرات إنفيكتور RPICO32
- ميلوبيرو كوكي RP2040
- ميلوبيرو شيك RP2040
- ميتي هوكا أكانا R1
- نيكو سيستمز BL2040 ميني
- أوليمكس RP2040-Pico30
- نيوسان ارشي
- nullbits بت-C PRO
- بيموروني PGA2040
- بيموروني بيكو بلس 2
- بيموروني بيكو بلس 2 وات
- بيموروني بلازما 2040
- بيموروني تايني2040
- بيموروني تايني2350
- بينترونيكس بينماكس
- راك اللاسلكية RAK11300
- ريدسكورب RP2040-إينز
- ريدسكورب RP2040-بروميني
- سي بيكرو
- انظر مؤشر البذور RP2040
- انظر شياو RP2040
- انظر شياو RP2350
- سيليكيشن RP2040-شيم
- ختم حزب اللحام RP2040
- ختم حزب اللحام RP2350
- ختم لحام RP2350 XL
- سبارك فن مايكرو مود RP2040
- سبارك فن برو مايكرو RP2040
- سبارك فن برو مايكرو RP2350
- سبارك فن ثينج بلس RP2040
- سبارك فن ثينج بلس RP2350
- uPesy RP2040 DevKit
- VCC-GND YD-RP2040
- فيالاب ميزو RP2040
- ويفشير RP2040 زيرو
- ويفشير RP2040 واحد
- ويفشير RP2040 بلس
- ويفشير RP2040 ال سي دي 0.96
- ويفشير RP2040 ال سي دي 1.28
- مصفوفة Waveshare RP2040
- ويفشير RP2040 بيزيرو
- ويزنيت W5100S-EVB-بيكو
- ويزنيت W5100S-EVB-Pico2
- ويزنيت W5500-EVB-بيكو
- ويزنيت W5500-EVB-Pico2
- ويزنيت W55RP20-EVB-بيكو
- ويزنيت WizFi360-EVB-بيكو
- عام RP2040 (فلاش قابل للتكوين، دبابيس الإدخال/الإخراج)
- عام RP2350 (فلاش قابل للتكوين، دبابيس الإدخال/الإخراج)
سمات
- Adafruit TinyUSB Arduino (ماوس USB، لوحة مفاتيح، محرك أقراص فلاش، HID عام، CDC Serial، MIDI، WebUSB، وغيرها)
- Bluetooth على PicoW (الكلاسيكي وBLE) مع لوحة المفاتيح والماوس وعصا التحكم والمسلسل الافتراضي
- الوضع الرئيسي Bluetooth Classic وBLE HID (الاتصال بلوحة المفاتيح أو الماوس أو عصا التحكم BT)
- محاكاة Arduino USB التسلسلية ولوحة المفاتيح وعصا التحكم والماوس
- WiFi (Pico W، ESP32-based ESPHost، Atmel WINC1500)
- إيثرنت (Wired WizNet W6100، WizNet W5500، WizNet W5100، ENC28J60)
- عميل وخادم HTTP (خادم الويب)
- SSL/TLS/HTTPS
- ترقيات عبر الهواء (OTA).
- أنظمة الملفات (LittleFS وSD/SDFS)
- دعم متعدد النواة (setup1() وloop1())
- دعم FreeRTOS SMP
- رفع تردد التشغيل ورفع تردد التشغيل من القوائم
- الكتابة الرقمية/القراءة، التحول للداخل/الخارج، النغمة، الكتابة التناظرية (PWM)/القراءة، درجة الحرارة
- صوت ستيريو تناظري باستخدام DMA وADC المدمج
- خرج صوت ستيريو تناظري باستخدام أجهزة PWM
- مصدر صوت Bluetooth A2DP (الإخراج) والمغسلة (الإدخال) على PicoW
- وضع محرك أقراص USB لأجهزة تسجيل البيانات (SingleFileDrive، FatFSUSB)
- الأجهزة الطرفية: SPI رئيسي/تابع، سلك (I2C) رئيسي/تابع، UART مزدوج، EEPROM مقلد، إدخال/إخراج صوت I2S، مؤازرة
- printf (أي تصحيح) الإخراج عبر USB التسلسلي
- الاستخدام الشفاف لوحدات PSRAM العالمية والكومة (RP2350 فقط)
- دعم ARM أو RISC-V (Hazard3) لـ RP2350
يتم استخدام أجهزة الحالة RP2040 PIO (SMs) لإنشاء خالية من الارتعاش:
- الماكينات
- نغمات
- مدخلات I2S
- إخراج I2S
- UARTs البرمجية (المنافذ التسلسلية)
التثبيت عبر Arduino Boards Manager
ملاحظات خاصة بنظام Windows
يرجى عدم استخدام إصدار Windows Store لتطبيق Arduino الفعلي لأنه يواجه مشكلات في اكتشاف لوحات Pico المرفقة. استخدم "Windows ZIP" أو تنزيل "Windows" القابل للتنفيذ (EXE) مباشرة من https://arduino.cc. والسماح له بتثبيت أي برامج تشغيل للأجهزة يقترحها. وإلا فقد لا يتم اكتشاف لوحة Pico. أيضًا، إذا قمت بتجربة الإصدار 2.0 بيتا من Arduino، فيرجى تثبيت الإصدار 1.8 مسبقًا للتأكد من وجود برامج تشغيل الأجهزة المطلوبة. (انظر رقم 20 لمزيد من التفاصيل.)
ملاحظات خاصة بنظام التشغيل Linux
إن تثبيت Arduino باستخدام flatpak (غالبًا ما تستخدمه "متاجر التطبيقات" في توزيعات Linux المختلفة) يعني أنه تم تقييد الوصول إلى المضيف. قد يتسبب هذا في فشل عمليات التحميل مع ظهور رسائل خطأ مثل ما يلي:
Scanning for RP2040 devices
...
No drive to deploy.
إذا واجهت ذلك، فستحتاج إما إلى تثبيت Arduino بطريقة مختلفة، أو تجاوز ميزة وضع الحماية المسطحة باستخدام الأمر التالي، ثم إعادة تشغيل Arduino.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
تثبيت
افتح Arduino IDE وانتقل إلى File->Preferences.
في مربع الحوار المنبثق، أدخل عنوان URL التالي في حقل "عناوين URL الإضافية لمدير المجالس":
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
اضغط على موافق لإغلاق مربع الحوار.
انتقل إلى الأدوات->اللوحات->مدير مجلس الإدارة في IDE
اكتب "بيكو" في مربع البحث وحدد "إضافة":
التثبيت عبر GIT
مستخدمو Windows: قبل التثبيت عبر git
على Windows، يرجى قراءة واتباع الإرشادات الموجودة في هذا الرابط. إذا لم يتم تمكين مسارات Win32 الطويلة، ولم يتم تكوين git
لاستخدامها، فقد تكون هناك أخطاء عند محاولة استنساخ الوحدات الفرعية.
للتثبيت عبر GIT (للإصدارات الأحدث والأفضل):
mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init
cd pico-sdk
git submodule update --init
cd ../tools
python3 ./get.py
تحميل الرسومات
لتحميل الرسم الأول الخاص بك، ستحتاج إلى الضغط باستمرار على زر BOOTSEL أثناء توصيل Pico بجهاز الكمبيوتر الخاص بك. ثم اضغط على زر التحميل ويجب نقل الرسم وبدء تشغيله.
بعد التحميل الأول، لا ينبغي أن يكون هذا ضروريًا نظرًا لأن نواة arduino-pico
تتمتع بدعم إعادة التعيين التلقائي. حدد المنفذ التسلسلي المناسب الموضح في قائمة Arduino Tools->Port->Serial Port مرة واحدة (سيظل هذا الإعداد ثابتًا ولا يلزم لمسه لعمليات التحميل المتعددة). يسمح هذا التحديد لأداة إعادة الضبط التلقائي بتحديد الجهاز المناسب لإعادة ضبطه. يضغطون على زر التحميل ويجب تحميل الرسم الخاص بك وتشغيله.
في بعض الحالات، سيواجه جهاز Pico تعليقًا صعبًا ولن يستجيب منفذ USB الخاص به لطلب إعادة التعيين التلقائي. في حالة حدوث ذلك، ما عليك سوى اتباع الإجراء الأولي المتمثل في الضغط باستمرار على زر BOOTSEL أثناء توصيل Pico للدخول إلى أداة تحميل التشغيل ROM.
تحميل صور نظام الملفات
يتيح لك نظام ملفات الفلاش المدمج في Pico، LittleFS، تحميل صورة نظام الملفات من دليل الرسم لاستخدامها في الرسم الخاص بك. قم بتنزيل البرنامج المساعد المطلوب من
- https://github.com/earlephilhower/arduino-pico-littlefs-plugin/releases
للتثبيت، اتبع الإرشادات الواردة في
- https://github.com/earlephilhower/arduino-pico-littlefs-plugin/blob/master/README.md
للحصول على معلومات مفصلة عن الاستخدام، يرجى مراجعة وثائق الريبو ESP8266 (تجاهل الملاحظات المتعلقة بـ SPIFFS) المتوفرة على
- https://arduino-pico.readthedocs.io/en/latest/fs.html
تحميل الرسومات باستخدام Picoprobe/Debugprobe
إذا قمت ببناء Raspberry Pi Picoprobe، فيمكنك استخدام OpenOCD للتعامل مع تحميلات الرسومات الخاصة بك وتصحيح الأخطاء باستخدام GDB.
في نظام التشغيل Windows، يجب أن يكون المستخدم المسؤول المحلي قادرًا على الوصول إلى منفذ Picoprobe تلقائيًا، ولكن في نظام التشغيل Linux يجب إخبار udev
عن الجهاز والسماح للمستخدمين العاديين بالوصول.
لإعداد الوصول على مستوى المستخدم إلى Picoprobes على Ubuntu (وأنظمة تشغيل أخرى تستخدم udev
):
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="660", GROUP-"plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000f", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
sudo udevadm control --reload
sudo udevadm trigger -w -s usb
يقوم السطر الأول بإنشاء ملف جهاز في /dev
يطابق بائع USB ومعرف المنتج الخاص بـ Picoprobe، ويتيح أذونات القراءة والكتابة العامة. يؤدي السطر الثاني إلى قيام udev
بتحميل هذه القاعدة الجديدة. يطلب السطر الثالث من النواة إنشاء أحداث "تغيير الجهاز" التي ستؤدي إلى تشغيل قاعدة udev
الجديدة.
إذا لم يظهر ملف الجهاز لأي سبب من الأسباب، فافصل اتصال USB وأعد توصيله يدويًا وتحقق مرة أخرى. يمكن أن يكشف إخراج dmesg
عن تشخيصات مفيدة إذا ظل ملف الجهاز غائبًا.
بمجرد إعداد أذونات Picoprobe بشكل صحيح، حدد اللوحة "Raspberry Pi Pico (Picoprobe)" في قائمة "الأدوات" وقم بالتحميل كالمعتاد.
تصحيح الأخطاء باستخدام Picoprobe وOpenOCD وGDB
تتضمن الأدوات المثبتة إصدارًا من OpenOCD (في دليل pqt-openocd) وGDB (في دليل pqt-gcc). يمكن استخدام هذه لتشغيل GDB في نافذة تفاعلية كما هو موثق في أدلة Pico Getting Started من مؤسسة Raspberry Pi Foundation. استخدم سطر الأوامر ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl
أو ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl
من دليل تثبيت git
.
الترخيص والاعتمادات
- تم تطوير وصيانة Arduino IDE وArduinoCore-API بواسطة فريق Arduino. تم ترخيص IDE بموجب GPL.
- تم ترخيص سلسلة الأدوات المستندة إلى RP2040 في دول مجلس التعاون الخليجي بموجب رخصة GPL.
- تم إنتاج Pico-SDK بواسطة Raspberry Pi (Trading) Ltd ومرخصة بموجب ترخيص BSD 3-Clause.
- ملفات Arduino-Pico الأساسية مرخصة بموجب LGPL.
- مكتبة LittleFS مكتوبة بواسطة ARM Limited وتم إصدارها بموجب ترخيص BSD المكون من 3 فقرات.
- UF2CONV.PY هو من إنتاج شركة Microsoft ومرخص بموجب ترخيص MIT.
- رمز الشبكة ونظام الملفات مأخوذ من ESP8266 Arduino Core ومرخص بموجب LGPL.
- خادم DHCP لوضع مضيف AP من مشروع Micropython، الموزع بموجب ترخيص MIT.
- FreeRTOS هي حقوق الطبع والنشر لشركة Amazon.com, Inc. أو الشركات التابعة لها، ويتم توزيعها بموجب ترخيص MIT.
- lwIP هو (ج) المعهد السويدي لعلوم الكمبيوتر ومرخص بموجب ترخيص BSD.
- يتم توزيع مكتبة BearSSL التي كتبها Thomas Pornin بموجب ترخيص MIT.
- UZLib هي حقوق الطبع والنشر (c) لعام 2003 لـ Joergen Ibsen ويتم توزيعها بموجب ترخيص zlib.
- LEAmDNS هي حقوق الطبع والنشر للعديد من المؤلفين ويتم توزيعها بموجب ترخيص MIT.
- http-parser هو حقوق الطبع والنشر لشركة Joyent, Inc. والمساهمين الآخرين في Node.
- تم تعديل كود WebServer من ESP32 WebServer وهو محمي بحقوق الطبع والنشر (ج) لعام 2015 لصالح Ivan Grokhotkov وآخرين.
- Xoshiro-cpp هو حقوق الطبع والنشر (c) لعام 2020 لشركة Ryo سوزوكي ويتم توزيعه بموجب ترخيص MIT.
- كود نظام الملفات منخفض المستوى FatFS هو حقوق الطبع والنشر (C) 2024، ChaN، جميع الحقوق محفوظة.
- مدير ذاكرة TLSF لـ PSRAM من Espressif fork الأصلي بواسطة Matthew Conte هو حقوق الطبع والنشر لـ Matthew Conte ومرخص بموجب ترخيص MIT.
- مكتبة ESPHost مرخصة من قبل LGPL من قبل المشرفين عليها.
-إيرل ف. فيلهاور، الثالث
[email protected]