Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Pulseme - это носимое устройство, которое помогает людям узнать, когда их сердцебиение превышает заданное значение, предоставляя им физическую обратную связь в виде уменьшающихся и неусаживающихся носимых устройств.
Шаг 1: Описание
Основная часть этого предмета одежды - шерстяная ткань, которая постоянно соприкасается с рукой пользователя и при сжатии создает ощущение мягкости. Кроме того, есть механизм, управляемый Arduino, который отвечает за движение ткани, а также датчик пульса.
Шаг 2: материалы
В частности, для создания этого физического датчика импульсов уведомлений необходимы следующие части:
- Ардуино Уно
- Датчик пульса
- 2 x сервопривода непрерывного вращения (DS04-NFC)
- 2 x пружины
- Браслет
- Ткань
- Потоки
- Аккумулятор
Шаг 3: Схема
Для создания электронной части этого носимого устройства используются две простые схемы.
Схема датчика:
- Контакт 1 датчика к Arduino A0
- Вывод датчика 2 на + 5В
- Контакт 3 датчика к GND
Сервоконтур:
- Вывод Servo1 на вывод 8 Arduino
- Вывод Servo2 на вывод 9 Arduino
Наконец, подключите + 5V и GND к соответствующим клеммам на плате Arduino.
Шаг 4: Собираем все вместе
Для сборки этого носимого устройства необходимо выполнить следующие действия:
- Измерьте диаметр руки среднего человека, чтобы сшить ткань в зависимости от ее формы / размера.
- Купите или напечатайте на 3D-принтере подходящий браслет, который будет служить основой для всей электроники / двигателей.
- Притачать пружины к ткани с противоположных сторон.
- Приклейте два сервопривода к браслету.
- Соедините пружины и сервоприводы, используя резьбу.
- Отрегулируйте код, чтобы он соответствовал вашим предпочтениям и / или размеру вашей ткани.
- Наслаждаться!
Шаг 5: Настройте Arduino и код
Сначала подключите Arduino к компьютеру и приведите его в рабочее состояние. Это просто сделать. Затем запрограммируйте Arduino на считывание импульса и управление сервоприводами, когда частота пульса выходит за пределы нормального диапазона. По сути, нам также нужно изменить частоту, с которой он считывает входное значение, чтобы получить следующий код: задержка (9000) считается лучшей практикой в простом скетче. Код следующий:
Серво myservo1; Серво myservo2; int pos; // Переменные const int PulseWire = 0; // PulseSensor ФИОЛЕТОВЫЙ ПРОВОД, подключенный к АНАЛОГОВОМУ PIN 0 const int LED13 = 13; // Встроенный светодиод Arduino, близкий к PIN 13. // int Threshold = 550; // Определяем, какой сигнал "считать как такт", а какой игнорировать. // Используйте «Gettting Started Project» для точной настройки порогового значения за пределами значения по умолчанию. // В противном случае оставьте значение по умолчанию "550". PulseSensorPlayground pulseSensor; // Создает экземпляр объекта PulseSensorPlayground с именем «pulseSensor» void setup () {Serial.begin (9600); // Для последовательного монитора
// Настраиваем объект PulseSensor, назначая ему наши переменные. PulseSensor.analogInput (PulseWire); pulseSensor.blinkOnPulse (LED13); // автоматически мигает светодиодом Arduino с биением сердца. // pulseSensor.setThreshold (Порог); // Еще раз проверяем, что объект "pulseSensor" был создан и "начал" видеть сигнал. if (pulseSensor.begin ()) {Serial.println («Мы создали объект pulseSensor!»); // Это печатается один раз при включении Arduino или при сбросе Arduino. }} недействительный цикл () {int myBPM = pulseSensor.getBeatsPerMinute (); // Вызывает функцию нашего объекта pulseSensor, который возвращает BPM как "int". // "myBPM" теперь удерживает это значение BPM. //myservo1.attach(9); // if (pulseSensor.sawStartOfBeat ()) {// Постоянно проверять, не произошло ли "биение". Serial.println («♥ A HeartBeat Happened!»); // Если тест «истина», вывести сообщение «произошло сердцебиение». Serial.print ("BPM:"); // Вывести фразу «BPM:» Serial.println (myBPM); // Распечатываем значение внутри myBPM. if (myBPM> = 65) {// Постоянно проверять, не произошел ли удар.
myservo1.attach (9); myservo2.attach (8); myservo1.writeMicroseconds (2000); // CW myservo2.writeMicroseconds (2000); задержка (4000); myservo1.writeMicroseconds (1000); // против часовой стрелки myservo2.writeMicroseconds (1000); задержка (4000); myservo1.writeMicroseconds (1500); // останавливаем myservo2.writeMicroseconds (1500); задержка (500); } //} delay (9000); // считается лучшей практикой в простом эскизе. } Запустите код. Теперь вы просто проверяете эскиз, подключаете USB и загружаете. Ты увидишь.