< >
Home » Arduino语法参考 » Arduino语法-模拟I/O

Arduino语法-模拟I/O

函数列表

  • analogReference()
  • analogRead()
  • analogWrite()

analogReference()函数说明

void analogReference (uint8_t type)

配置参考电压

配置模式引脚的参考电压. 函数 analogRead 在读取模拟值之后, 将根据参考电压将 模拟值转换到[0,1023]区间. 有以下类型:

DEFAULT : 默认5V. INTERNAL: 低功耗模式. ATmega168和ATmega8对应1.1V到2.56V. EXTERNAL: 扩展模式. 通过AREF引脚获取参考电压.

参数:

type 参考类型(DEFAULT/INTERNAL/EXTERNAL) 

nalogRead()函数说明

int analogRead (uint8_t pin)

读模拟引脚

读模拟引脚, 返回[0-1023]之间的值. 每读一次需要花1微妙的时间.

参数:

pin 引脚编号 

返回:

0到1023之间的值 

例子:

int analogPin = 3;     // potentiometer wiper (middle terminal) connected to analog pin 3
                       // outside leads to ground and +5V
int val = 0;           // variable to store the value read

void setup()
{
  Serial.begin(9600);          //  setup serial
}

void loop()
{
  val = analogRead(analogPin);    // read the input pin
  Serial.println(val);             // debug value
}

analogWrite()函数说明

void analogWrite (uint8_t pin, int value)    

写模拟引脚

参数:

pin 引脚编号
value 0到255之间的值, 0对应off, 255对应on 

写一个模拟值(PWM)到引脚. 可以用来控制LED的亮度, 或者控制电机的转速. 在执行该操作后, 应该等待一定时间后才能对该引脚进行下一次的读或写操作. PWM的频率大约为490Hz.

在一些基于ATmega168的新的Arduino控制板(如Mini 和BT)中, 该函数支持以下引脚: 3, 5, 6, 9, 10, 11. 在基于ATmega8的型号中支持9, 10, 11引脚.

例子:

int ledPin = 9;      // LED connected to digital pin 9
int analogPin = 3;   // potentiometer connected to analog pin 3
int val = 0;         // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);   // sets the pin as output
}

void loop()
{
  val = analogRead(analogPin);   // read the input pin
  analogWrite(ledPin, val / 4);  // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: arduino语法, arduino模拟i/o