Главная > Arduino > Arduino + аналоговый температурный датчик LM35

Arduino + аналоговый температурный датчик LM35


27 апреля 2013. Разместил: dimon
Подключим аналоговый температурный датчик LM35 к Arduino, температуру будем выводить на дисплей 1602.


/*
Баловство аналоговым температурным датчиком LM35.

дисплей 1602, LM35, потенциометр для подсветки дисплея

Подклюение дисплея 1602:
Контакт дисплея  	Контакт Arduino	             Значение
  1	                       GND                   Vss
  2                            5V                    Vdd
  3                            GND	             Vo (контрастность)
  4	                       digital 12	     RS
  5	                       digital 11            R/W
  6	                       digital 10            ENABLE
  11	                       digital 5	     DB4
  12	                       digital 4	     DB5
  13	                       digital 3	     DB6
  14                           digital 2	     DB7
  15	                       5V	             LED+
  16                           GND	             LED-

 */
 
 // подключаем библиотеку для работы с LCD
 #include <LiquidCrystal.h>
 // инициализируем LCD, указывая контакты данных
 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);


// задаем переменные
 int Count = 0;                  // счетчик обновлений
 int tempPin = 0;                // пин куда подключен датчик
 float tempc = 0;                // переменная для температуры
 float maxi = 0, mini = 30;      // max/min значения температуры

 
 void setup() {
   
   
   // красивая "загрузка" программы при старте :)
    lcd.begin(16, 2);
    lcd.print("Loading");
    delay(500);                // ждем 0.5 секунды
    lcd.print(".");
    delay(500);                // ждем 0.5 секунды
    lcd.print(".");
    delay(1000);               // ждем 1 секунду
    lcd.clear();               //очистка экрана
  
  
    // Задаем режим работы портов  
     
 }
 
 void loop() {
   
    lcd.clear();               //очистка экрана
  
    // считываем и вычисляем температуру
    tempc = ( 5.0 * analogRead(tempPin) * 100.0) / 1024.0;



     if(tempc > maxi) {maxi = tempc;} // max температура?
     if(tempc < mini) {mini = tempc;} // min температура?

     lcd.setCursor(0, 0);     // устанавливаем курсор в 0-ом 
                                 // столбце, 1 строке (начинается с 0)
     lcd.print("T="); 
     lcd.print(tempc);        // выводим текущую температуру
     lcd.print(" C"); 
	
     lcd.setCursor(13, 0);    // устанавливаем курсор в 12-ом столбце, 1 строке
     lcd.print(Count);        // выводим кол-во измерений
	 
     lcd.setCursor(0, 1);     // устанавливаем курсор в 0-ом столбце, 2 строке
     lcd.print(mini);         // выводим min температуру
     lcd.print("<T<"); 
     lcd.print(maxi);         // выводим max температуру
	 
     
	 
	 
     delay(5*1000);   // задержка перед повторением измерений
     Count++;         // инкремент счетчика измерений

 }



Схема подключения LM35 к AdruinoСхема подключения LM35 к Adruino


LM35 и Adruino на макеткеLM35 и Adruino на макетке

Вернуться назад