Занятие №5 Датчики (термистор)

Подключим к ардуино один из доступных датчиков — датчик температуры или термистор.

Обозначение термистора на схемах

Термистор — полупроводниковый резистор, электрическое сопротивление которого существенно зависит от температуры. При повышении температуры сопротивление снижается.

Что хотим

Строим схему с термистором и меняем количество горящих диодов в зависимости от температуры.

Что понадобится

Кроме всего обычного — термистор. Мы используем B57164-K0103.

Этапы работы

  • Собираем схему №1
  • Определяем диапазон изменения температуры
  • Совершенствуем схему и программу
  • Радуемся результату
  • Генерируем идеи.

Собираем схему №1

СХема №1

Используем резистор на 10KOm

Схема очень напоминает схему с кнопкой, но теперь вместо кнопки ставим термистор и соединяем его с аналоговым входом А2.

Аналоговый вход может различать силу сходящего сигнала. 0 — минимальный уровень, 1023 — максимальный. Говорят, 10-битная градация (210=1024).

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

Программа:

void setup () {
pinMode(A2,INPUT); //A2 пин — на вход сигнала

Serial.begin(9600); //связь с компьютером 9600 бит/с
}
void loop () {
int t = analogRead(A2); //читаем значение с A2
Serial.println(t); //пишем это значение в //последовательный порт (для нас это USB)

delay(10); // немного ждём
}

Прошиваем программу. На экране находим кнопку «Serial Monitor», жмём.

Кнопка Serial Monitor

В открывшемся окне бегут числа — это условное значение, зависящее от температуры. Запишите минимальное число, которое вы успели заметить. Теперь аккуратно возьмитесь за резистор — от тепла Ваших рук его температура повысится и числа на экране увеличатся. Пусть это будет максимальная температура.

Совершенствуем схему.

Подсоединим к схеме 3 диода, «повесив» их на 10-12 порт платы.

Аккуратно с диодами.

Пусть при минимальной температуре горит один диод, при увеличении температуры — 2, а при максимальной температуре — все 3.

Для этого в программе проведем калибровку входящих показаний. Пусть минимальная значение равно 540, максимальное (когда мы хотим зажечь все три диода) — 600.

Определим значение переменной led следующим образом:

int led = map (t,540,600,0,3);

Таким образом при изменении показаний переменной t от 540 до 600 единиц значение переменной led будет меняться от 0 до 3.

Пишем программу

void setup () {

pinMode(A2,INPUT); //A2 пин — на вход сигнала

Serial.begin(9600); //связь с компьютером 9600 бит/с

for (int i=10; i<=12; i++) {

pinMode (i,OUTPUT);

}

}

void loop () {

int t = analogRead(A2); //читаем значение с A2

int led = map (t,540,600,0,3);

if (led>=1) {digitalWrite(10,HIGH);}

else {digitalWrite(10,LOW);}

if (led>=2) {digitalWrite(11,HIGH);}

else {digitalWrite(11,LOW);}

if (led>=3) {digitalWrite(12,HIGH);}

else {digitalWrite(12,LOW);}

Serial.println(t); //пишем это значение в //последовательный порт (для нас это USB)

delay(10); // немного ждём

}

Ну, вроде, всё работает.

Подумайте, где можно применять собранную схему.

А если диоды заменить чем-то еще?

Попробуйте подсоединить еще несколько диодов для более точного отображения температуры.

Всё.

Успехов.

2 комментария (+add yours?)

  1. Иван
    Май 22, 2012 @ 17:03:44

    А будут ещё уроки? просто в ардуинке новичок, хотелось бы ещё с пищалкой разобраться)

    Ответить

    • Александр А. Паршев
      Сен 09, 2012 @ 11:30:47

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

      Ответить

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: