Открыть список
Как стать автором
Обновить

Старые друзья шиворот-навыворот, или как светодиод может быть фотодатчиком

Разработка под Arduino
Действительно, на основе любого светодиода можно соорудить весьма недурственный датчик освещенности вроде того, который меряет освещенность на улице, чтобы автоматически включать лампу возле подъезда вечером.
Пост можно было озаглавить «удивительное рядом» — несмотря на то, что при внимательном рассмотрении принцип действия становится понятен довольно быстро, о подобном применении светодиодов знает, наверное, не каждый.
Метод я увидел вот тут: www.arduino.cc/playground/Learning/LEDSensor, быстренько проверил — работает!
Вот так это цепляется к Arduino/Freeduino:
image
Идея проста — если приложить к светодиоду обратное напряжение (pin 2 == 1, pin 3 == 0), то это зарядит собственную паразитную емкость ног микроконтролера. Если теперь переключить 2-ю ногу на вход, и не забыть отключить подтягивающий резистор, то емкость будет разряжаться обратным током фотодиода, который зависит от освещенности, и через некоторое время нога переключится в лог. 0. Паразитная емкость конечно мала, но ведь и обратный ток светодиода невелик, а микроконтроллер дьявольски быстр! :) Поэтому время разряда можно спокойно измерять.
Вот исходник, иллюстрирующий данный подход:
--- LED_Sensor.pde ---
void setup() {
  Serial.begin(9600);
}

void loop()
{
  long int j;

  // Прикладываем обратное напржение - это зарядит собственную емкость вывода 2
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  digitalWrite(2, HIGH);
  digitalWrite(3, LOW);
  
  pinMode(2, INPUT);     // Переключаем 2й вывод на вход
  digitalWrite(2, LOW);  // и отключаем на нем подтягивающий резистор

  // Считаем сколько времени потребуется, чтобы емкость разрядилась до логич. 0
  for ( j = 0; j < 128000; j++) {
    if (digitalRead(2)==0) break;
  }
  Serial.println(j, DEC); // Выводим значение счетчика в COM-порт
  delay(100);             // Пауза, чтобы не переполнять буфер COM-порта
}
---
Еще одним достоинством метода является то, что никто не мешает использовать тот же самый светодиод по своему прямому назначению.
Теги:arduinofreeduinoмикроконтроллерыэлектроникасветодиодфотодатчик
Хабы: Разработка под Arduino
Всего голосов 62: ↑61 и ↓1 +60
Просмотры12.5K

Похожие публикации

Лучшие публикации за сутки