Зміст

Arduino

Arduino – это очень популярная платформа для разработки устройств на микроконтроллерах AVR. Чаще всего – на ATMega328P.

Среды разработки

Для написания, отладки и загрузки программ для Arduino существует много разных средств. В том числе, существует несколько разных сред разработки (IDE).

Arduino

Arduino (одноимённая с самой платформой) – это среда разработки и загрузки программ от самих создателей платформы Arduino. Фактически, она является частью платформы, видимо, поэтому и носит то же название. Сама среда разработки написана на Java, и существует для разных операционных систем.

Arduide

ArduIDE – это самостоятельная среда разработки (в смысле интерфейса; библиотеки же, разумеется, она подключает те же). Она является свободной, написана на Qt, поэтому работает на разных операционных системах, не требуя наличия Java-машины.

MariaMole

MariaMole – также свободная альтернативная среда разработки для Arduino. Она также написана на Qt, поэтому может использоваться на разных операционных системах.

Программирование

Экраны

Символьный ЖК-экран 1602

arduino-lcd1602.jpg

FIXME

I²C

Для Экранов на контроллере типа Hitachi HD44780 существует очень популярный I²C-модуль, позволяющий управлять экраном всего по двум сигнальным проводам. Таким образом, для полного подключения экрана достаточно четырёх проводов:

Для управления экраном через такой блок можно воспользоваться библиотекой New LiquidCrystal, которая поддерживает как прямое подсключение экрана, так и через I²C-модуль. Поскольку эта библиотека не входит в комплект поставки среды разработки Arduino, её необходимо скачать и установить самостоятельно. 1)

Простейший пример использования этой библиотеки показан ниже. Более интересные примеры можно найти, например, здесь.

"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()
{
}

Растровый ЖК-экран 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

Ссылки

Официальный сайт Arduino: https://www.arduino.cc/

Arduino LiquidCrystal_I²C library by Mario H.

1)
В моём случае для успешной сборки проекта с использованием этой библиотеки пришлось удалить (временно перенести в другую папку) стандартную библиотеку LiquidCrystal из каталога библиотек Arduino, поскольку эти библиотеки конфликтовали.