arduino电位器怎么控制led (arduino电位器怎么控制马达)

实验目的

读取电位器输出到arduino模拟IO的数值,并将读取的模拟IO值作为PWM控制的占空比对马达进行调速;

硬件

arduino uno、10k电位器、130马达、L9110电机控制器;

电位器简介

arduino的pwm调速,arduino电位器pwm

本次实验用到的电位器阻值为10k,即PIN1和PIN3两个引脚之间电压值为10k,PIN2与任意两个引脚之间的电阻通过调节电位器旋钮改变。

arduino中需要用到的相关函数

analogRead(pin);

//从指定的模拟引脚读取数值;

//pin:用于读取数值的引脚,arduino uno 的模拟引脚为A0、A1、A2、A3、A4、A5、

//输出:0~1023;将0至5伏特之间的输入电压映射到0至1023之间的整数值。读数之间的关系:5伏特/ 1024单位,或0.0049伏特(4.9 mV)每单位。

analogWrite(pin,value);

//向指定的数字引脚写入数值;

//pin:Arduino UNO 控制器上有6个PWM接口,分别是数字接口3、5、6、9、10、11

//value:占空比(0~255之间,0完全关闭,255完全打开)

map(value, fromLow, fromHigh, toLow, toHigh);

//将analogRead(pin)输出的数值从(0`1023)的范围映射至analogWrite(pin,value)函数中value数值规定的(0~255)的范围;

//value:需要映射的值

//fromLow:当前范围值的下限

//fromHigh:当前范围值的上限

//toLow:目标范围值的下限

//toHigh:目标范围值的上限

接线图

arduino的pwm调速,arduino电位器pwm

示例代码

int potentiometerPin = A0;

int PWM_Pin = 3;

void setup()

{

pinMode (potentiometerPin, INPUT);

pinMode (PWM_Pin,OUTPUT);

}

void loop()

{

int value = analogRead(potentiometerPin);

map(value, 0, 1023, 0, 255);

analogWrite(PWM_Pin, value);

}

实验效果

视频加载中...