用户工具

站点工具


learing:examples:analoginput

Analog Input(模拟输入)

电位器是一个简单的,提供可变电阻带有旋钮的装置,可以作为控制器的模拟输入。这个例子中你要使用一个电位器来控制LED闪烁频率。

ALPHA MEGA328-U核心

硬件

搭建电路

  1. ALPHA 11 LED模块插入并行扩展版1号槽位。
  2. ALPHA MEGA328-U模块插入并行扩展板2号槽位。
  3. USB线连接计算机与ALPHA MEGA328-U。

代码

/*
Analog Input
读取模拟输入,使用读取值控制LED亮灭
 
*/
 
int sensorPin = A0;    // 电位计连接A0
int ledPin = 2;      // LED连接2号数字口
int sensorValue = 0;  // 变量存储读取值
 
void setup() {
  // LED为输出:
  pinMode(ledPin, OUTPUT);  
}
 
void loop() {
  // 读取模拟值
  sensorValue = analogRead(sensorPin);    
  // 点亮LED
  digitalWrite(ledPin, HIGH);  
  // 延时:
  delay(sensorValue);          
  // 熄灭LED:        
  digitalWrite(ledPin, LOW);   
  //延时:
  delay(sensorValue);                  
}

ALPHA 8F328D-U核心

硬件

搭建电路

代码

MangoII

硬件要求

OCROBOT控制器
电位计

连接三根线到arduino。电位计外边第一个脚连接到gnd,外边另一个脚连接+5v,中间的脚连接arduino的A0口。

此例中使用了arduino板内置的连接在13号脚的LED,如果想用一个额外的LED,连接LED长的一根脚到数字口13,短的脚连接到gnd,因为13号脚的输出电流小,这里就不需要额外的限流电阻。

代码

程序的开头,把你的电位计连接在A0,LED连接在数字口13.建立变量存储电位计读取到的值。

analogRead转换输入电压的范围0-5v到数字0-1023之间,这一过程使用了arduino内部的模数转换器ADC。

转动旋钮后,你就改变了电位计两边到中间的电阻。改变了两边脚到中间脚的电压,这样就给模拟输入提供了不同的电压。当旋钮一直往一个方向拧,引脚上电压就是0,也就是输入值为0。当旋钮一直往另外一个方向拧,引脚上电压就是5v,也就是输入值为1023。在这之间,analogRead() 返回一个介于0和1023的数值,相应的电压就加在了引脚。

存储在sensorvalue里的值,用来设置闪烁LED的延时时间。值越高,循环越长,反之亦反。

/*
  Analog Input
 读取模拟输入,使用读取值亮灭
 
 */
 
int sensorPin = A0;    // 电位计连接A0
int ledPin = 13;      // LED连接13号数字口
int sensorValue = 0;  // 变量存储读取值
 
void setup() {
  // LED为输出:
  pinMode(ledPin, OUTPUT);  
}
 
void loop() {
  // 读取模拟值
  sensorValue = analogRead(sensorPin);    
  // 点亮LED
  digitalWrite(ledPin, HIGH);  
  // 延时:
  delay(sensorValue);          
  // 熄灭LED:        
  digitalWrite(ledPin, LOW);   
  //延时:
  delay(sensorValue);                  
}
learing/examples/analoginput.txt · 最后更改: 2017/10/05 03:36 (外部编辑)