2 Май 2026, Сб

МиМ. Arduino Nano

Описание и распиновка:

https://wiki.amperka.ru/%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:arduino-nano

Интерфейсы обмена данными:

https://habr.com/ru/companies/otus/articles/798571

Управление светодиодом

Схема

Программа

Отладка с помощью Serial Monitor

Широтно-импульсная модуляция (ШИМ)

Интерфейс I2C

https://soltau.ru/index.php/arduino/item/371-interfejs-i2c-i-arduino%20-%201.12.2019

Подключение LCD

Полная статья: https://linuxhint.com/arduino-nano-i2c-lcd-display/?__cf_chl_rt_tk=FmMJONj5gKrRtSl1TVQoK14miMYmNz.y2XqEOS9DjTw-1777394958-1.0.1.1-0XCS0GbClzoAjGd7FXFfYfx.s5s6ms2CWbjsKpXJaJs

Подключение:

Проверка связи:

#include <Wire.h> /*include Wire.h library*/
void setup()
{
  Wire.begin();          /*Wire I2C communication START*/
  Serial.begin(9600);    /*baud rate set for Serial Communication*/
  while (!Serial);       /*Waiting for Serial output on Serial Monitor*/
  Serial.println("\nI2C Scanner");
}
void loop()
{
  byte err, adr;        /*variable error is defined with address of I2C*/
  int number_of_devices;
  Serial.println("Scanning.");
  number_of_devices = 0;
  for (adr = 1; adr < 127; adr++ )
  {
    Wire.beginTransmission(adr);
    err = Wire.endTransmission();

    if (err == 0)
    {
      Serial.print("I2C device at address 0x");
      if (adr < 16)
        Serial.print("0");
      Serial.print(adr, HEX);
      Serial.println(" !");
      number_of_devices++;
   }
   else if (err == 4)
   {
     Serial.print("Unknown error at address 0x");
     if (adr < 16)
     Serial.print("0");
     Serial.println(adr, HEX);
   }
  }
  if (number_of_devices == 0)
    Serial.println("No I2C devices attached\n");
  else
    Serial.println("done\n");
  delay(5000);         /*wait 5 seconds for the next I2C scan*/
}

Полная статья здесь: https://linuxhint.com/use-multiple-i2c-devices-arduino/

Отображение текста:

#include <LiquidCrystal_I2C.h>

// Указываем адрес (0x27), количество столбцов (16) и строк (2)
LiquidCrystal_I2C lcd(0x27, 16, 2); 

void setup() {
  lcd.init();           // Инициализация дисплея
  lcd.backlight();      // Включить подсветку
  
  lcd.setCursor(0, 0);  // Курсор на 1-ю строку, 1-й символ
  lcd.print("Hello, World!");
  
  lcd.setCursor(0, 1);  // Курсор на 2-ю строку, 1-й символ
  lcd.print("Hello again!");
}

void loop() {
  // Здесь можно обновлять данные
}
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять