Водяной пистолет с датчиком движения
Компоненты и расходные материалы
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Необходимые инструменты и машины
![]() |
|
Об этом проекте
Обзор
Этот проект был вдохновлен Тинкернут . Пистолет для обнаружения движения Arduino:
Я хотел воспроизвести проект Тинкернута, но проблема заключалась в том, что я не мог достать Raid Auto Trigger, потому что он недоступен в Китае, где я жил. Однако быстрый поиск на Taobao.com привел меня к следующему интересному продукту:
Очень похоже на Raid Auto Trigger, и по разумной цене 78,80 ¥ я решил купить его. Взломать его оказалось значительно проще, так как вам не нужно было вмешиваться в какие-либо внутренние компоненты. Вам нужно было только изменить кнопку так, чтобы она была совместима с макетом / Arduino. Если вы живете в Китае (или если Taobao доставляет в вашу страну), вы можете приобрести шприц-пистолет здесь.
Мы превратили это в семинар, отсюда и все слайды в PowerPoint и большой текст.

ШАГ 1. Взломайте водяной пистолет
ШАГ 2. Взаимодействие с Arduino
Настройте и протестируйте датчик движения PIR с помощью Arduino Nano.
/ * * Датчик PIR * / int CalibrationTime =10; // время, которое мы даем датчику для калибровки (10-60 секунд согласно даташиту) int outputPin =2; // выбираем вывод светодиода int inputPin =4; // выбираем входной контакт (для датчика PIR) int pirState =LOW; // мы начинаем, предполагая, что движение не обнаружено int val =0; // переменная для чтения статуса вывода void setup () {pinMode (outputPin, OUTPUT); // объявляем светодиод как выход pinMode (inputPin, INPUT); // объявляем датчик входным digitalWrite (outputPin, LOW); // предотвращает стрельбу из пушки при включении питания Serial.begin (9600); // даем датчику время для калибровки Serial.print ("калибровка датчика"); for (int я =0; я <Время калибровки; я ++) {Serial.print ("."); задержка (1000); } Serial.println ("готово"); Serial.println («ДАТЧИК АКТИВЕН»); задержка (50); } недействительный цикл () {значение =digitalRead (inputPin); // считываем входное значение if (val ==HIGH) {// проверяем, является ли вход HIGH digitalWrite (outputPin, HIGH); // включаем светодиод if (pirState ==LOW) {// мы только что включили Serial.println ("Обнаружено движение!"); // Мы хотим печатать только при изменении вывода, а не состояние pirState =HIGH; }} еще {digitalWrite (outputPin, LOW); // выключаем светодиод if (pirState ==HIGH) {// мы только что отключили Serial.println ("Движение закончилось!"); // Мы хотим печатать только при изменении вывода, а не состояние pirState =LOW; }}}
Используйте серийный монитор, чтобы убедиться, что он работает, а затем пора подключить водяной пистолет.
Установите транзистор и резистор следующим образом:
И с этим у вас должен быть рабочий движитель! Мы использовали лазерный резак, чтобы сделать деревянный корпус (так как он очень быстрый, и нам понадобилось их несколько для мастерской), но вы также можете использовать 3D-принтер.
Имейте в виду, что я добавил 10-секундную задержку в коде, чтобы датчик движения мог откалибровать.

Производственный процесс
- Водяной пистолет
- Датчик движения с использованием Raspberry Pi
- Создание монитора Ambilight с помощью Arduino
- Игра Arduino Pong - OLED-дисплей
- Мониторинг CO2 с помощью датчика K30
- Какой ты рост?
- Детектор звуковой частоты
- Светодиодная матрица + датчик движения дверной дисплей [Arduino Holiday]
- Tech-TicTacToe
- Башня датчика облаков Arduino