EDAEDU硬件设计论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1757|回复: 1407

[资料] RT,把超声波获取的距离,反馈给LED,LED的亮度会随之改变...

[复制链接]

5

主题

7

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2019-2-5 10:18:44 | 显示全部楼层 |阅读模式
RT,把超声波获取的距离,反馈给LED,LED的亮度会随之改变,装置见下


接线细节

超声波的反射板

亮度变化




程序如下:
  1. int potpin = 0; //定义模拟接口0
  2. int ledpin = 11; //定义数字接口11(PWM 输出)
  3. const int TrigPin = 2;
  4. const int EchoPin = 3;
  5. float distance;
  6. float UR;
  7. float delta;
  8. int val = 0; // 暂存来自传感器的变量数值
  9. void setup()
  10. {
  11.   pinMode(ledpin, OUTPUT); //定义数字接口11 为输出
  12.   pinMode(TrigPin, OUTPUT);
  13.   pinMode(EchoPin, INPUT);
  14.   Serial.begin(9600);//设置波特率为9600
  15.   //注意:模拟接口自动设置为输入
  16. }
  17. void loop()
  18. {
  19.   // 产生一个10us的高脉冲去触发TrigPin
  20.   digitalWrite(TrigPin, LOW);
  21.   delayMicroseconds(2);
  22.   digitalWrite(TrigPin, HIGH);
  23.   delayMicroseconds(10);
  24.   digitalWrite(TrigPin, LOW);
  25.   // 检测脉冲宽度,并计算出距离
  26.   distance = pulseIn(EchoPin, HIGH) / 58.00;
  27.   Serial.print(distance);
  28.   Serial.print("cm");
  29.   Serial.println();
  30.   if (distance < 900)
  31.   {
  32.     val = distance; // 读取传感器的模拟值并赋值给val
  33.     Serial.println(val);//显示val 变量
  34.     analogWrite(ledpin, val/4); // 打开LED 并设置亮度(PWM 输__________出最大值255)
  35.     delay(10);//延时0.01 秒
  36.   }
  37. }
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|EDAEDU硬件设计论坛

GMT+8, 2019-3-19 06:22 , Processed in 0.105076 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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