多语言展示
当前在线:1835今日阅读:23今日分享:25

Arduino 与传感器

传感器可以反应真实世界的量,然后输入给 Arduino 控制器,简单的可以分为数字开关类传感器,即传感器只有两个状态,UNO 读取的即为 0 或 1;模拟量传感器,即变化可以被 Arduino 识别为变化的电压信号。还有较复杂的传感器,例如 IIC、串行通信等接口的传感器。这里主要先总结一下简单的数字和模拟量传感器与 Arduino 的配合使用。
工具/原料
1

Arduino UNO * 1

2

倾角传感器 * 1

3

LED 发光二极管 * 1

4

470欧姆电阻 * 2

5

旋转角度电位计 * 1

方法/步骤
1

Arduino IDE 新建代码的方法,程序的上传方法,大家可以参考:http://jingyan.baidu.com/article/414eccf6a8fb9f6b431f0ab1.html来操作

2

数字开关类传感器:打开 Arduino IDE 软件,输入下列代码:const int SensorPin = 7;             //定义传感器接口const int GLEDPin = 6;              //定义绿色 LED 接口const int RLEDPin = 5;             //定义红色 LED 接口void setup(){  pinMode (SensorPin, INPUT);        //设置传感器引脚为输入模式  digitalWrite (SensorPin, HIGH);    // 使用内部上拉电阻  pinMode (GLEDPin, OUTPUT);         //设置 LED 引脚为输出模式  pinMode (RLEDPin, OUTPUT);        }void loop(){  if (digitalRead(SensorPin)){       //如果传感器引脚为高电平,执行 if 中的程序    digitalWrite(GLEDPin, HIGH);         digitalWrite(RLEDPin, LOW);       }  else{ //否则执行                                   digitalWrite(GLEDPin, LOW);          digitalWrite(RLEDPin, HIGH);  }}

3

如图所示,将实验元件连接当有倾斜时,红色 LED 亮起当没有倾斜时,绿色 LED 亮起

4

硬件回顾:数字倾角传感器,滚球倾角传感器内部结构是钢珠,在倾斜时传感器的状态会发生改变,就是通过这种特性,来将“倾斜”这个信息传送给 Arduino UNO 控制器,从而控制 LED

5

简单模拟量传感器信号读取输入代码:const int potPin = 0;   const int ledPin = 13;   int val = 0;             void setup(){  pinMode(ledPin, OUTPUT);  }void loop() {  val = analogRead(potPin);     digitalWrite(ledPin, HIGH);   delay(val);                   digitalWrite(ledPin, LOW);    delay(val);                                      }

6

如图所示连接元件实验效果:通过旋转角度电位计可以改变 D13 引脚 LED 的闪烁频率

7

硬件回顾:旋转角度电位计变化范围:0 - 10K 欧姆通过旋转,可以改变电阻的分配,从而改变分压,使UNO控制器读取的模拟量值变化,再将模拟量的变化给到 delay 函数,改变 D13 引脚 LED 的闪烁频率

注意事项
1

常用的简单模拟量和数字量传感器都可以通过以上的程序进行简单测试

2

希望经验可以帮到您,也希望您给我点个赞!谢谢!

推荐信息