DIY infrarood hartslagsensor met Arduino
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps en online services
|
Over dit project
Hoe dit allemaal tot stand is gekomen:
Onlangs heeft de uitbraak van het coronavirus over de hele wereld grote schade aangericht, de behoefte aan en de vraag naar medische instrumenten zoals ventilatoren etc. is dramatisch gestegen, waardoor ze schaars zijn geworden. Er is dus grote behoefte aan goedkopere apparatuur en instrumenten. Deze DIY hartslagsensor kost minder dan 15 dollar en kan effectief worden gebruikt voor het detecteren van hartslagen en deze ook in realtime uitzetten. Het enige harde werk dat gedaan moet worden, is uw vinger op de sensor plaatsen om de metingen te krijgen.
Werkend :
De werking wordt in principe bepaald door de differentiële ondoorzichtigheid van elk object (in dit geval de vinger) in de aanwezigheid van vloeistof erin (in dit geval bloed). Wanneer het bloed door het bloed wordt gepompt, is er meer bloed in de bloedvaten van de vinger, waardoor deze ondoorzichtiger wordt. Wanneer het bloed zich terugtrekt, is er minder bloed in de bloedvaten, de vinger wordt minder ondoorzichtig. Door de ondoorzichtigheid van de vinger te meten, kunnen we de curve uitzetten die varieert met de hoeveelheid bloed erin. Voor deze meting gebruiken we de IR zender en ontvanger.
De IR-zender werpt continu licht op de vinger, een deel wordt geabsorbeerd, een deel wordt gereflecteerd, een deel wordt doorgelaten, we moeten de gegevens plotten met deze zeer kleine hoeveelheid doorgelaten licht (hoeveelheid licht die er doorheen gaat). De detector aan de andere kant van de vinger detecteert deze kleine hoeveelheid doorvallend licht. Deze intensiteit varieert echter met de hoeveelheid bloed in de vinger, dus door de waarden uit de detector te plotten, krijgen we direct de realtime plot van de hartslag van de persoon.
De output plot kan worden bekeken op de seriële plotter van de Arduino IDE.
Nauwkeurigheid, gegevens filteren op ongewenste waarden:
Dit omvat het verwijderen van fouten in de sensorwaarden als gevolg van de IR-straling in de omgeving , afgegeven door veel objecten, zelfs door ons!!. Om dit te doen berekent de Arduino vooraf de gemiddelde rommelwaarde en verwijdert vervolgens deze gemiddelde rommelwaarde om de originele, nauwkeurige waarden te krijgen. Dit wordt gedaan door het volgende stukje code:
Nu 5 keer de som van de rommelmetingen in de omgeving berekenen, zodat we ze daarna kunnen elimineren.
//For debuggingfor(int i=0;i<5;i++) { reading =reading + analogRead(A0); } reading_final =(lezing)/5;
De gemiddelde rommelwaarde wordt berekend.
vertraging(100); Heart_rate =analogRead(A0)-reading_final;
Laatste leeswaarde, veel nauwkeuriger. Vervolgens plotten van de variabele Heart_Rate is klaar.
De sensorhardware instellen:
De sensor bestaat uit een IR zender en ontvanger. Dit is het schema van de bedrading die gedaan moet worden.
De hardwareconfiguratie ziet er uiteindelijk als volgt uit:
Uitgang :
Hier is een korte video die de werking van de DIY-sensor laat zien. De real-time plot van mijn hartslag wordt uitgezet. Tik gewoon op deze link om deze te bekijken.
https://drive.google.com/file/d/1z1IdHuaXRA8mzHQuA-XZI3tvUSaRd30e/view?usp=drivesdsk.
********************************************** **************************---------------------- -------------------------------------------------- --------------
Hier is een hack als je niet over de benodigde benodigdheden beschikt:
Een IR-tv of de afstandsbediening van een ander elektronisch apparaat kan ook worden gebruikt als zender met een van de knoppen constant ingedrukt. En voor de ontvanger kan een lichtafhankelijke weerstand worden gebruikt, pas de drempel voor het detecteren van IR-straling aan door naar datasheets van internet te kijken.
********************************************** **************************---------------------- -------------------------------------------------- --------------
Ik hoor graag van iedereen die dit project heeft geprobeerd. Suggesties voor verbeteringen en ideeën voor nieuwe projecten zijn altijd welkom in het opmerkingengedeelte.
Code
- heart_Beat_sensor_101/code
heart_Beat_sensor_101/codeArduino
dit is de code die je moet uploaden naar het Arduino-bord nadat je de verbindingen tot stand hebt gebracht.// code door YaSh.//Heart_Rate_Sensor code.int reading =0;int reading_final;int Heart_rate;void setup(){ Serial.begin (9600); // Seriële verbindingen initialiseren. pinMode(A0,INPUT); pinMode (A1, INVOER); }//Lezen nemen en plotten.void loop() { for(int i=0;i<5;i++) //Voor foutopsporing. { lezen =lezen + analoog lezen (A0); // 5 keer de som van de rommelwaarden in de omgeving berekenen, zodat we ze daarna kunnen elimineren. } reading_final =(lezing)/5; // Gemiddelde rommelwaarde berekend. vertraging (100); Heart_rate =analogRead(A0)-reading_final; // Laatste leeswaarde. Serial.println (Hartslag); //Printen en plotten.}
Schema's
het is het schema voor het aansluiten van de IR-ontvanger en zender op de Arduino.Productieproces
- Kunstmatig hart
- DIY infrarood bewegingssensorsysteem voor Raspberry Pi
- Bewegingssensor met Raspberry Pi
- Stuur sensorgegevens van de ene Arduino naar de andere met Firebase
- DIY Photoshop-bewerkingsconsole met Arduino Nano RP 2040
- Human Detection Robotics System met Arduino Uno
- DIY voltmeter met Arduino en smartphone
- Hartslagmeter met IoT
- IOT - Smart Jar met ESP8266, Arduino en ultrasone sensor
- Arduino Cloud Sensor Tower
- Hartslagindicator met ECG