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

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


arduino

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
arduino [2015/11/17 22:54]
wombat Символьный ЖК-экран 1602
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>​
  
 ====== Программирование ====== ====== Программирование ======
Рядок 15: Рядок 101:
 === I²C === === 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 ====
  
Рядок 25: Рядок 135:
 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
  
  
Рядок 32: Рядок 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.1447793693.txt.bz2 · В останнє змінено: 2015/11/17 22:54 by wombat