Контроль температуры с помощью LM35, семисегментного индикатора и пищалки (обучение работе с Proteus)

Данная статья написана специально для обучения работе с симулятором Proteus и показывает, как использовать готовый Arduino-скетч для моделирования системы контроля температуры без подключения реального оборудования.

температура с помощью LM35

В проекте используется датчик температуры LM35, двухразрядный семисегментный индикатор, реле и пищалка (buzzer), что позволяет отработать сразу несколько ключевых навыков: работу с аналоговыми датчиками, индикацией, цифровыми выходами и звуковой сигнализацией.

Назначение проекта

В рамках данного проекта Arduino:

  • считывает температуру с датчика LM35;
  • отображает текущее значение температуры на двухразрядном 7-сегментном индикаторе;
  • контролирует превышение температурного порога 20 °C;
  • включает реле при превышении порога;
  • подаёт звуковой сигнал (пищалка) при превышении 20 °C;
  • полностью работает в среде Proteus.

Необходимые компоненты

  • Arduino UNO;
  • Датчик температуры LM35;
  • Двухразрядный семисегментный индикатор (общий анод);
  • Пищалка (Buzzer);
  • Реле или модуль реле;
  • Proteus 8 или 9 с поддержкой Arduino.

Подключение датчика LM35

LM35 подключается по стандартной схеме:

  • VCC → 5V Arduino;
  • OUT → аналоговый вход A0;
  • GND → GND Arduino.

Датчик формирует напряжение 10 мВ на каждый градус Цельсия, что удобно для эмуляции в Proteus и дальнейшего масштабирования показаний.

Подключение семисегментного индикатора

Индикатор управляется напрямую через порт PORTD:

  • сегменты подключены к пинам D0–D7;
  • пины 8 и 9 используются для переключения разрядов;
  • применяется динамическая индикация.

Подключение реле и пищалки

Реле и пищалка работают как исполнительные устройства и активируются при превышении температуры 20 °C.

  • Реле → пин A1 (используется как цифровой выход);
  • Пищалка → тот же управляющий сигнал (или параллельно реле);
  • Питание → 5V;
  • Общий провод → GND.

В Proteus пищалка позволяет наглядно услышать момент срабатывания системы, что особенно полезно при обучении.

Принцип работы программы

После запуска скетча:

  • устанавливается внешняя опора АЦП (analogReference(EXTERNAL));
  • инициализируются порты для индикатора;
  • подготавливаются выходы для реле и пищалки.

В основном цикле Arduino:

  • считывает аналоговое значение с LM35;
  • преобразует его в числовое значение температуры;
  • выводит температуру на семисегментный индикатор;
  • если температура превышает 20 °C, включает реле и подаёт звуковой сигнал;
  • если температура ниже порога — реле и пищалка отключены.

Arduino-скетч

#define sensor A0
#define relay A1
#define E1 8
#define E2 9

void setup(){
  analogReference(EXTERNAL);
  pinMode(sensor, INPUT);
  for(int i=0;i<10;i++){
    pinMode(i,OUTPUT);    
  }  
  pinMode(relay,OUTPUT);
}

char num[]={
  0xC0,0xF9,0xA4,0xB0,0x99,
  0x92,0x82,0xF8,0x80,0x90
};

void loop(){
  int out = analogRead(sensor)/4;
  display2segment(out);

  if(out > 20){
    digitalWrite(relay, HIGH);   // включение реле и пищалки
  } else {
    digitalWrite(relay, LOW);    // отключение
  }
}

void display2segment(int temp){
  digitalWrite(E2,LOW);
  digitalWrite(E1,HIGH);  
  PORTD = num[temp/10];
  delay(1);

  digitalWrite(E1,LOW);
  digitalWrite(E2,HIGH);  
  PORTD = num[temp%10];
  delay(1);
}

Запуск проекта в Proteus

Для запуска симуляции:

  • распакуйте архив с файлами проекта;
  • откройте файл .pdsprj;
  • проверьте путь к .hex файлу в свойствах Arduino;
  • запустите симуляцию;
  • изменяйте температуру LM35 и наблюдайте индикацию, срабатывание реле и звуковой сигнал.

Важно: в Proteus температура LM35 не меняется автоматически — её необходимо изменять вручную в свойствах модели датчика.

Если что-то не работает

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

Подробно разобран первый проект в Proteus:
Первый проект в Proteus — мигание светодиода

📁 Скачать примеры