Контроль температуры воды в газовой колонке при помощи Arduino


сервомашинка вращает регулятор
SONce собрал автоматический регулятор для своей газовой колонки — Oasis 20RG.
Всё что для этого потребовалось — это:
Arduino,
сервомашинка,
— проводочки, резисторы и прочая мелочевка.

Колонка умеет показывать текущую температуру воды, а значит — у неё на борту уже есть датчик который можно считать при помощи ардуино.
Датчик нашёлся на выходе горячей воды и оказался обычным термистором.
Подключив его через делитель напряжения к аналоговому входу Arduino, получаем аналоговое значение, которое, при помощи функции map() переводится в температуру.

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

http://www.youtube.com/watch?v=pHMlEtDSpIU

Скетч:

#include <Servo.h>
int termalPin=A5;
int enablePin=8;
int ledPin=7;
int temp;
int lastTemp=0;
boolean enabled=false;
static int minAngle=5;
static int maxAngle=100;
static int needTemp=40;
Servo myservo;

void setup()
{

//включаем сериал
  Serial.begin(9600);
//устанавливаем режимы пинов
  pinMode(enablePin,INPUT);
  pinMode(ledPin,OUTPUT);
}

void loop()
{
//мапим показания датчика на температуру
 temp = map(analogRead(termalPin),800,635,31,51);
 if(digitalRead(enablePin)==HIGH)
  {
//колонка включена
    if(!enabled)
    {
//если до этого не была включена

//атачим серву
      myservo.attach(9);
//ставим на середину
      myservo.write(50);
     Serial.println("WARMING UP BOILER.");
//ждем пока колонка разогреется
      delay(10000);
      Serial.println("BOILER READY!");

    }
//поехали
    enabled=true;
//зажигаем светодиод
    digitalWrite(ledPin,HIGH);
    Serial.print("BOILER ONLINE. CURRENT TEMP: ");
    Serial.print(temp);
    Serial.println(" C");
//смотрим на температуру и куда ее крутить
      if(temp>needTemp) decTemp();
      if(tempКонтроль температуры воды в газ. колонке

По теме
Использование ПИД на Arduino для управления электрическим нагревателем


0 комментариев на «“Контроль температуры воды в газовой колонке при помощи Arduino”»

  1. Этот чел — гений. Я уже несколько лет мучаюсь с похожей проблемой. У меня нет колонки, простой смеситель. Но давление воды постоянно скачет. Стоит кому-нибудь спустить бачок или открыть холодную воду на кухне, пока я принимаю душ, как у меня рождается масса новых ругательств. Словарь пора составлять.

    Прикрутить бы подобную систему к смесителю… да походу нормально это сделать будет не просто.

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение