цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Управление подключенным к Arduino двигателем с помощью сенсорных кнопок



Управление подключенным к Arduino двигателем с помощью сенсорных кнопок

Автор: Mike(admin) от 17-07-2023, 03:55

В рамках данного проекта, который отлично подойдет для новичков, мы исследуем увлекательный мир управления двигателем с помощью сенсорных кнопок. Независимо от того, являетесь ли вы новичком или опытным радиолюбителем, это благодаря данному материалу вы научитесь подключать и программировать сенсорные датчики для управления скоростью и направлением вращения двигателя.


Управление подключенным к Arduino двигателем с помощью сенсорных кнопок

Будьте готовы воплотить свои проекты в жизнь с помощью сенсорного управления двигателем.


Для начала соберите устройство согласно следующей схеме подключения. Здесь мы используем маломощный двигатель постоянного тока, питаемый и управляемый через драйвер L298N. Для вращения двигателя по часовой стрелке, против часовой стрелке и для его остановки используются три модуля сенсорных датчиков. Питание всего устройства может осуществляться от батарейки или аккумулятора с суммарным напряжением выше 5 В.


Управление подключенным к Arduino двигателем с помощью сенсорных кнопок

Код программы для Arduino следующий.



const int btn_Clock_wise = 3;
const int btn_Anti_Clock_wise = 5;
const int btn_Stop = 4;
const int IN1 =  A0;
const int IN2 = A1;


void setup() {
  Serial.begin(9600);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(btn_Clock_wise, INPUT);
  pinMode(btn_Anti_Clock_wise, INPUT);
  pinMode(btn_Stop, INPUT);
  
}

void loop() {

  if (digitalRead(btn_Clock_wise) == HIGH) {
    digitalWrite(IN2, HIGH);
    delay (500);
    digitalWrite(IN1, LOW);
    Serial.println("Rotate motor anti-Clock wise");
    delay (500);
  }
  else if (digitalRead(btn_Anti_Clock_wise) == HIGH) {
    digitalWrite(IN1, HIGH);
    delay (500);
    digitalWrite(IN2, LOW);
    Serial.println("Rotate motor Clock wise");
    delay (500);
  }
    else if (digitalRead(btn_Stop) == HIGH) {
    digitalWrite(IN1, HIGH);
    digitalWrite(IN2, HIGH);
    Serial.println("Stop the motor");
    delay (500);
  }
}



© digitrode.ru


Теги: Arduino




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий