01电位器的使用

电位器的使用

1.说明:

电位器是做什么的? 其别名也称可变电阻,通过旋转可以获取一系列的模拟数值,从0-1023,对于不同的数值采取不同的动作,从而达到控制的用途。

遥控器的操纵杆原来就是几个电位器组成的。

2.实物图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-poI9yxQB-1571815145549)(01.jpg)]

3.原理图:

其实就是一个可变电阻的原理图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OjcteOou-1571815145550)(timg.jpeg)]

4.接线图:

需要注意的是:中间的信号引脚接在模拟信号输入区,即A0-A5其中的一个。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wvpjcDmz-1571815145551)(01电位器的使用_bb.png)]

5.代码:

/*
	电位器的使用
*/
void setup() {
  // 初始化端口的频率
  Serial.begin(9600);
}
void loop() {
  // 读取A0的模拟信号的值
  int sensorValue = analogRead(A0);
  // 输出值
  Serial.println(sensorValue);
  delay(1);        // 在读取数之间延时

6.结果:

当我们旋转按钮时,会发现有数值的变化。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWuQQB4u-1571815145551)(02.png)]

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一段简单的C语言代码,用于将电位器的模拟信号转换为数字信号(AD转换): ``` #include <stdio.h> #include <stdlib.h> #include <wiringPi.h> #define ADC_CS 0 #define ADC_CLK 1 #define ADC_DIO 2 int read_adc(unsigned char adc_channel) { unsigned char i; unsigned char dat1 = 0, dat2 = 0; digitalWrite(ADC_CS, 0); digitalWrite(ADC_CLK, 0); dat1 |= 0x18; dat1 |= ((adc_channel & 0x07) << 3); for (i = 0; i < 5; i++) { if (dat1 & 0x80) digitalWrite(ADC_DIO, 1); else digitalWrite(ADC_DIO, 0); dat1 <<= 1; digitalWrite(ADC_CLK, 1); delayMicroseconds(1); digitalWrite(ADC_CLK, 0); delayMicroseconds(1); } for (i = 0; i < 13; i++) { digitalWrite(ADC_CLK, 1); delayMicroseconds(1); dat2 <<= 1; if (digitalRead(ADC_DIO)) dat2 |= 0x01; digitalWrite(ADC_CLK, 0); delayMicroseconds(1); } digitalWrite(ADC_CS, 1); return dat2; } int main(void) { int adc_value; if (wiringPiSetup() < 0) { fprintf(stderr, "Unable to initialize wiringPi\n"); exit(1); } pinMode(ADC_CS, OUTPUT); pinMode(ADC_CLK, OUTPUT); pinMode(ADC_DIO, OUTPUT); while (1) { adc_value = read_adc(0); // 读取通道0的模拟信号 printf("ADC Value: %d\n", adc_value); delay(1000); } return 0; } ``` 在这段代码中,我们使用了树莓派的wiringPi库来控制GPIO口。我们定义了三个GPIO口分别用于控制AD转换芯片的CS、CLK和DIO引脚,并编写了一个read_adc()函数,用于读取指定通道的模拟信号并将其转换为数字信号。 程序的主函数中,我们不断循环读取通道0的模拟信号并将其打印出来。你可以根据自己的需要修改该程序以适应不同的电位器和电路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值