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

 



Простой датчик движения на основе ATtiny85 и ИК-сенсора

Автор: Mike(admin) от 25-08-2023, 03:55

Хотите иметь компактное устройство-невидимку, которое улавливает движение любого объекта, испускающего ИК-излучение, т. е. людей, животных и т. д.?


Простой датчик движения на основе ATtiny85 и ИК-сенсора

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


Поскольку целью данного проекта было создание небольшой печатной платы, нам нужна крошечная микросхема управления. Микроконтроллер ATtiny85 был идеальным выбором. Он имеет достаточное количество функциональных возможностей, и может программироваться в Arduino IDE, где поддерживает функции, как digitalRead(), digitalWrite() и delay(), которые необходимы для работы данного проекта.


Простой датчик движения на основе ATtiny85 и ИК-сенсора

Здесь мы будем использовать пассивный ИК-датчик. Пассивные инфракрасные (PIR) датчики – это датчики, способные обнаруживать изменения в инфракрасном излучении, вызванные движением объектов, излучающих ИК-излучение, таких как люди и животные, и генерировать цифровой ВЫСОКИЙ сигнал или цифровой НИЗКИЙ сигнал в зависимости от того, есть ли есть движение или нет. Эта технология лежит в основе почти каждой коммерчески доступной сегодня системы, активируемой движением.


Простой датчик движения на основе ATtiny85 и ИК-сенсора

Принципиальная схема следующая.


Простой датчик движения на основе ATtiny85 и ИК-сенсора

Схема печатной платы выглядит, как показано далее.


Простой датчик движения на основе ATtiny85 и ИК-сенсора

Код для ATtiny85, написанный для Arduino, следующий.



const int pirPin = 4; 
const int LED_Pin = 0;

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(LED_Pin, OUTPUT);
}

void loop() {
  int motionDetected = digitalRead(pirPin);
  
  if (motionDetected == HIGH) {
    digitalWrite(LED_Pin, HIGH);
    delay(10);
    digitalWrite(LED_Pin, LOW);
  } else {
    digitalWrite(LED_Pin, LOW);
  }
  delay(50);
}

Код очень простой. Он быстро мигает светодиодом, когда датчик PIR активирован. Рекомендуется в данном случае поэкспериментировать самостоятельно, если вы хотите, чтобы светодиод мигал медленнее или быстрее. Отредактируйте задержкуь (50), чтобы изменить частоту мигания.




© digitrode.ru


Теги: ATtiny




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

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

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