YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15360|回复: 5
打印 上一主题 下一主题

Arduino入门教程—基础实验篇七 串口通信实验

[复制链接]

签到天数: 867 天

[LV.10]以坛为家III

跳转到指定楼层
楼主
发表于 2013-6-6 11:31:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 AllBlue 于 2013-8-15 20:03 编辑

串口通信实验

上次贴子给大家介绍了光敏电阻的使用,它根据周围环境的亮度变化电阻值也变化,系统将它转化为电压值,再将它转化为一个在1~1023范围中的值,根据这个值我们来设定LED 的开关,但这个值到底是怎么样变化的呢!

想要知道这个值是怎么变化的我们就必须让控制板将数据发送回计算机,这样我们使用串口监视器就可以看到值,下面我们就利用光敏电阻实验,来观察它的返回值!

实验电路使用光敏电阻实验电路(不知道的用户可以回看光敏电阻实验);

下面我们看下程序:

  1. /*
  2. 串口通讯
  3. 读取模拟口的值并传到计算机
  4. 程序上传后打开串口监视器
  5. */

  6. #define SENSOR 5 //定义传感器输入引脚为模拟5口

  7. int val = 0; //定义变量储存传感器的返回值

  8. void setup(){
  9. Serial.begin(9600); //打开串口并设置通信波特率为9600
  10. }
  11. void loop(){

  12. val = analogRead(SENSOR); //读取传感器接口反馈值
  13. Serial.println(val); //串口监视窗口显示传感器返回值
  14. delay(100); //每100毫秒发送一次数据
  15. }
复制代码

将程序上传到控制板后,我们打开串口监视器,可以看到返回的数据:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对

该用户从未签到

沙发
发表于 2014-1-6 12:25:49 | 只看该作者
#include <SPI.h>
int ppmin=2;
unsigned time=0;
unsigned bfb=0;
unsigned data=0;
void setup()
{
  Serial.begin(115200);
  pinMode(2,INPUT);
  attachInterrupt(ppmin, jiema, RISING);


  
}
void loop()
{
  interrupts();
  detachInterrupt(1);


}
void jiema()
{
  unsigned char val=0;
  time=pulseIn(2,HIGH);
  bfb=time/1000*1024;
  data=bfb/4;//256 8weijingdu
  Serial.println(data,DEC);
  val=val++;
  time=0;
  bfb=0;
  data=0;
  if(val>8)
{
    detachInterrupt(0);
    delay(400);
    detachInterrupt(1);
  }
}


我这个是利用上升沿来触发外部中断来解码PPM信号的并由串口发送的程序,有问题能帮忙看看嘛
回复 支持 反对

使用道具 举报

签到天数: 250 天

[LV.8]以坛为家I

板凳
发表于 2014-8-27 00:50:24 | 只看该作者
多謝樓主分享
回复 支持 反对

使用道具 举报

签到天数: 22 天

[LV.4]偶尔看看III

地板
发表于 2019-5-1 19:52:53 | 只看该作者
Arduino入门教程—基础实验篇七 串口通信实验
回复 支持 反对

使用道具 举报

签到天数: 13 天

[LV.3]偶尔看看II

5#
发表于 2019-10-2 21:11:05 | 只看该作者
感谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-11-21 17:50 , Processed in 0.076867 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表