fengzhihean

导航

模拟输出和输入;analog

 

 

 

 

 255是灯的最大亮度;

模拟输入analogRead(pin);  //模拟输入引脚读取数值

1.模拟输出analogWrite(pin,参数)    //通过参数的大小,控制引脚(比如说亮度)

boolean pushButton1;

boolean pushButton2;

int LED=9;

int brightness=128    //LED亮度参数

void setup(){

pinMode(2,INPUT_PULLUP);

pinMode(8,INPUT_PULLUP);

pinMode(LED,OUTPUT);

Serial.begin(115200);

}

void loop(){

 pushButton1=digitalRead(D2);

 pushButton2=digitalRead(D3);

if(!pushButton1 && brightness>0)  //当按下开关1,并且brightness>0

{

brightness--;

}

if(!pushButton2 && brightness<255)  //当按下开关2,并且brightness<255

{

brightness++;

}

analogWrite(LED,brightness);  //通过birghtness的大小来模拟控制LED亮度

Serial.println(brightness);

delay(10);

}

 

 

二、电位器,电阻总和为1000欧姆,向左转R1-2减小,R2-3增大

 

 

如果如上图所示,那么,旋钮向左旋转,模拟输入引脚的电压减小,接地引脚是电压的参考位置。

 

 

 

 int analogvalue=analogRead(A0);

int brigthness=map(analogvalue,0,1023,0,255);

电位器通过模拟输入的引脚A0把模拟输入传给ARDUINO,ARDUINO有10位转换器,0~5伏特电压对应这0~1023;

map();等比映射

 

posted on 2022-10-27 21:12  风止何安,璃月  阅读(520)  评论(0)    收藏  举报