Ошейник Petfit для ухода за здоровьем питомца............
ссылка на проект на YouTube :)
Название проекта
Ошейник для домашних животных для коров
Описание
Pet Fit Collar — это портативный трекер здоровья и активности, разработанный для коров. Он отслеживает жизненно важные параметры, такие как частота сердечных сокращений, температура тела и движение.
Проект направлен на то, чтобы помочь фермерам и ветеринарам удале��но контролировать здоровье коров в режиме реального времени, улучшая благосостояние животных и раннее выявление проблем со здоровьем.
Особая часть: он объединяет показания нескольких датчиков в одну легкую систему ошейников с питанием от Arduino.
Функции
Измерьте частоту сердечных сокращений коровы с помощью датчика сердечного ритма.
Контролируйте температуру тела с помощью датчика температуры.
Обнаруживайте движение и расстояние с помощью двух ультразвуковых датчиков.
Отобразите собранные данные на последовательном мониторе или отправьте их на подключенное устройство для дальнейшего анализа.
Используемое оборудование и программное обеспечение
Аппаратное обеспечение:
Arduino Uno (или любая плата, совместимая с Arduino)
2 ультразвуковых датчика (HC-SR04)
1 датчик температуры (DS18B20 или LM35)
1 датчик сердечного ритма (например, MAX30100 или датчик пульса)
Батарея 9 В + зажим для аккумулятора (для портативного питания)
Провода, разъемы и крепление на воротнике
(Опционально) Модуль Bluetooth (например, HC-05) для беспроводной передачи данных
Программное обеспечение:
Ардуино IDE
Библиотеки для датчиков (например, OneWire и DallasTemperature для DS18B20)
(Опционально) Приложение Serial Bluetooth Terminal для просмотра на мобильных устройствах
Схема подключения
(Схему следует нарисовать отдельно — если хотите, могу помочь вам сделать базовую!)
Ключевые связи:
Ультразвуковой датчик 1: Триггер → D2, Эхо → D3
Ультразвуковой датчик 2: Триггер → D4, Эхо → D5
Датчик температуры: Данные → D6 (с подтягивающим резистором 4,7 кОм)
Датчик сердечного ритма: Сигнал → A0
Все датчики питаются через контакты 5 В и GND на Arduino.
Код
Резюме:
Считайте значения температуры, частоты сердечных сокращений и расстояния.
Распечатайте значения на последовательном мониторе.
(Необязательно) Отправьте значения через Bluetooth для мобильного мониторинга.
Выделите фрагмент:
// PET FIT COLLAR — Система мониторинга здоровья коров
// Датчики: 2 ультразвуковых датчика (HC-SR04), 1 датчик температуры (DS18B20), 1 датчик сердечного ритма (аналоговый датчик пульса)
#include
#include
// Определения выводов
const int trigPin1 = 2;
const int echoPin1 = 3;
const int trigPin2 = 4;
const int echoPin2 = 5;
const int tempSensorPin = 6; // вывод данных DS18B20
const int heartRatePin = A0; // Аналоговый вход для датчика пульса
// Инициализируем датчик температуры
OneWire oneWire(tempSensorPin);
Датчики температуры Далласа (&oneWire);
недействительная настройка() {
Серийный.начало(9600);
// Настройка контактов ультразвукового датчика
pinMode (trigPin1, ВЫХОД);
pinMode(echoPin1, INPUT);
pinMode (trigPin2, ВЫХОД);
pinMode(echoPin2, INPUT);
// Запуск датчика температуры
датчики.begin();
Serial.println(«Ошейник для домашних животных инициализирован.»);
}
недействительный цикл() {
// Чтение датчиков
float distance1 = MeasureDistance(trigPin1, echoPin1);
float distance2 = MeasureDistance(trigPin2, echoPin2);
температура плавающего режима = readTemperature();
int heartRate = readHeartRate();
// Печать данных
Serial.println("------ ДАННЫЕ PET FIT ------");
Serial.print(«Температура: „);
Serial.print(температура);
Serial.println(“°C»);
Serial.print(«Частота пульса (приблизительно): „);
Serial.print(heartRate);
Serial.println(“BPM»);
Serial.print(«Датчик расстояния перемещения 1: „);
Serial.print(расстояние1);
Serial.println(“см»);
Serial.print(«Датчик расстояния перемещения 2: „);
Serial.print(расстояние2);
Serial.println(“см»);
Serial.println("--------------------------\n");
// Задержка перед следующим чтением
задержка (2000); // 2 секунды
}
// Функция измерения расстояния с помощью ультразвукового датчика
float MeasureDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
задержкамикросекунды (5);
digitalWrite(trigPin, ВЫСОКИЙ);
задержкамикросекунды (10);
digitalWrite(trigPin, LOW);
большая продолжительность =pulsIn(echoPin, HIGH);
расстояние плавания = продолжительность * 0,034/2; // Формула скорости звука
обратное р��сстояние;
}
// Функция для чтения температуры
float readTemperature() {
датчики.requestTemperatures();
float tempC = Sensors.getTempCByIndex(0);
вернуть темпC;
}
// Функция для моделирования





























