Puls Sensor kontrollerade svans (3 / 4 steg)

Steg 3: Puls Sensor och kod



3.1
Puls sensorn kan köpas från SparkFun för $24.95, sparkfun ger också koden måste du arbeta med gratis!

Så ta din Arduino, Arduino USB-kontakt, puls sensor, Motor sköld och få till en dator!
(även om det är mer än sannolikt du redan på en dator om du läser detta lol)

Varsågod och skjut din Motor sköld ovanpå din Arduino och koppla in den i datorn, när Arduino programmet är öppet kan du ansluta din puls sensor (lila tråd till A0, röd 5V eller 3V och svart till GRD) och jag utvecklat denna kod kombinera puls sensor koden och grundläggande sopa koden

Vad som ska hända är på som vissa puls är lägre än 66 bpm kommer den att flytta ett schablonbelopp om pulsen är högre än 66 bpm då det kommer att gå snabbare:

#include < Servo.h >

Servo myservo; skapa objekt för att styra en servo servo

maximalt åtta servo objekt kan skapas

int pinNineInput = 9;

int pulsePin = 0; Puls Sensor lila tråd ansluten till analoga stift 0

int blinkPin = 13. PIN blinka ledde på varje taktslag

int fadePin = 5; stift till fancy classy blekning blink på varje taktslag

int fadeRate = 0; används för att blekna LED på med PWM på fadePin

dessa variabler är flyktiga eftersom de används under avbrottstjänstens rutin!

flyktiga int BPM; används för att hålla pulsen

flyktiga int Signal; innehar inkommande rådata

flyktiga int IBI = 600; håller tiden mellan beats, mellan Beat intervallet

flyktiga booleska puls = false; sant när pulse wave är hög, falskt när det är lågt

flyktiga booleska QS = false; blir sant när Arduoino finner ett beat.

int pos = BPM;

void setup()

{

myservo.attach(9); tillmäter objektet servo servo på pin 9

pinMode(blinkPin,OUTPUT); PIN-kod som kommer att blinka till ditt hjärta!

pinMode(fadePin,OUTPUT); PIN-kod som kommer att blekna till ditt hjärta!

Serial.BEGIN(115200); Vi är överens om att prata snabbt!

interruptSetup(); ställer in för att läsa puls Sensor signal varje 2mS

O-kommentera nästa rad om du driver puls Sensor vid låg spänning,

OCH TILLÄMPA DEN SPÄNNINGEN TILL A-REF STIFT

analogReference(EXTERNAL);

}

void loop()

{

om (pinNineInput < 66)

{

för (pos = 0; pos < 360; pos += 2) / / går från 0 grader till 360 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(5); Waits 5ms för servo att nå ställning

}

för (pos = 360; pos > = 1; pos-= 2) / / går från 360 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(5); Waits 5ms för servo att nå ställning

}

för (pos = 0; pos < 360; pos + = 1) / / går från 0 grader till 360 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(15); Waits 15 MS för servo att nå ställning

}

för (pos = 360; pos > = 1; pos-= 1) / / går från 360 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(15); Waits 15 MS för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

}

annars om (pinNineInput > = 66)

{

{

för (pos = 0; pos < 360; pos += 2) / / går från 0 grader till 360 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(5); Waits 5ms för servo att nå ställning

}

för (pos = 360; pos > = 1; pos-= 2) / / går från 360 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(5); Waits 5ms för servo att nå ställning

}

för (pos = 0; pos < 360; pos + = 1) / / går från 0 grader till 360 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(4); Waits 4ms för servo att nå ställning

}

för (pos = 360; pos > = 1; pos-= 1) / / går från 360 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(4); Waits 4ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(3); Waits 3ms för servo att nå ställning

}

}

}

annat

{

för (pos = 0; pos < 360; pos += 2) / / går från 0 grader till 360 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(10); Waits 10ms för servo att nå ställning

}

för (pos = 360; pos > = 1; pos-= 2) / / går från 360 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(10); Waits 10ms för servo att nå ställning

}

för (pos = 0; pos < 360; pos + = 1) / / går från 0 grader till 360 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(15); Waits 15 MS för servo att nå ställning

}

för (pos = 360; pos > = 1; pos-= 1) / / går från 360 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(15); Waits 15 MS för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(7); Waits 7ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(7); Waits 7ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(7); Waits 7ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(7); Waits 7ms för servo att nå ställning

}

för (pos = 0; pos < 180; pos + = 1) / / går från 0 grader till 180 grader

{/ / i steg om 1 grad

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(7); Waits 7ms för servo att nå ställning

}

för (pos = 180, pos > = 1; pos-= 1) / / går från 180 grader till 0 grader

{

myservo.write(POS); berätta servo gå för att placera i variabel "pos"

Delay(7); Waits 7ms för servo att nå ställning

}

}

Serial.Print(BPM);

Serial.Print("\t");

sendDataToProcessing ('S ', Signal); Skicka bearbetning raw puls Sensor-data

om (QS == true) {/ / kvantifierade Self flagga är sant när arduino finner ett hjärtslag

fadeRate = 255; Ange "fadeRate" variabel till 255 blekna LED med puls

sendDataToProcessing('B',BPM); Skicka puls med prefixet "B"

sendDataToProcessing('Q',IBI); Skicka tid mellan beats med prefixet "Q"

QS = false; återställa flaggan kvantifierade Self till nästa gång

// }

ledFadeToBeat();

myservo.attach(9); tillmäter objektet servo servo på pin 9

myservo.write(POS);

Delay(3000); ta en paus

}

void ledFadeToBeat() {

fadeRate-= 15. värdet för LED-fade

fadeRate = constrain(fadeRate,0,255); hålla LED fade värde från att gå in i negativa tal!

analogWrite(fadePin,fadeRate); Fade LED

}

void sendDataToProcessing (char symbol, int data) {

Serial.Print(symbol); valutasymbolen skrivs som prefix berättar behandling vilken typ av data kommer

Serial.println(data); data som ska skickas avslutas med en radmatning

// }

När koden är uppladdad prova att ansluta din svans till del av den motoriska sköld som säger Servo2.

Obs:
Denna kod utvecklades endast för en servomotor, för dem som vill styra två servomotorer måste du justera denna kod. Jag kommer också att arbeta på den för att redogöra för två servomotorer men om någon slår mig till det och utvecklar en kod av sina egna vänligen Glöm inte att dela! : D

Den ursprungliga puls Sensor koden kan hittas här:
SparkFun

Se Steg
Relaterade Ämnen

LED puls Sensor (PPG) för Arduino

Inom detta Instructable kommer jag visa dig, hur man genomför en enkel PPG (photoplethysmogram) sensor för arduino. Denna enhet använder infrarött ljus för att mäta du puls. Du kanske känner denna teknik från fingertoppen puls sensorer i sjukhus.Denn...

Puls Sensor Plumbob

min sista för min klass Digital Multimedia hittade vi en instructable vi gillade och vi var tvungna att skapa något liknande med vår ursprungliga twist.På denna webbplats hittade jag en gentleman som skapade sin egen version av Sims Plumbob. (nedan ä...

Puls Sensor med Bluetooth och Arduino

Detta projekt syftar till att använda puls sensor (som är lätt tillgänglig nu) med arduino uno och Bluetooth HC-05 modul, puls sensorn är placerad på fingret och den mäter pulsen och skickar sedan hjärtfrekvensen till android mobil via bluetooth-enhe...

Wearable hjärta slå sensor ESP8266 + puls sensor

Som en del av en önskan att lära sig om ESP8266 som friståendeJag tänkte på ett projekt för att ansluta puls sensor och överföra BPM till datorn av TCP-anslutning.Under byggandet kom jag över några problem.Problemen av min åsikt, kommer att hjälpa nå...

Orm spel med puls sensor

Detta är en orm spel som navigeras av en joystick. Vi har också använt en puls sensor för att justera spelet. Puls sensorn gör fönstret Ändra färg beroende på dina hjärtslag. Nu när ditt hjärta slår, är den tidpunkt då ormen är synliga. När ditt hjär...

Lilypad och puls sensorer: den andra kropp erfarenheten

Jag har skapat och interaktiv installation som syftar till att belysa en kropp shaming.Mitt mål var att göra deltagare upplevelsen att ha en annan kropp från deras en, alltså jag förändrat en flytväst och arkiverat det med sand, vilket gör det väger...

Hemgjord Arduino vänlig puls Sensor

Jag såg Öppen hårdvara puls Sensor på tänkte jag skulle försöka göra det hemma. Tog mig ett tag, men här är min klumpiga process.Steg 1: Puls Sensor - översiktJag har jobbat på att åter göra den Öppen hårdvara puls Sensor så det skulle vara "lätt&quo...

Alla hjärtans puls Sensor

bygger på andras arbete, jag kom upp med denna lilla enhet att gå och mäta min puls. Nu, jag visste att det var passande att gå och göra ett hjärta form från lysdioder och så, det gjorde jag. Inte ha någon mall, var jag helt borta. Lite experimentera...

Arduino puls Sensor

Detta är min första projektet publiceras här, en arduino pro mini ombord med puls Sensor.Här kommer jag visa dig hur jag gjorde min arduino elkablar och kodning, inklusive källkod och scheman. Också kodat jag en windows-verktyget för att visa den våg...

Arduino puls Sensor Cardio diagram

Programmet Arduino puls Sensor Cardio graf illustrerar hjärtat slå information i grafisk form. Programmet visar olika puls variation grafer: Beats Per minut (BPM), Interbeat intervall (IBI), puls frekvens (Hz), Power Spectral Density (PSD), LF vs HF...

Hur du använder puls Sensor

Puls sensor är en öppen källkod pulssensor.Det använder olika ljusgenomsläpp för kroppens vävnader orsakar av vaskulära pulserande för att mäta pulsen.Steg 1:1. bygga Arduino miljö, Hämta Arduino IDE från www.arduino.cc2. bygga bearbetningsmiljön, la...

Gyro-Sensor kontrollerad bil

Hade du spelat spel av gyro Sensor på din mobila enhet? Naturligtvis ja.Du kan också använda mobila gyro sensor för att styra någon sak (dvs. bilar, robotar) i verkliga life.you bara behöver några saker...1) en Bluetooth module(HC-05).2) A Micro utve...

DIY Arduino puls Sensor

Så nämnde jag i ett tidigare Instructable att jag en assistent (TA) för en teknisk Introduktionskurs för medicinsk teknik majors vid Vanderbilt University. Min viktigaste uppgift som en TA är att skriva några laborationer som eleverna kommer att utfö...

Ping Sensor kontrollerad RGB-lysdioder

Som en del av mitt projekt här terminen behövde jag för att kunna styra vissa RGB lysdioder med en ping sensor. För mitt projekt ville jag min lysdioder att blekna genom färger men när någon fick alltför nära till projektet jag ville lysdioderna att...

Mekaniska ljus Sensing och Flex sensorer kontrollerade blomma Robot

Syfte:Skapa en robot som följer ljuset och kan flytta med flex sensorer på en handskeDetta instructable var inspirerad av:Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com).Steg 1:...

Arduino-kontrollerade Wolf svans

hälsningar, eller ska jag säga, "Aaaaaooooooooooooh!" Gärna göra din bekantskap Karl wolf entusiast. Du har en inre wolf ande som är så ivriga att ge sig till känna att du har kommit mig att lära mig hur man gör din egen animatronic wolf svans,...

DIY puls pulsmätare

Följande instructable representerar en puls pulsmätare med Linkit ONE. Det kan visa din puls på en seriell övervaka. Projektet är mycket lätt att göra och kräver mycket mindre delar och tid att montera.Detta är min första instructable. Behaga en posi...

Homebrew Arduino puls Monitor (visualisera dina hjärtslag)

filmer ser cool med dessa EKG (EKG), en som piper och upptäcker hjärtat verksamhet. För några månader sedan, vi var tvungna att skjuta en sjukhus scen för våra skolprojekt. Vi behövde ett EKG instrument. För att hålla filmen autentiska, ville vi inte...

Snilleblixt-kontrollerade papper plagget

Mitt projekt, självporträtt är en experimentell växelverkande pappers-wearable plagg för prestanda, som använder thermochromic pigment, mjuk kretsar och Arduino ansluten till min vitala funktioner såsom hjärtslag eller hjärnvågor.Mitt koncept handlar...