цифровая электроника
вычислительная техника
встраиваемые системы

 



Arduino и датчик освещенности TEMPT6000

Автор: Mike(admin) от 5-01-2017, 16:15

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


Arduino и датчик освещенности TEMPT6000

Эти сенсоры довольно просты в применении и стоят не слишком дорого, поэтому их довольно часто применяют радиолюбители в своих проектах. В данном материале рассмотрим использование датчика освещенности вместе с платой Arduino.


TEMT6000 представляет собой датчик с аналоговым выходом, поэтому он совместим с любым микроконтроллером, способным принимать аналоговые сигналы. Поэтому он должен быть подключен к любому из аналоговых входов Arduino (A0-A5). TEMT6000 используется в качестве датчика внешней освещенности для управления подсветкой в мобильных телефонах, ноутбуках, фотоаппаратах и других потребительских устройствах. По своей сути TEMT6000 представляет собой фототранзистор, который подключается в соответствии со схемой, приведенной ниже.


Arduino и датчик освещенности TEMPT6000

Это устройство чувствительно ко всему световому диапазону видимого света. Если уровень света очень низок, то уровень напряжения на выходе SIG будет также очень мал. При увеличении освещенности на выходе также будет увеличиваться напряжение. Для подключения датчика требуется всего три провода: питание, земля и сигнальный провод. Схема подключения TEMT6000 и платы Arduino Pro Mini 3.3V/8MHz представлена ниже.


Arduino и датчик освещенности TEMPT6000

Код для взаимодействия платы Arduino с датчиком освещенности TEMT6000 приведен далее. В этом скетче линия аналоговых данных A0 используется для приема сигнала с датчика TEMT6000, который содержит информацию об определенном уровне освещенности в конкретный момент. После приема этого сигнала высчитывается процент текущего уровня освещенности, который отправляется в последовательный порт для информирования пользователя в численном виде. Также при превышении освещенности определенного порога (в данном случае 1000) загорается светодиод на линии D13.



int temt6000Pin = A0;// Переменная аналогового входа для чтения данных с датчика
float light;
int light_value;
void setup() {
  Serial.begin(112500);
  pinMode(temt6000Pin, INPUT); // Настраиваем temt6000Pin на вход
  pinMode(13, OUTPUT);
}

void loop() {
  int light_value = analogRead(temt6000Pin);
  light = light_value * 0.0976;// расчет процента 
  Serial.println(light);
  delay(100);
  if (light_value > 1000) {
    digitalWrite(13, HIGH);
  }
  else {digitalWrite(13,LOW);}

}



Теги: Arduino, датчик освещенности, TEMPT6000




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий