Построение DIY инфракрасного датчика движения для Raspberry Pi — пошаговое руководство
В июле 2015 года я прошел стажировку в Университете штата Колорадо, где разработал ближний инфракрасный датчик приближенности для Raspberry Pi. Датчик может питать роботов-следопытов, камеры с активацией по движению и многое другое.
Ниже представлено полное руководство — от компонентов до кода — демонстрирующее, как построить надежный, недорогой инфракрасный детектор движения.
Материалы
- Raspberry Pi (любая модель с GPIO)
- Односторонняя перфорированная монтажная плата (любого размера)
- 1× Макетная плата (для прототипирования)
- Лакированные перемыточные провода (красный, черный, желтый)
- 1× ИК-светодиод-излучатель
- 1× ИК-приемник (фототранзистор)
- 1× Обычный светодиод (любой цвет) — визуальный индикатор
- 1× Блок питания 5 В от 5 В GPIO Pi
- 1× Два операционных усилителя LM358N9013
- 1× Подстроечный резистор 1 кОм
- Резисторы: 39 Ом, 1 кОм, 10 кОм, 6,8 кОм, 3,5 кОм
- Опционально: изолента, 3× контактные штыри, женские-дженские перемытки, обдиратель, кусачки, паяльник, припой
Шаг 1 — Прототипирование на макетной плате
Следуйте схеме (ссылка ниже) и питайте схему от 5 В GPIO Pi. Выход LM358 снижается до 3,3 В через делитель резисторов, чтобы остаться в пределах входных ограничений GPIO Pi.
После сборки подключите макетную плату к Pi с помощью женских-дженских перемыток. Если светодиод не загорается, поверните подстроечный резистор вправо до появления света. Если он загорается сразу после включения, поверните ручку влево до гашения, затем мягко вправо и остановитесь, когда светодиод загорится.
Шаг 2 — Перенос на перфорированную плату
Когда прототип работает, припаяйте компоненты на перфорированную плату. Сохраняйте четкие стороны «+» и «–» для питания. Припаяйте каждую деталь на месте и используйте перемыточные провода для необходимых связей. Подключите землю, выход и питание к контактным штырям. Обрежьте лишние провода, проверьте мультиметром и убедитесь в проводимости.
Опционально: обмотайте ИК-светодиод изолентой для сужения луча и увеличения эффективной дальности.
Шаг 3 — Программирование Pi
Используйте следующую программу на C (требует WiringPi) для запуска камеры Pi при обнаружении движения. Скрипт запрашивает имя файла и задержку, затем делает снимок.
#include <stdio.h>
#include <string.h>
#include <wiringPi.h>
#define SEN 0
#define MAXSIZE 50
#define A "Y"
#define B "O"
int main() {
wiringPiSetup();
pinMode(SEN, INPUT);
char answer1[MAXSIZE];
char answer2[MAXSIZE];
char name[MAXSIZE] = B;
char firstprefix[MAXSIZE] = "raspistill -hf -t ";
char secondprefix[MAXSIZE] = "xdg-open ";
printf("\nDo you want to name your picture first? (Enter Y/N and press ENTER): ");
scanf("%s", answer1);
if(strcmp(answer1, A) == 0){
printf("What do you want to call your video?: ");
scanf("%s", name);
strcat(name, ".jpg");
}
printf("How long do you wish the camera to wait before taking a picture? (Enter time in milliseconds and press ENTER): ");
scanf("%s", answer2);
strcat(firstprefix, answer2);
strcat(firstprefix, " -o ");
if(digitalRead(SEN) == LOW)
printf("\nCAMERA OFF\nError: Please check wiring OR move away from sensor.\n");
else {
printf("\nCAMERA ON\n1. To take picture, stand in front of camcorder.\n2. Your picture will be taken after the specified time.\n3. To view image, enter the command provided.\n\n");
for(;;){
if(digitalRead(SEN) == LOW){
system(strcat(firstprefix, name));
break;
}
}
}
strcat(secondprefix, name);
printf("Type *%s* and press ENTER to view your picture!\n", secondprefix);
return(0);
}
Для более подробной информации посетите оригинальную страницу проекта: DIY Infrared Motion Sensor System for Raspberry Pi.
Производственный процесс
- Сборка логгера температуры на Raspberry Pi с $5 I2C датчиком
- Raspberry Pi управляемая аквапоника: гайд по сборке и код
- Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
- Создание метеостанции на Raspberry Pi с ежедневными email-отчётами о погоде
- Подключение ультразвукового датчика HC‑SR04 к Raspberry Pi 3 — полное руководство
- Датчик движения SmartThings на компьютерном зрении с Raspberry Pi 3
- Надёжный домашний мониторинг с Home Assistant на Raspberry Pi: движение, алермы и видеозахват
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Построение низкобюджетного датчика влажности почвы на Raspberry Pi для умного полива
- Чтение линейного Холловского датчика с Raspberry Pi: руководство по Java и особенности ADC0832