Користувальницькі налаштування

Налаштування сайту


arduino

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версійПопередня ревізія
Наступна ревізія
Попередня ревізія
arduino [2015/11/18 18:37] – Среды разработки wombatarduino [2026/03/09 12:03] (поточний) – [Завантаження] 50-easy-mount.rules wombat
Рядок 5: Рядок 5:
  
 ====== Среды разработки ====== ====== Среды разработки ======
 +
 +Для написания, отладки и загрузки программ для Arduino существует много разных средств. В том числе, существует несколько разных сред разработки (IDE).
 +
 +===== Arduino =====
 +
 +[[https://www.arduino.cc/en/Main/Software | Arduino ]] (одноимённая с самой платформой) -- это среда разработки и загрузки программ от самих создателей платформы Arduino. Фактически, она является частью платформы, видимо, поэтому и носит то же название. Сама среда разработки написана на Java, и существует для разных операционных систем.
 +
 +===== Arduide =====
 +
 +[[http://www.mupuf.org/project/arduide.html | ArduIDE]] -- это самостоятельная среда разработки (в смысле интерфейса; библиотеки же, разумеется, она подключает те же). Она является свободной, написана на Qt, поэтому работает на разных операционных системах, не требуя наличия Java-машины.
 +
 +===== MariaMole =====
 +
 +[[http://dalpix.com/mariamole | MariaMole]] -- также свободная альтернативная среда разработки для Arduino. Она также написана на Qt, поэтому может использоваться на разных операционных системах.
 +
 +
 +===== Arduino CLI =====
 +
 +Arduino CLI -- це не зовсім середовище програмування. Точніше, це взагалі не середовище програмування, а інструмент, який дозволяє компілювати програми та завантажувати їх до мікроконтролера з командного рядка. [[https://arduino.github.io/arduino-cli/1.2/ | Офіційний сайт]] дає такий опис:
 +
 +"//Arduino CLI is an all-in-one solution that provides Boards/Library Managers, sketch builder, board detection, uploader, and many other tools needed to use any Arduino compatible board and platform from command line or machine interfaces.//"
 +
 +==== Встановлення ====
 +
 +Встановити локально у будь-яку теку можна [[https://github.com/arduino/arduino-cli/blob/master/install.sh | скриптом від розробників]]:
 +
 +  cd ~/arduinocli
 +  curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
 +
 +
 +==== Налаштування ====
 +
 +Спочатку рекомендують створити конфігураційний файл, щоб не повторювати деякі параметри постійно у командному рядку:
 +
 +  $ arduinocli/bin/arduino-cli config init
 +
 +Для додавання сторонніх платформ потрібно вказати відповідні додаткові посилання у цьому конфігураційному файлі:
 +
 +<file yaml arduino-cli.yaml>
 +board_manager:
 +  additional_urls:
 +    - https://arduino.esp8266.com/stable/package_esp8266com_index.json
 +    - https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json 
 +network:
 +    connection_timeout: 600s
 +</file>
 +
 +Параметр "''connection_timeout: 600s''" буде корисним для випадків, коли мережеве з'єднання недостатньо швидке, або файли для додаткових платформ занадто великі, і не встигають завантажитися за 60 секунд (час за замовчуванням).
 +
 +  $ arduinocli/bin/arduino-cli core update-index
 +  $ arduinocli/bin/arduino-cli core install rp2040:rp2040
 +
 +  $ arduinocli/bin/arduino-cli board list
 +  Port          Protocol Type              Board Name               FQBN                                   Core
 +  /dev/ttyACM0  serial   Serial Port (USB) GroundStudio Marble Pico rp2040:rp2040:groundstudio_marble_pico rp2040:rp2040
 +                         Serial Port (USB) Waveshare RP2040 PiZero  rp2040:rp2040:waveshare_rp2040_pizero  rp2040:rp2040
 +                         Serial Port (USB) Waveshare RP2040 Zero    rp2040:rp2040:waveshare_rp2040_zero    rp2040:rp2040
 +
 +Додаткові бібліотеки можна встановити наступним чином (на прикладі бібліотеки "FastLED"):
 +
 +  arduinocli/bin/arduino-cli lib search FastLED
 +  arduinocli/bin/arduino-cli lib install FastLED
 +
 +  
 +==== Компіляція ====
 +
 +  arduinocli/bin/arduino-cli compile --fqbn rp2040:rp2040:waveshare_rp2040_zero MySketch
 +
 +
 +==== Завантаження ====
 +
 +  arduinocli/bin/arduino-cli upload -p /dev/ttyACM0 --fqbn rp2040:rp2040:waveshare_rp2040_zero MySketch
 +
 +<note>
 +**Зауваження для RP2040 та віддаленої консолі Raspberry Pi.**
 +
 +Для завантаження програми до мікроконтролера RP2040 з командного рядка Raspberry Pi OS може знадобитися дозвіл на автоматичне монтування дисків((https://askubuntu.com/a/1424539/298881)).
 +
 +  sudo nano /etc/polkit-1/localauthority/50-local.d/50-easy-mount.pkla
 +
 +<file ini 50-easy-mount.pkla>
 +[Allow mounting without password]
 +Identity=unix-group:sudo
 +Action=org.freedesktop.udisks2.filesystem-mount;org.freedesktop.udisks2.filesystem-mount-other-seat
 +ResultAny=yes
 +</file>
 +
 +Якщо попереднє рішення не працює, і під час спроби завантажити програму до мікроконтролера на екрані все одно видається запит на введення паролю, то можна спробувати додати файл "''/etc/polkit-1/rules.d/50-easy-mount.rules''" з наступним вмістом((https://askubuntu.com/a/1556654/298881)):
 +
 +<file udev 50-easy-mount.rules>
 +polkit.addRule(function(action, subject) {
 +    if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system" ||
 +         action.id == "org.freedesktop.udisks2.filesystem-mount" ||
 +         action.id == "org.freedesktop.udisks2.filesystem-mount-other-seat") &&
 +        subject.isInGroup("sudo")) {
 +        return polkit.Result.YES;
 +    }
 +});
 +</file>
 +
 +після чого перезапустити сервіс Polkit
 +
 +  sudo systemctl restart polkit.service
 +
 +Принаймні, це рішення перевірено на Ubuntu 24.04.
 +</note>
  
 ====== Программирование ====== ====== Программирование ======
Рядок 52: Рядок 158:
 FIXME FIXME
  
 +====== Дополнительные модули ======
 +
 +===== GSM =====
 +
 +==== M590 ====
 +
 +http://2150692.ru/faq/36-otpravka-sms-cherez-arduino-i-gsm-modul-neoway-m590
 +
 +http://3.bp.blogspot.com/-UKDPrI13Upc/Vc3OlCsOKgI/AAAAAAAAOOk/kheicepa20k/s1600/releveu_modul_cu_M590_curatat.JPG
 +
 +http://shortn0tes.blogspot.com/2016/05/neoway-m590-gprs-tutorial-sending-and.html
 +
 +http://2150692.ru/faq/62-gprs-svyaz-cherez-sim800l-i-arduino
 +
 +
 +
 +
 +
 +
 +====== Різні мікроконтролери ======
 +
 +
 +===== ESP8266 =====
 +
 +FIXME
 +
 +
 +
 +===== LGT8F328P =====
 +
 +https://github.com/RalphBacon/LGT8F328P-Arduino-Clone-Chip-ATMega328P
 +
 +https://github.com/dbuezas/lgt8fx
 +
 +https://github.com/dbuezas/lgt8fx/tree/master/docs
 +
 +https://github.com/LaZsolt/lgt8fx/tree/master/lgt8f/libraries/lgt_LowPower
 +
 +https://wolles-elektronikkiste.de/en/minievb-boards-an-overview#lqfp32_nano
 +
 +
 +
 +
 +FIXME
  
  
Рядок 59: Рядок 209:
 Официальный сайт Arduino: https://www.arduino.cc/ Официальный сайт Arduino: https://www.arduino.cc/
  
 +[[http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/ | Arduino LiquidCrystal_I²C library by Mario H.]]
arduino.1447871874.txt.bz2 · Востаннє змінено: повз wombat