Камера безопасности с датчиком движения на Arduino и Bluetooth (1Sheeld)
Компоненты и материалы
| Arduino UNO | ×1 |
| 1Sheeld (плата расширения для смартфона) | ×1 |
| Беспаечная макетная плата | ×1 |
| PIR-датчик движения | ×1 |
| LED с резистором | ×1 |
| Android-смартфон с Bluetooth | ×1 |
| Перемычки | ×1 |
Приложения и сервисы
- Arduino IDE
- Приложение 1Sheeld (на смартфоне)
О проекте
Учебник по созданию камеры, активируемой движением. Можно использовать как камеру наблюдения или «party cam». Фото загружаются в Twitter, по SMS приходит уведомление.
ВАЖНО: Убедитесь, что установлены ВСЕ библиотеки 1Sheeld!
Шаг 1: Подключение 1Sheeld
- Установите 1Sheeld на Arduino
- Подключите Arduino к ПК
- Переключатель UART на 1Sheeld должен быть в положении OPEN (иначе ошибка компиляции)
- Загрузите код: codepad.org/ckMD0prd
- В коде замените номер телефона на свой для SMS
Шаг 2: Подключение LED
- Анод LED → пин 8
- Катод через резистор → GND
Шаг 3: PIR-датчик движения
Держа датчик пузырем от себя (ножки внизу):
- Левая ножка → пин 2
- Средняя → 3.3V
- Правая → GND
Схема (Fritzing)
Шаг 4: Связь со смартфоном
- Сопрягите Android с 1Sheeld через Bluetooth в приложении 1Sheeld
- Активируйте щиты (shields):
- Camera Shield
- Twitter Shield (или Facebook Shield — код:
Facebook.postLastPicture("HappyHolidays")) - Text to Speech Shield (опционально)
- SMS Shield (для уведомлений)
- Авторизуйтесь во всех аккаунтах. Создайте отдельный Twitter-аккаунт для камеры.
Шаг 5: Запуск
- Дождитесь, пока LED погаснет (код загружен)
- Переключите UART на CLOSED — начинается общение 1Sheeld ↔ телефон
- Проверяйте Twitter — там появятся фото
Совет: Сделайте основной аккаунт подписчиком вторичного — получите пуш-уведомления при новых фото. Или используйте SMS-уведомления.
Код
// Необходимые define для экономии памяти:
#define INCLUDE_SMS_SHIELD
#define CUSTOM_SETTINGS
#define INCLUDE_CAMERA_SHIELD
#define INCLUDE_TEXT_TO_SPEECH_SHIELD
#define INCLUDE_FACEBOOK_SHIELD
#define INCLUDE_TWITTER_SHIELD
#include <OneSheeld.h>
int ledPin = 8;
int inputPin = 2;
int PIR = LOW;
int val = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(inputPin, INPUT);
OneSheeld.begin();
}
void loop() {
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, HIGH);
delay(100);
if (PIR == LOW) {
SMS.send("0123456789", "Motion DETECTED , Check Twitter for image");
PIR = HIGH;
TextToSpeech.say("got you");
Camera.setFlash(ON);
Camera.rearCapture();
Twitter.tweetLastPicture("Posted with #1sheeld @1sheeld");
// Facebook.postLastPicture("Posted by User"); // раскомментируйте для Facebook
delay(1000);
}
} else {
digitalWrite(ledPin, LOW);
if (PIR == HIGH) {
PIR = LOW;
}
}
}
Схемы
Untitled%20Sketch.fzz
Производственный процесс
- Запуск вашего IoT/OT проекта безопасности: пошаговый чертеж
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Построение ровера на Windows IoT Core с Raspberry Pi 2 — Руководство от новичка к профи
- Камера охраны с детектором движения на ESP32-CAM и отправкой фото в Discord
- 3D RGB Arduclock — Bluetooth-часы на адресных LED с RTC
- Мониторинг состояния реки: Arduino-система контроля качества воды
- Интерактивная игра с джойстиком и LED-обратной связью на Arduino
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Интерактивный LED-дисплей в двери с PIR-датчиком — новогоднее приветствие на Arduino
- Умный дом и система безопасности на базе 1Sheeld