资讯详情

【树莓派C语言开发】实验15:电位计传感器(关联PCF8951)

今天的实验需要两位常驻嘉宾!

它们就是PCF8591和双色LED!

QQ图片20220510220604


文章目录

  • 1.实验器材
  • 2.实验原理
    • 2.1基本原理
    • 2.2接线图
  • 3.实验效果
    • 3.1代码示例
    • 3.2实验效果
  • 结语

1.实验器材

上:电位计传感器;下:双色LED


2.实验原理

2.1基本原理

电位计是一种用于测量电路中电势(电压)的仪器。通过电流计将电阻滑动线的部分已知电压与未知电压进行比较。调整电位计的滑动触点或游标。然后将检流计短时间连接到滑动触点和未知电压之间,观察检流计的挠度,调整滑动接头,直到检流计不再从零偏差。

此时,检流计不再从未知源中吸收电流,电压的振幅值可以从滑动触点的位置计算。

又称电位器POT,是可变电阻器。它们可以通过简单地改变头部顶部的旋钮来提供可变电阻。它可以根据两个主要参数进行分类。一个是电阻(R-ohms)另一个是功率本身(P-Watts)额定值。

在本实验中,PCF读取电位计的模拟值,并将值输出到双色LED。

将电位器引脚(电位器上的OUT管脚)连接PCF8591的引脚AINO。将双色LED引脚R或引脚G连接到PCF8591的引脚AOUT,以观察LED的变化。


2.2接线图

有了前两次接线的经验,这次只需要复制。

树莓派 T型转接板 PCF8591
SDA SDA SDA
SCL SCL SCL
5V 5V VCC
GND GND GND
电位计 T型转接板 PCF8591
OUT * AIN 0
VCC 5v VCC
GND GND GND
双色LED T型转接板 PCF8591
R(中间) * AOUT
GND(-) GND GND
G(S) * *

实物图一如既往的乱,哈哈哈


3.实验效果

3.1代码示例

使用本实验,改变双色以接收电位计的信号LED亮度

///电位器模块实验 #include <stdio.h> #include <wiringPi.h> #include <pcf8591.h>  #define makerobo_PCF 120 // 基础管脚120  // 主函数 int main () { 
          int pcf_value ;     // 定义变量存储AIN的输入值  wiringPiSetup () ;   // 调用初始化函数  // 设置基本引脚120pcf8591,地址0x48  pcf8591Setup (makerobo_PCF, 0x48) ;  while(1) // 无限循环  { 
           pcf_value = analogRead  (makerobo_PCF + 0) ;
        // 获取AIN0上的值,读取电位器模拟量值;
		printf("Potentiometer Value: %d\n", pcf_value); 
        // 打印出该值 
		analogWrite (makerobo_PCF + 0, pcf_value) ;    
        // 控制AOUT输出电平控制LED灯
		delay (200) ;  // 延时200ms
	}
	return 0 ;
}

这里先用Read函数读取电位计的值,然后再用Write函数写入到PCF8591,它用AOUT输出到双色LED,来控制它的亮度


3.2实验效果

如果你看过实验12的博客的话,你应该还记得,PCF8591上也有一个电位计,他也能实现本次实验的效果。

但不同的是,本次实验使用的是单独的电位计模块,调节更加方便,不需要使用螺丝刀


运行程序,屏幕上会打印出电位计接收到的值,通过调节旋钮,值在0-255之间波动

效果如图,还是很明显的

结语

本篇博客到此结束,感谢你的阅读

标签: r1216电位器r9011电位器48v电流传感器c2031滑动电位器旋扭式电位器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台