Напиши код на Arduino Uno, который при нажатии кнопки

Напиши код на Arduino Uno, который при нажатии кнопки порт 2 к которой подключен резистор в 10 кОм включается светодиод порт 13 и поворачивается сервопривод порт 9 на 200 градусов и возвращается в начальную позицию
Дополнительные параметры: codeFlowType: codeWrite codeFlowLang: C++
Создано: 05.05.2025 12:31

Напиши код на Arduino Uno, который при нажатии кнопки порт 2 к которой подключен резистор в 10 кОм включается светодиод порт 13 и поворачивается сервопривод порт 9 на 200 градусов и возвращается в начальную позицию

Вот пример кода на языке C++, который можно использовать на Arduino Uno. Этот код включает светодиод на порту 13 и поворачивает сервопривод на 200 градусов при нажатии кнопки, подключенной к порту 2. После этого сервопривод возвращается в начальную позицию.

#include <Servo.h>

const int buttonPin = 2;     // Пин кнопки
const int ledPin = 13;       // Пин светодиода
const int servoPin = 9;      // Пин сервопривода

Servo myServo;               // Создаем объект сервопривода

void setup() {
  pinMode(buttonPin, INPUT); // Устанавливаем пин кнопки как вход
  pinMode(ledPin, OUTPUT);    // Устанавливаем пин светодиода как выход
  myServo.attach(servoPin);   // Подключаем сервопривод
  myServo.write(0);           // Устанавливаем начальную позицию сервопривода на 0 градусов
}

void loop() {
  // Проверяем, нажата ли кнопка
  if (digitalRead(buttonPin) == HIGH) {
    digitalWrite(ledPin, HIGH);  // Включаем светодиод
    myServo.write(200);           // Поворачиваем сервопривод на 200 градусов

    // Задержка, чтобы сервопривод успел повернуться
    delay(1000); // Задержка 1 секунда (настраиваемая)
  
    myServo.write(0);             // Возвращаем сервопривод в начальную позицию
    delay(1000); // Задержка 1 секунда (настраиваемая)

    digitalWrite(ledPin, LOW);   // Выключаем светодиод
  }
}

Пояснения к коду:

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

    • Кнопка должна быть подключена к порту 2 и к земле через резистор 10 кОм.
    • Светодиод подключен к порту 13.
    • Сервопривод подключен к порту 9.
  • Логика работы:

    • В setup() устанавливаются режимы работы пинов.
    • В loop() происходит бесконечная проверка состояния кнопки. Если кнопка нажата, включается светодиод, сервопривод поворачивается на 200 градусов, после чего возвращается в начальное положение.

Замечания:

  • Убедитесь, что сервопривод поддерживает поворот на 200 градусов. Не все сервоприводы могут поворачиваться на такой угол.