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

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


arduino

Розбіжності

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

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

Наступна ревізія
Попередня ревізія
arduino [2015/11/17 22:22]
wombat створено
arduino [2025/06/24 16:06] (поточний)
wombat [Завантаження]
Рядок 2: Рядок 2:
  
 Arduino -- это очень популярная платформа для разработки устройств на микроконтроллерах AVR. Чаще всего -- на ATMega328P. Arduino -- это очень популярная платформа для разработки устройств на микроконтроллерах AVR. Чаще всего -- на ATMega328P.
 +
 +
 +====== Среды разработки ======
 +
 +Для написания,​ отладки и загрузки программ для 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 ​
 +</​file>​
 +
 +  $ 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>​
 +</​note>​
  
 ====== Программирование ====== ====== Программирование ======
Рядок 9: Рядок 95:
 ==== Символьный ЖК-экран 1602 ==== ==== Символьный ЖК-экран 1602 ====
  
 +{{::​arduino-lcd1602.jpg?​nolink}}
 +
 +FIXME
 +
 +=== I²C ===
 +
 +{{:​lcd1602-i2c.jpg?​200|}} Для Экранов на контроллере типа Hitachi HD44780 существует очень популярный I²C-модуль,​ позволяющий управлять экраном всего по двум сигнальным проводам. Таким образом,​ для полного подключения экрана достаточно четырёх проводов: ​
 +  * "​общий"​ или "​земля"​ (GND),
 +  * питание (+5В),
 +  * и два управляющих (SCL, SDA).
 +
 +Для управления экраном через такой блок можно воспользоваться библиотекой [[https://​bitbucket.org/​fmalpartida/​new-liquidcrystal/​wiki/​Home | New LiquidCrystal]],​ которая поддерживает как прямое подсключение экрана,​ так и через I²C-модуль. Поскольку эта библиотека не входит в комплект поставки среды разработки Arduino, её необходимо [[https://​bitbucket.org/​fmalpartida/​new-liquidcrystal/​downloads | скачать]] и [[https://​www.arduino.cc/​en/​Guide/​Libraries#​toc5 | установить]] самостоятельно. ((В моём случае для успешной сборки проекта с использованием этой библиотеки пришлось удалить (временно перенести в другую папку) стандартную библиотеку [[https://​www.arduino.cc/​en/​Reference/​LiquidCrystal | LiquidCrystal]] из каталога библиотек Arduino, поскольку эти библиотеки конфликтовали.))
 +
 +Простейший пример использования этой библиотеки показан ниже. Более интересные примеры можно найти, например,​ [[https://​arduino-info.wikispaces.com/​LCD-Blue-I2C | здесь]].
 +
 +<code c "​arduino-LCD1602-I2C-basic.c">​
 +#include <​LiquidCrystal_I2C.h>​
 +// Задание адреса устройства и других параметров:​
 +LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
 +
 +void setup()
 +{
 +  lcd.begin(16,​2); ​    // включение режима 16 символов,​ 2 строки
 +  lcd.backlight(); ​    // включение подсветки
 +  lcd.setCursor(0,​0); ​ // перевод курсора в первую позицию первой строки
 +  lcd.print("​Hello!"​);​ // вывод слова "​Hello!"​
 +}
 +
 +void loop()
 +{
 +}
 +</​code>​
 ==== Растровый ЖК-экран Nokia 5110 ==== ==== Растровый ЖК-экран Nokia 5110 ====
 +
 +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
  
  
Рядок 22: Рядок 186:
 Официальный сайт 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.1447791771.txt.bz2 · В останнє змінено: 2015/11/17 22:22 by wombat