历史上的今天

今天是:2024年11月08日(星期五)

正在发生

2019年11月08日 | MEGA2560主控自行车骑行监测器

发布者:幸福如意 来源: 51hei关键字:MEGA2560  主控  自行车骑行监测器 手机看文章 扫描二维码
随时随地手机看文章

自行车骑行监测器,可以GPS定位,检测骑行速度,检测心率,同时将以上数据写入SD卡内进行保存,使用MEGA2560主控
SD卡的SPI接口 ** MOSI - pin 51 ** MISO - pin 50 ** CLK  - pin 52 ** CS   - pin 53

GPS的串口使用mega2560的串口1  Serial 1: Pin19 (RX) and Pin18 (TX);Pin13接一个LED显示GPS是否工作正常

两个霍尔传感器接在外部中断  Pin2 (interrupt 0), Pin3 (interrupt 1)

心跳指示灯在 Pin5   int fadePin = 5
int blinkPin = 14;               

单片机源程序如下:

//#include"Arduino.h"

//#include "AllSerialHanding.h"

//#include "Interrupt.h"

//#include "SD_ReadWrite.h"

#include "all.h"

#define PROCESSING_VISUALIZER 1

#define SERIAL_PLOTTER  2

volatile int BPM;                   // int that holds raw Analog in 0. updated every 2mS

volatile int Signal;                // holds the incoming raw data

volatile int IBI = 600;             // int that holds the time interval between beats! Must be seeded!

static int outputType = SERIAL_PLOTTER;

String beat_data = " BPM:0 IBI:0 Signal:0";


void PulseSensor_SD_Write()

{

  SD_Write("test.txt",beat_data);  //脉冲数据写入SD卡中PulseSensor.txt文件

}

//  Sends Data to Pulse Sensor Processing App, Native Mac App, or Third-party Serial Readers.

void sendDataToSerial(char symbol, int data ){

    Serial.print(symbol);

    Serial.println(data);

  }

void serialOutput(){   // Decide How To Output Serial.

  

  switch(outputType){

    case PROCESSING_VISUALIZER:

      sendDataToSerial('S', Signal);     // goes to sendDataToSerial function

      break;

    case SERIAL_PLOTTER:  // open the Arduino Serial Plotter to visualize these data

      Serial.print(BPM);

      Serial.print(",");

      Serial.print(IBI);

      Serial.print(",");

      Serial.println(Signal);

      beat_data=" BPM:"+String(BPM)+" IBI:"+String(IBI)+" Signal:"+String(Signal);

      

      break;

    default:

      break;

  }


}


//  Decides How To OutPut BPM and IBI Data

void serialOutputWhenBeatHappens(){

  switch(outputType){

    case PROCESSING_VISUALIZER:    // find it here https://github.com/WorldFamousElectronics/PulseSensor_Amped_Processing_Visualizer

      sendDataToSerial('B',BPM);   // send heart rate with a 'B' prefix

      sendDataToSerial('Q',IBI);   // send time between beats with a 'Q' prefix

      break;


    default:

      break;

  }

}


// SET THE SERIAL OUTPUT TYPE TO YOUR NEEDS

// PROCESSING_VISUALIZER works with Pulse Sensor Processing Visualizer

//      https://github.com/WorldFamousElectronics/PulseSensor_Amped_Processing_Visualizer

// SERIAL_PLOTTER outputs sensor data for viewing with the Arduino Serial Plotter

//      run the Serial Plotter at 115200 baud: Tools/Serial Plotter or Command+L


void ledFadeToBeat(){

    fadeRate -= 15;                         //  set LED fade value

    fadeRate = constrain(fadeRate,0,255);   //  keep LED fade value from going into negative numbers!

    analogWrite(fadePin,fadeRate);          //  fade LED

  }


void Pulse_Init(){

  pinMode(blinkPin,OUTPUT);         // pin that will blink to your heartbeat!

  pinMode(fadePin,OUTPUT);          // pin that will fade to your heartbeat!

//  Serial.begin(115200);             // we agree to talk fast!

  interruptSetup();                 // sets up to read Pulse Sensor signal every 2mS

   // IF YOU ARE POWERING The Pulse Sensor AT VOLTAGE LESS THAN THE BOARD VOLTAGE,

   // UN-COMMENT THE NEXT LINE AND APPLY THAT VOLTAGE TO THE A-REF PIN

//   analogReference(EXTERNAL);

}



//  Where the Magic Happens

void Pulse_Allot(){


    serialOutput() ;


  if (QS == true){     // A Heartbeat Was Found

……………………




关键字:MEGA2560  主控  自行车骑行监测器 引用地址:MEGA2560主控自行车骑行监测器

上一篇:ATmega8+PT100热敏电阻+AD824S proteus仿真与源程序
下一篇:avr单片机可演奏的电子琴仿真加源码

推荐阅读

英媒称,曾有分析说,职业比女性职业更容易被自动化技术取代,因为女性较少从事那些低收入的体力劳动以及较少用人际沟通和创造技能的工作。人工智能时代,机器人能替人类承担繁重的体力劳动,可能会消除某些职业的性别差异。 据11月2日报道,世界许多国家都面临人口老龄化的问题,日本尤甚。记者观察了日本建筑行业劳动力减少和老龄化问题,说那里的建...
项目背景伴随着新一轮技术革命的全面推进,在全球制造体系内,生产自动化及实现内部物流智能化成为众多制造商最为关注的话题之一,同时也是各个工厂车间亟需解决的重要课题。尤其对一些实力雄厚的大型企业车间,在生产自动化逐步成熟的情况下,解决内部物流自动化与智能化成为其打造智能工厂的下一个关口,对实现高效生产、精益生产具有重要意义。客户课题...
一加8系列手机上市后获得了广泛好评,于是很多朋友都开始期待新一代的一加9系列表现将如何。随着一周前来自XDA开发者在一加现行系统中发现了一加9和一加9 Pro的相关内容,今天外国推主TechDroider也曝光了有关于一加9系列产品的信息。他表示一加9系列的型号现已析出。一加9型号为LE2110,一加9 Pro型号为LE2117、LE2119和LE2120。一加9系列型号曝光(图...
一、 品牌与型号:罗德与施瓦茨频谱仪FSV 30二、 报修故障:显示花屏三、 分析、测试和判断工程师接到这台罗德与施瓦茨频谱仪FSV 30后,立马对其分析检测,开机后发现显示花屏、单元故障,处理后显示正常。但是触摸屏没反应,这台罗德与施瓦茨频谱仪FSV 30故障报错IF OVLD和UNCAL,自校准失败。测试信号指标超差严重,西安安泰频谱分析仪维修中心工...

史海拾趣

问答坊 | AI 解惑

电子鼻传感器

电子鼻是利用气体传感器阵列的响应图案来识别气味的电子系统,它可以在几小时、几天甚至数月的时间内连续地、实时地监测特定位置的气味状况。   电子鼻主要由气味取样操作器、气体传感器阵列和信号处理系统三种功能器件组成。电子鼻识别气味的 ...…

查看全部问答∨

关于无功功率——让你了解更多

交流电路中,由电源供给负载的电功率有两种;一种是有功功率,一种是无功功率。   有功功率是保持用电设备正常运行所需的电功率,也就是将电能转换为其他形式能量(机械能、光能、热能)的电功率。比如:5.5千瓦的电动机就是把5.5千瓦的电能转换为 ...…

查看全部问答∨

EDA技术应用前景

电子设计的必由之路是数字化, 这已成为共识。在数字化的道路上, 我国的电子设计技术经历了并将继续经历许多重大的变革。从应用小规模集成电路(SS I) 芯片构成电路系统, 到广泛地应用微控制器或单片机(MCU ) , 在电子系统设计上发生了具有里程碑意义 ...…

查看全部问答∨

机器人制作宝典

本帖最后由 paulhyde 于 2014-9-15 04:11 编辑  …

查看全部问答∨

使用AT命令 实现modem拨号连接 遇到问题

我现在使用TM-IP5600 modem 用系统带的拨号软件能拨号成功,我现在想通过AT命令拨号ATDT996169 后返回 CONNECT 28800 V42bis ********************************* * Quidway A8010 Internet Server * * welcome!!        ...…

查看全部问答∨

问个简单的应用程序问题

嘿嘿,刚开始接触应用(VS2005)MFC 我想做个小程序,要用到软键盘, 我希望当鼠标点击到编辑框里面的时候自动调用软键盘显示,并且固定软键盘在窗口下方 当鼠标离开编辑框的时候,自动隐藏软键盘 请问这个如何实现。 这个API应该是SipShowIM ...…

查看全部问答∨

键盘钩子 转变键值

当我的键盘钩子钩住0到9的键,怎么改变键值呢? 举个例子: 当我按2键的时候,转变成A键: 2->A 请高手指点,谢谢!…

查看全部问答∨

谁有USB2.0协议的具体资料

各位大哥大姐帮下忙,能不能传我一份USB2.0协议的具体内容。谢谢了。 我的邮箱是talentzhouyang@163.com …

查看全部问答∨

linux下交叉编译的问题

我是新手刚学习linux下的嵌入式开发,但是配置系统开发环境的时候,有个问题我始终不明白,交叉编译说是当编译器运行在一个为另一系统产生可执行程序的系统上就发生了交叉编译,可是为什么我们需要交叉编译呢,而我们进行交叉编译时所选取的工具是 ...…

查看全部问答∨

max16823的使用心得

这次diy应急灯使用了max16823作为led的驱动芯片,实话实说,这款芯片使用的确是方便之极。外围器件可以说是少的可怜,(我的应用中使用了3个电容,1个限流电阻,3个调节电阻)3个调节电阻式用来限制3路leds的流经电流的,换句话说就是调节leds亮度 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved