Пример кода для Arduino IDE на C++ Этот код управляет двумя сервоприводами, используя два потенциометра. Первым потенциометром вы управляете первым сервоприводом, а вторым — вторым. Угол поворота сервоприводов отображается на дисплее SSD1306. Подключение Компоненты: 1. Arduino Nano 2. 2 серводвигателя 3. 2 потенциометра (10 кОм) 4. Дисплей SSD1306 5. Соединительные провода 6. Бредборд (по желанию) Схема подключения: - **Потенциометры**: - VCC (потенциометр) -> 5V (Arduino) - GND (потенциометр) -> GND (Arduino) - Сигнальный выход (потенциометр) -> A0 (потенциометр 1) и A1 (потенциометр 2) - **Сервоприводы**: - Провод данных (сервопривод 1) -> Pin 9 (Arduino) - Провод данных (сервопривод 2) -> Pin 10 (Arduino) - GND (сервопривод) -> GND (Arduino) - VCC (сервопривод) -> 5V (Arduino) - **Дисплей SSD1306**: - SCL (дисплей) -> A5 (Arduino) - SDA (дисплей) -> A4 (Arduino) - VCC (дисплей) -> 5V (Arduino) - GND (дисплей) -> GND (Arduino) Код: ```cpp #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #include <Servo.h> #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); // Пины для потенциометров и сервоприводов const int potPin1 = A0; const int potPin2 = A1; const int servoPin1 = 9; const int servoPin2 = 10; // Создание объекта сервопривода Servo servo1; Servo servo2; void setup() { // Инициализация серво servo1.attach(servoPin1); servo2.attach(servoPin2); // Инициализация дисплея display.begin(SSD1306_I2C_ADDRESS, OLED_RESET); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); } void loop() { // Читаем значения с потенциометров int potValue1 = analogRead(potPin1); int potValue2 = analogRead(potPin2); // Преобразуем значения в углы (0-180) int angle1 = map(potValue1, 0, 1023, 0, 180); int angle2 = map(potValue2, 0, 1023, 0, 180); // Устанавливаем углы сервоприводов servo1.write(angle1); servo2.write(angle2); // Обновляем дисплей display.clearDisplay(); display.setCursor(0, 0); display.print("Servo 1 angle: "); display.println(angle1); display.print("Servo 2 angle: "); display.println(angle2); display.display(); // Небольшая задержка delay(200); }

Описание:

  • Библиотеки Wire.h, Adafruit_GFX.h, и Adafruit_SSD1306.h используются для управления дисплеем.
  • Два сервопривода подключены к пинам 9 и 10.
  • Два потенциометра предназначены для управления углами сервоприводов.
  • Углы считываются из аналоговых входов и отображаются на OLED-дисплее.
Подключите все компоненты согласно схемам, загрузите этот код в вашу плату Arduino Nano, и у вас получится управление двумя сервоприводами с помощью потенциометров!
Информация на сайте не является публичной офертой, информацию уточняйте по электронной почте. Консультации и техническая поддержка осуществляется только по электроноой почте gpslife@yandex.ru; Материал (сайт/статьи) может содержать не точности, содержать тексты и материалы которые могут генерировать ИИ/нейронные сети. Ресурс (сайт) содержит рекламные материалы.