![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
shiftlightws2818bcoilxrpm
Dependencies: mbed NeoStrip PinDetect
main.cpp
- Committer:
- akatork1
- Date:
- 2019-05-06
- Revision:
- 1:b1ec0b8dbde5
- Parent:
- 0:a26aca3e4760
File content as of revision 1:b1ec0b8dbde5:
#include "mbed.h" #include <string> #include "PinDetect.h" #include "NeoStrip.h" //# define MAX_FILE 30 #define N 32 NeoStrip strip(p5, 13); float bright = 0.1; PinDetect b1(p25, PullUp); PinDetect b2(p27, PullUp); PinDetect b3(p26, PullUp); //PinDetect b4(p26, PullUp); LocalFileSystem local("local"); // Create the local filesystem under the name "local" Serial pc(USBTX, USBRX); // tx, rx void strip_off() { for (int i=0; i<N; i++) { strip.setPixel(i, 0); } strip.write(); } AnalogIn V(p20); //interuppted for Voltage reader DigitalOut led1(LED1); //mbedLED1 DigitalOut led2(LED2); //mbedLED2 DigitalOut led3(LED3); //mbedLED3 DigitalOut led4(LED4); //mbedLED4 PwmOut led_g1(p21); //PWMout for led1 PwmOut led_g2(p22); //PWMout for led2 PwmOut led_y1(p23); //PWMout for led3 PwmOut led_y2(p23); //PWMout for led4 PwmOut led_r1(p24); //PWMout for led5 PwmOut led_r2(p24); //PWMout for led6 Timer t; // counts the time from beginning of main loop InterruptIn beat(p8); // beat is the name for a interrupt on pin 8 Ticker mscnt; // this is used to create a ms counter int count,CNT,displayBPMFlag;//initialize global variables float v; //variable for Volts int BPM; // variable for RPM void ms_counter() { //this interrupt routine starts every 1ms count++; //the counter is increased with 1 if (count>1999) { //when no heart beat is detected for >2sec, then display "-" in the main loop CNT=count; // copy counter value to CNT displayBPMFlag = 1; // set flag that the BPM can be put to LCD in the main loop count=0; // reset counter value } } void flip() { //this interrupt routine starts on every heart beat CNT = count; // copy counter value to CNT count = 0 ; // reset counter value displayBPMFlag = 1; // set flag that the BPM can be put to LCD in the main loop } void brightnessUp(void) { if (bright > 0) { bright += 0.02; strip.setBrightness(bright); strip.setPixel(0, 0x000000); strip.setPixel(1, 0x000000); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); strip_off(); wait(0.25); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); strip_off(); } } void brightnessDown(void) { if (bright > 0) { bright -= 0.02; strip.setBrightness(bright); strip.setPixel(0, 0x000000); strip.setPixel(1, 0x000000); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); strip_off(); wait(0.25); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); strip_off(); } } void clearLED(void) { if (bright > 0) { strip.setPixel(0, 0x000000); strip.setPixel(1, 0x000000); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0, led1=0, led2=0, led3=0, led4=0; } } int main() { b1.setAssertValue( 0 ); b2.setAssertValue( 0 ); b3.setAssertValue( 0 ); b1.attach_asserted( &clearLED ); b2.attach_asserted( &brightnessUp); b3.attach_asserted( &brightnessDown ); strip.setBrightness(bright); // set default brightness b1.setSampleFrequency(); b2.setSampleFrequency(); b3.setSampleFrequency(); //routine that tests all light by flicking them all on once led_g1=1, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0; wait(0.1); led_g1=0, led_g2=1, led_y1=0, led_y2=0, led_r1=0, led_r2=0; wait(0.1); //led_g1=0, led_g2=0, led_y1=1, led_y2=0, led_r1=0, led_r2=0; wait(0.1); led_g1=0, led_g2=0, led_y1=0, led_y2=1, led_r1=0, led_r2=0; wait(0.1); //led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=1, led_r2=0; wait(0.1); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=1; wait(0.1); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0, led1=1, led2=0, led3=0, led4=0; wait(0.1); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0, led1=0, led2=1, led3=0, led4=0; wait(0.1); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0, led1=0, led2=0, led3=1, led4=0; wait(0.1); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0, led1=0, led2=0, led3=0, led4=1; wait(0.1); led4=0; strip.setPixel(0, 0x000000); strip.setPixel(1, 0x000000); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x000000); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0x000000); strip.write(); // strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); // strip_off(); led_g1=1, led_g2=1, led_y1=1, led_y2=1, led_r1=1, led_r2=1, led1=1, led2=1, led3=0, led4=0; wait(0.05); led_g1=0, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0, led1=0, led2=0, led3=0, led4=0; strip.setPixel(0, 0x000000); strip.setPixel(1, 0x000000); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); strip_off(); wait(0.05); strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x99ff00); strip.setPixel(3, 0x99ff00); strip.setPixel(4, 0xccff00); strip.setPixel(5, 0xccff00); strip.setPixel(6, 0xccff00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); // strip_off(); led_g1=1, led_g2=1, led_y1=1, led_y2=1, led_r1=1, led_r2=1, led1=1, led2=1, led3=0, led4=0; pc.printf("\n\rDigital Frequency"); pc.printf("\n\rVoltmeter\n\r"); wait(1); //wait 1s mscnt.attach_us(&ms_counter,1000); //the address of the function to be attached (ms_counter) and the interval (1ms) t.start(); //the time since the beginning of the main loop beat.rise(&flip); //the interrupt flip is started to the rising edge while (1) { v = V; // v *= 3.3; //calculation for voltage reading // pc.printf("\n\r%1.3fV", v ); //print volts to pc // if (v==.5) // {pc.printf("P");}//air ratio is perfect // if(v<=.4) // {pc.printf("L");}//air ratio is lean // if(v>=.6) // {pc.printf("R");}//air ratio is perfect pc.printf("\n\r%i RPM ",BPM); //print RPM to textlcd //program loops around in here if (displayBPMFlag == 1) { //if the flag is set that the BPM can be used in the main loop displayBPMFlag = 0; //clear displayBPMflag if (CNT>05&CNT<2000) { //when heart rate is within 30-240BPM BPM = 200 + 110000/CNT; //calculate BPM pc.printf("%i ms ",CNT); pc.printf("%i RPM ",BPM); pc.printf("\r\n",CNT); if (BPM>500 && BPM<999) {led_g1=1, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0; led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x000000); strip.setPixel(3, 0x000000); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); wait(0.001); } if (BPM>1000 && BPM<1499) {led_g1=1, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x00ff00); strip.setPixel(3, 0x00ff00); strip.setPixel(4, 0x000000); strip.setPixel(5, 0x000000); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); wait(0.001); } if (BPM>1500 && BPM<1999) {led_g1=1, led_g2=0, led_y1=0, led_y2=0, led_r1=0, led_r2=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x00ff00); strip.setPixel(3, 0x00ff00); strip.setPixel(4, 0x99ff00); strip.setPixel(5, 0x99ff00); strip.setPixel(6, 0x000000); strip.setPixel(7, 0x000000); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); wait(0.001); } if (BPM>2000 && BPM<2499) {led_g1=1, led_g2=1, led_y1=0, led_y2=0, led_r1=0, led_r2=0; //light up 1,2 light at 2000rpm led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x00ff00); strip.setPixel(3, 0x00ff00); strip.setPixel(4, 0x99ff00); strip.setPixel(5, 0x99ff00); strip.setPixel(6, 0x99ff00); strip.setPixel(7, 0x99ff00); strip.setPixel(8, 0x000000); strip.setPixel(9, 0x000000); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); wait(0.001); } if (BPM>2500 && BPM<2999) {led_g1=1, led_g2=1, led_y1=0, led_y2=0, led_r1=0, led_r2=0; //light up 1,2 light at 2000rpm led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x00ff00); strip.setPixel(3, 0x00ff00); strip.setPixel(4, 0x99ff00); strip.setPixel(5, 0x99ff00); strip.setPixel(6, 0x99ff00); strip.setPixel(7, 0x99ff00); strip.setPixel(8, 0xccff00); strip.setPixel(9, 0xccff00); strip.setPixel(10, 0x000000); strip.setPixel(11, 0x000000); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); wait(0.001); } if (BPM>3000 && BPM<3499) {led_g1=1, led_g2=1, led_y1=1, led_y2=1, led_r1=0, led_r2=0; //light up 1,2,3 light at 3000rpm led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x00ff00); strip.setPixel(3, 0x00ff00); strip.setPixel(4, 0x99ff00); strip.setPixel(5, 0x99ff00); strip.setPixel(6, 0x99ff00); strip.setPixel(7, 0x99ff00); strip.setPixel(8, 0xccff00); strip.setPixel(9, 0xccff00); strip.setPixel(10, 0xccff00); strip.setPixel(11, 0xccff00); strip.setPixel(12, 0x000000); strip.write(); //strip_off(); wait(0.001); } if (BPM>3500 && BPM<3999) {led_g1=1, led_g2=1, led_y1=1, led_y2=1, led_r1=1, led_r2=1;; //light up 1,2,3,4 light at 4000rpm led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0x00ff00); strip.setPixel(1, 0x00ff00); strip.setPixel(2, 0x00ff00); strip.setPixel(3, 0x00ff00); strip.setPixel(4, 0x99ff00); strip.setPixel(5, 0x99ff00); strip.setPixel(6, 0x99ff00); strip.setPixel(7, 0x99ff00); strip.setPixel(8, 0xccff00); strip.setPixel(9, 0xccff00); strip.setPixel(10, 0xccff00); strip.setPixel(11, 0xccff00); strip.setPixel(12, 0xffcc00); strip.write(); //strip_off(); wait(0.001); } if (BPM>4000 && BPM<4499) {led_g1=!led_g1, led_g2=!led_g2, led_y1=!led_y1, led_y2=!led_y2, led_r1=!led_r1, led_r2=!led_r2; //light up 1,2,3,4,5 light at 5000rpm led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0xffcc00); strip.setPixel(1, 0xffcc00); strip.setPixel(2, 0xffcc00); strip.setPixel(3, 0xffcc00); strip.setPixel(4, 0xffcc00); strip.setPixel(5, 0xffcc00); strip.setPixel(6, 0xffcc00); strip.setPixel(7, 0xffcc00); strip.setPixel(8, 0xffcc00); strip.setPixel(9, 0xffcc00); strip.setPixel(10, 0xffcc00); strip.setPixel(11, 0xffcc00); strip.setPixel(12, 0xffcc00); strip.write(); //strip_off(); wait(0.001); } if (BPM>4500 && BPM<4999) {led_g1=!led_g1, led_g2=!led_g2, led_y1=!led_y1, led_y2=!led_y2, led_r1=!led_r1, led_r2=!led_r2; //light up 1,2,3,4,5,6 light at 5500rpm led1=1, led2=0, led3=0, led4=0; strip.setPixel(0, 0xffcc00); strip.setPixel(1, 0xffcc00); strip.setPixel(2, 0xffcc00); strip.setPixel(3, 0xffcc00); strip.setPixel(4, 0xffcc00); strip.setPixel(5, 0xffcc00); strip.setPixel(6, 0xffcc00); strip.setPixel(7, 0xff6600); strip.setPixel(8, 0xff6600); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff6600); strip.setPixel(12, 0xff6600); strip.write(); //strip_off(); wait(0.001); } if (BPM>5000 && BPM<5499) {led_g1=!led_g1, led_g2=!led_g2, led_y1=!led_y1, led_y2=!led_y2, led_r1=!led_r1, led_r2=!led_r2; //flash lights 1,2,3,4,5,6 at 6000rpm led1=!led1, led2=!led2, led3=!led3, led3=!led3, led4=!led4; strip.setPixel(0, 0xff6600); strip.setPixel(1, 0xff6600); strip.setPixel(2, 0xff6600); strip.setPixel(3, 0xff6600); strip.setPixel(4, 0xff6600); strip.setPixel(5, 0xff6600); strip.setPixel(6, 0xff6600); strip.setPixel(7, 0xff6600); strip.setPixel(8, 0xff6600); strip.setPixel(9, 0xff6600); strip.setPixel(10, 0xff6600); strip.setPixel(11, 0xff6600); strip.setPixel(12, 0xff6600); strip.write(); //strip_off(); wait(0.001); } if (BPM>5500 && BPM<5999) {led_g1=!led_g1, led_g2=!led_g2, led_y1=!led_y1, led_y2=!led_y2, led_r1=!led_r1, led_r2=!led_r2; //flash lights 1,2,3,4,5,6 at 6000rpm led1=!led1, led2=!led2, led3=!led3, led3=!led3, led4=!led4; strip.setPixel(0, 0xff6600); strip.setPixel(1, 0xff6600); strip.setPixel(2, 0xff6600); strip.setPixel(3, 0xff6600); strip.setPixel(4, 0xff6600); strip.setPixel(5, 0xff6600); strip.setPixel(6, 0xff6600); strip.setPixel(7, 0xff0000); strip.setPixel(8, 0xff0000); strip.setPixel(9, 0xff0000); strip.setPixel(10, 0xff0000); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); //strip_off(); wait(0.001); } if (BPM>6000&& BPM<6499) {led_g1=!led_g1, led_g2=!led_g2, led_y1=!led_y1, led_y2=!led_y2, led_r1=!led_r1, led_r2=!led_r2; //flash lights 1,2,3,4,5,6 at 6000rpm led1=!led1, led2=!led2, led3=!led3, led3=!led3, led4=!led4; strip.setPixel(0, 0xff0000); strip.setPixel(1, 0xff0000); strip.setPixel(2, 0xff0000); strip.setPixel(3, 0xff0000); strip.setPixel(4, 0xff0000); strip.setPixel(5, 0xff0000); strip.setPixel(6, 0xff0000); strip.setPixel(7, 0xff0000); strip.setPixel(8, 0xff0000); strip.setPixel(9, 0xff0000); strip.setPixel(10, 0xff0000); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); //strip_off(); wait(0.001); } if (BPM>6500 && BPM<6999) {led_g1=!led_g1, led_g2=!led_g2, led_y1=!led_y1, led_y2=!led_y2, led_r1=!led_r1, led_r2=!led_r2; //flash lights 1,2,3,4,5,6 at 6000rpm led1=!led1, led2=!led2, led3=!led3, led3=!led3, led4=!led4; strip.setPixel(0, 0xff0000); strip.setPixel(1, 0xff0000); strip.setPixel(2, 0xff0000); strip.setPixel(3, 0xff0000); strip.setPixel(4, 0xff0000); strip.setPixel(5, 0xff0000); strip.setPixel(6, 0xff0000); strip.setPixel(7, 0xff0000); strip.setPixel(8, 0xff0000); strip.setPixel(9, 0xff0000); strip.setPixel(10, 0xff0000); strip.setPixel(11, 0xff0000); strip.setPixel(12, 0xff0000); strip.write(); //strip_off(); wait(0.001); } } } } }