Подключение вентилятора

В этой статье мы рассмотрим, как подключить вентилятор.

Если ты уже управлял двигателями через драйвер на микросхемах L9110, L293D или L298N, то сложностей не будет, ведь по сути, модуль представляет собой драйвер двигателя с одним H-мостом. Но в отличии от драйвера, на этом модуле уже установлен малый, но в то же время мощный двигатель с большим винтом.

Соберем схему.

Далее напишем программу такую же, как и для драйвера двигателя, но только на один выход.

#define MOTOR_SPEED 11
#define MOTOR_DIR 13

void setup() {
  pinMode(MOTOR_SPEED, OUTPUT);
  pinMode(MOTOR_DIR, OUTPUT);
}

void loop() {
  digitalWrite(MOTOR_DIR, LOW);
  analogWrite(MOTOR_SPEED, 255);
  delay(3000);

  digitalWrite(MOTOR_DIR, HIGH);
  analogWrite(MOTOR_SPEED, 0);
  delay(3000);
}

В итоге видим, что винт крутится и каждые 3 секунды меняет направление своего вращения на противоположное. Помимо этого, с помощью ШИМ-сигнала можно изменять скорость вращения.

Если надо что-то быстро охладить, например, радиатор микропроцессора, то можно подключить термистор и прислонить его к нагревающейся поверхности. После калибровки термистора мы можем узнать когда необходимо охладить радиатор, включив вентилятор на обдув.

#define MOTOR_SPEED 11 //Скорость вращения
#define MOTOR_DIR 13 // Направление вращения
#define THERMISTOR_PIN A3
#define VALUE_LIMIT 457 // Пиковая температура

int value = 0;

void setup() {
  pinMode(MOTOR_SPEED, OUTPUT);
  pinMode(MOTOR_DIR, OUTPUT);
  pinMode(THERMISTOR_PIN, INPUT);
}

void loop() {

  value = analogRead(THERMISTOR_PIN);
  //Если текущая температура выше пиковой, то вентилятор включен на max
  if (value > VALUE_LIMIT) {
    digitalWrite(MOTOR_DIR, LOW);
    analogWrite(MOTOR_SPEED, 225);
  } else {
    digitalWrite(MOTOR_DIR, LOW);
    analogWrite(MOTOR_SPEED, 0);
  }
}

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