Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Pulseme to urządzenie do noszenia, które pomaga ludziom wiedzieć, kiedy ich bicie serca przekracza ustalony punkt, zapewniając im fizyczną informację zwrotną w postaci kurczącego się i niekurczącego się urządzenia do noszenia.
Krok 1: Opis
Główną częścią tego urządzenia do noszenia jest wełniana tkanina, która jest w ciągłym kontakcie z ramieniem użytkownika, a po obkurczeniu daje uczucie miękkości. Oprócz tego istnieje mechanizm sterowany Arduino, który odpowiada za ruch tkaniny, a także czujnik tętna.
Krok 2: Materiały
Dokładniej, części potrzebne do stworzenia tego fizycznego czujnika pulsu powiadomienia są następujące:
- Arduino Uno
- Czujnik tętna
- 2 x Serwa o ciągłym obrocie (DS04-NFC)
- 2 x sprężyny
- Bransoletka
- Tkanina
- Wątki
- Bateria
Krok 3: Schemat
Istnieją dwa proste obwody, które tworzą elektroniczną część tego urządzenia do noszenia.
Obwód czujnika:
- Pin czujnika 1 do Arduino A0
- Czujnik pin 2 do +5V
- Styk czujnika 3 do GND
Obwód serwo:
- Pin Servo1 do pinu Arduino 8
- Pin Servo2 do pinu Arduino 9
Na koniec podłącz +5V i GND do odpowiednich zacisków na płycie Arduino.
Krok 4: Łączenie rzeczy
Kroki, które należy podjąć w celu złożenia tego urządzenia do noszenia, są następujące:
- Zmierz średnicę ramienia przeciętnej osoby, aby zszyć materiał w zależności od tego kształtu/rozmiaru.
- Kup lub wydrukuj w 3D odpowiednią bransoletkę, która będzie podstawą dla całej elektroniki/silników.
- Przyszyj sprężyny do tkaniny po przeciwnych stronach.
- Przyklej dwa serwa do bransoletki.
- Połącz sprężyny i serwa za pomocą gwintu.
- Dostosuj kod tak, aby pasował do Twoich preferencji i/lub rozmiaru tkaniny.
- Cieszyć się!
Krok 5: Skonfiguruj Arduino i kod
Podłączanie Arduino do komputera i uruchamianie go w pierwszej kolejności. To proste. Następnie programowanie arduino do odczytu impulsu i sterowania serwomechanizmami, gdy częstość tętna wykracza poza normalny zakres. Zasadniczo musimy również zmodyfikować częstotliwość, z jaką odczytuje wartość wejściową, aby uzyskać następujący kod: delay(9000) jest uważany za najlepszą praktykę w prostym szkicu. Kod jest następujący:
Serwo myservo1; Serwo myservo2; poz; // Zmienne const int PulseWire = 0; // PulseSensor FIOLETOWY PRZEWÓD podłączony do ANALOGOWEGO PINU 0 const int LED13 = 13; // Wbudowana dioda Arduino, blisko PIN 13. //int Threshold = 550; // Określ, który sygnał "liczyć jako uderzenie", a który zignorować. // Użyj opcji „Pierwsze kroki projektu”, aby dostroić wartość progu poza ustawienie domyślne. // W przeciwnym razie pozostaw domyślną wartość „550”. PulseSensorPlac zabaw PulseSensor; // Tworzy instancję obiektu PulseSensorPlayground o nazwie "pulseSensor" void setup() { Serial.begin(9600); // Dla monitora szeregowego
// Skonfiguruj obiekt PulseSensor, przypisując mu nasze zmienne. pulseSensor.analogInput(PulseWire); PulseSensor.mrugOnPulse(LED13); //automatycznie miga dioda Arduino z biciem serca. // pulseSensor.setThreshold(Próg); // Dokładnie sprawdź, czy obiekt "pulseSensor" został utworzony i "zaczął" widzieć sygnał. if (pulseSensor.begin()) { Serial.println("Utworzyliśmy obiekt pulseSensor!"); //To drukuje się raz przy włączaniu Arduino lub przy resecie Arduino. } } void loop() { int myBPM = pulseSensor.getBeatsPerMinute(); // Wywołuje funkcję na naszym obiekcie pulseSensor, która zwraca BPM jako "int". // „myBPM” przechowuj teraz tę wartość BPM. //mojeserwo1.attach(9); //if (pulseSensor.sawStartOfBeat()) { // Nieustannie sprawdzaj, czy nastąpiło „uderzenie”. Serial.println("♥ Zdarzyło się bicie serca! "); // Jeśli test ma wartość „prawda”, wypisz komunikat „stało się bicie serca”. Serial.print("BPM: "); // Wydrukuj frazę "BPM:" Serial.println(myBPM); // Wydrukuj wartość wewnątrz myBPM. if (myBPM >= 65) { // Nieustannie sprawdzaj, czy nastąpiło „uderzenie”.
myservo1.attach(9); myservo2.attach(8); myservo1.writeMicroseconds(2000); // CW myservo2.writeMicroseconds(2000); opóźnienie (4000); myservo1.writeMikrosekundy(1000); // CCW myservo2.writeMicroseconds(1000); opóźnienie (4000); myservo1.writeMikrosekundy(1500); // zatrzymaj myservo2.writeMicroseconds(1500); opóźnienie (500); } //} opóźnienie(9000); // uznana za najlepszą praktykę w prostym szkicu. } Uruchom kod Teraz wystarczy zweryfikować szkic, podłączyć USB i przesłać. Zobaczysz.