Кормушка для домашних животных с дистанционным управлением
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Необходимые инструменты и машины
| ||||
|
Приложения и онлайн-сервисы
|
Об этом проекте
С помощью этого простого проекта Arduino вы можете кормить своего питомца с помощью пульта дистанционного управления. Все, что вам нужно, это плата Arduino Uno (или аналогичная), пластиковая бутылка, серводвигатель (не обязательно очень мощный), пульт от телевизора, ИК-приемник (TS0P1738) и небольшой кусок картона.>
Приступим!
Установка ИК-библиотеки:
Самое первое, что нам нужно сделать для связи с arduino, - это загрузить библиотеку IR.
Загрузите ИК-библиотеку по ссылке ниже и установите ее:https://github.com/z3t0/Arduino-IRremote
Если вы не знаете, как установить библиотеку, перейдите по ссылке ниже:https://www.arduino.cc/en/guide/libraries
Расшифровка ИК-сигналов:
Сначала вам нужно соединить детали согласно приведенной принципиальной схеме:
Вы можете оформить заказ Пин из TSOP1738 ниже:
Используйте следующий код для декодирования ИК-пульта ДУ:
/ * Контакты ИК-датчика подключены к Arduino следующим образом:Контакт 1 к Vout (контакт 11 на Arduino) Контакт 2 к GND Вывод 3 к Vcc (+ 5 В от Arduino) * / # include int IRpin =11; IRrecv irrecv (IRpin); результаты decode_results; void setup () {Serial.begin (9600); irrecv.enableIRIn (); // Запускаем приемник} void loop () {if (irrecv.decode (&results)) {Serial.println (results.value, DEC); // Распечатать серийный номер 'results.value' irrecv.resume (); // Получение следующего значения}}
- Откройте IDE Arduino и загрузите код.
- Открыть монитор последовательного порта.
- Направьте пульт на датчик и нажимайте каждую кнопку.
- Для каждой кнопки отображаются разные числа.
Рассмотрим любые две кнопки и запишите декодированные значения. В моем случае я выбрал кнопку питания и кнопку режима.
Получил следующие значения:
- Кнопка питания =33441975
- Кнопка режима =33446055
Мы будем использовать эти два значения для управления вращением серводвигателя. Вам необходимо добавить эти два значения в программу, которая дается на следующем шаге:
Давайте настроим финальное оборудование!
Последний круг!
- Подключите сигнальный контакт сервопривода к контакту № 9 на Arduino.
- подключите выводы VCC и GND сервопривода к 5V VCC и GND на Arduino.
- Сервопривод будет приклеен к одному концу пластиковой бутылки и повернет кусок картона, достаточно маленький, чтобы закрыть отверстие бутылки, чтобы еда была заблокирована.
- Если все оборудование подключено правильно, вы можете просто скомпилировать и загрузить на плату следующий эскиз.
#include #include int IRpin =11; // вывод для ИК-датчика IRrecv irrecv (IRpin); decode_results results; Servo myservo; void setup () {Serial.begin (9600); irrecv.enableIRIn (); // Запускаем приемник myservo.attach (9); // подключает сервопривод на выводе 9 к сервообъекту} void loop () {if (irrecv.decode (&results)) {irrecv.resume (); // Получение следующего значения} if (results.value ==33441975) // изменение в соответствии с номером кнопки вашего ИК-пульта {myservo.write (0); задержка (15); } if (results.value ==33446055) // изменить в соответствии с номером кнопки вашего ИК-пульта {myservo.write (30); задержка (15); }}
Теперь вы можете управлять своим открытием дозатора кормушки для домашних животных с помощью дистанционного управления с помощью этого простого проекта. :-)
Удачного создания!
Код
- Decode_IR
- IRremote_Servo_Control
Decode_IR Arduino
Используйте этот код для декодирования ИК-пульта ДУ/ * Контакты ИК-датчика подключены к Arduino следующим образом:Контакт 1 - Vout (контакт 11 на Arduino) Контакт 2 - GND Контакт 3 - Vcc (+ 5 В от Arduino) * / # includeint IRpin =11; IRrecv irrecv (IRpin); результаты decode_results; void setup () {Serial.begin (9600); irrecv.enableIRIn (); // Запускаем приемник} void loop () {if (irrecv.decode (&results)) {Serial.println (results.value, DEC); // Распечатать серийный номер 'results.value' irrecv.resume (); // Получаем следующее значение}}
IRremote_Servo_Control Arduino
Добавьте декодированное значение с вашего пульта дистанционного управления в этот код#include#include int IRpin =11; // вывод для ИК-датчика IRrecv irrecv (IRpin); decode_results results; Servo myservo; void setup () {Serial.begin (9600); irrecv.enableIRIn (); // Запускаем приемник myservo.attach (9); // подключает сервопривод на выводе 9 к сервообъекту} void loop () {if (irrecv.decode (&results)) {irrecv.resume (); // Получение следующего значения} if (results.value ==33441975) // изменение в соответствии с номером кнопки вашего ИК-пульта {myservo.write (0); задержка (15); } if (results.value ==33446055) // изменить в соответствии с номером кнопки вашего ИК-пульта {myservo.write (30); задержка (15); }}
Схема
Производственный процесс
- Вентилятор с регулируемой температурой
- Аквапоника под управлением Raspberry Pi
- Удаленный мониторинг погоды с помощью Raspberry Pi
- Универсальный пульт дистанционного управления Raspberry Pi
- Кнопка AWS IoT с управлением движением
- Удаленный монитор сердечного ритма
- Raspberry Pi / Hologram SMS Controlled AC Power Switch
- Робот, управляемый Wi-Fi и использующий Raspberry Pi
- ROObockey:робот для уличного хоккея с дистанционным управлением и прицеливанием
- Что такое пресс-питатель?