Меню сайта
Категории раздела
Материалы, инструменты и оборудование [20]
Расходники, инструменты, приспособления и материалы, которые могу быть полезны для сооружения гроубокса.
Контроль [16]
Системы мониторинга
Гроубоксы [12]
Помещения для выращивания
Субстраты [7]
Среды для выращивания
Электроника [47]
Статистика

Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа
Главная » Статьи » Электроника

Управление скоростью вращения компьютерного вентилятора 12В с помощью ардуино

Управление скоростью вращения компьютерного вентилятора через arduino

Применение

Там где надо поддерживать определенные условия, например влажность или температуру, чтобы не пересушить или не переохладить/перегреть что либо. А так же для снижения шума и экономии электроэнергии.

Что потребуется:

  1. arduino (любая, в примере arduino pro mini)
  2. Компьютерный вентилятор 12В
  3. Датчик DS18B20
  4. Резисторы 1k; 4.7k;
  5. Диод: 1N4007
  6. Транзистор: BD139 (аналог КТ815Г)
  7. Электр.конденсатор 100мкФ 16В.

Подключение

Цоколевка КТ815 в корпусе ТО-220

Картинки по запросу кт815 цоколевка

 

Диод 1N4007

Скетч

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 10
    
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
    
    int tempPin = ONE_WIRE_BUS; // выход LM35
    int fan = 11; // вывод на вентилятор
    int temp;
    int tempMin = 28; // температура начала вращения вентилятора
    int tempMax = 35; // максимальная температура, когда вентилятор вращается на 100%
    int fanSpeed;
  
     
    void setup() {
    pinMode(fan, OUTPUT);
    Serial.begin(9600);
    sensors.begin();
    pinMode(tempPin, INPUT);
    }
     
    void loop() {
    temp = readTemp(); // получаем температуру
    if(temp < tempMin) { // если temp меньше минимума
    fanSpeed = 0; // кулер не вращается
    digitalWrite(fan, LOW);
    }
    if((temp >= tempMin) && (temp <= tempMax)) { // если temp больше минимума
    fanSpeed = map(temp, tempMin, tempMax, 0, 255); // текущая скорость вентилятора
    analogWrite(fan, fanSpeed); // вращаем кулер со скоростью fanSpeed
    }
    
    Serial.print("TEMP: ");
    Serial.print(temp); // отображение температуры
    lcd.print("C ");
    delay(1000);
    
    }
     
    int readTemp() { // получить температуру и переконвертировать ее в цельсии
        sensors.requestTemperatures();
        temp = sensors.getTempCByIndex(0);
        return temp * 0.48828125;
    }



Источник: http://digitrode.ru/computing-devices/mcu_cpu/139-upravlyaem-ventilyatorom-s-pomoschyu-arduino.html
Категория: Электроника | Добавил: kimih (2017-09-18)
Просмотров: 6949 | Теги: изменение скорости вращения вентиля, скорость вращения вентилятора, Arduino | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Реклама