我是靠谱客的博主 传统项链,最近开发中收集的这篇文章主要介绍PWM调光实验PWM调光实验,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

电位器实验

PWM调光实验

实验目的

电位器控制LED的亮度

理论学习

PWM简介

脉冲宽度调制,简称为脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,广泛应用在测量、通信到功率控制与变换的许多领域

  • PWM是一种对模拟信号电平进行数字编码的方法,由于计算机不可以输出模拟电压,而只可以输出0V或者5V的数字电压值(0V为0 ,5V为1)所以通过高分辨率器,利用方波的占空比被调制的方法对一个具体的模拟信号的电平进行编码,但是PWM信号仍然是数字的,因为在给定的任意时刻,直流供电要么是5V(1)要么是0V(0)。电压或者电流源以一种通(ON)、断(OFF)的重复脉冲序列加到模拟负载上,只要带宽足够,任何的模拟值都可以使用PWM进行编码
  • 输出的电压值是通过通和断的事件进行计算的

输出电压 = (接通时间/脉冲时间)* 最大电压值

PWM的三个基本参数

脉冲宽度变化幅度(最小值/最大值)
脉冲周期(1秒内脉冲频率个数的倒数)
电压高度(0V-5V)

arduino uno控制器上有6个PWM接口,分别是数字接口3、5、6、9、10、11

原理图

在这里插入图片描述
在这里插入图片描述

代码编写

#define pot A0
#define LED 3
int potbuffer = 0;
void setup() {
  // put your setup code here, to run once:
  pinMode(LED, OUTPUT);
}
void loop() {
  // put your main code here, to run repeatedly:
  potbuffer = analogRead(pot);
  potbuffer = map(potbuffer, 0, 1023, 0, 255);
  analogWrite(LED, potbuffer);
}
/*
  函数的用法:
    map(x,in_min,in_max,out_min,out_max);
    函数的作用:
      可以用来将某一数值从一个区间等比映射到一个新的区间
    参数:
      x:要映射的值
      in_min:映射前区间的最小值
      in_max:映射前区间的最大值
      out_min:映射后区间的最小值
      out_max:映射后区间的最大值
    analogWrite(pin,value);
    函数的作用:
      将一个模拟数值写入arduino引脚,可以用来控制LED灯的亮度,或者是电机的转速
    参数:
      pin:被读取的模拟引脚号码
      value:0到255之间的PWM频率值,0对应OFF,255对应ON
*/

无源蜂鸣器实验

最后

以上就是传统项链为你收集整理的PWM调光实验PWM调光实验的全部内容,希望文章能够帮你解决PWM调光实验PWM调光实验所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部