当前位置: 首页 > news >正文

用cms做的网站 的步骤杭州网站建设 网站设计

用cms做的网站 的步骤,杭州网站建设 网站设计,百度一下百度搜索首页,自己做的网站字体变成方框什么是 PWM在解释 PWM 之前首先来了解一下电路中信号的概念#xff0c;其中包括模拟信号和数字信号。模拟信号是一种连续的信号#xff0c;与连续函数类似#xff0c;在图形上表现为一条不间断的连续曲线。数字信号为只能取有限个数值的信号#xff0c;比如计算机中的高电平… 什么是 PWM在解释 PWM 之前首先来了解一下电路中信号的概念其中包括模拟信号和数字信号。模拟信号是一种连续的信号与连续函数类似在图形上表现为一条不间断的连续曲线。数字信号为只能取有限个数值的信号比如计算机中的高电平1和低电平0。PWMPulse Width Modulation即脉冲宽度调制简称脉宽调制通过对一系列的脉冲的宽度进行调制从而等效出所需要的模拟信号。如图 1 所示蓝色波形为调制的一系列脉冲红色波形为模拟的正弦样信号。在模拟电路中模拟信号的值可以连续进行变化而数字电路是在高电平和低电平中取值所以电压或电流会以脉冲的形式出现。通过使用 PWM 技术我们可以在数字电路中模拟出电信号的连续变化。图1PWM 示意图  提示看完上面的如果你还不明白那么可以看看下面这个生动的解释这个解释来源于百度知道“简单的说比如你有5V电源要控制一台灯的亮度有一个传统办法就是串联一个可调电阻改变电阻灯的亮度就会改变。还有一个办法就是PWM调节。不用串联电阻而是串联一个开关。假设在1秒内有0.5秒的时间开关是打开的0.5秒关闭那么灯就亮0.5秒灭0.5秒。这样持续下去灯就会闪烁。如果把频率调高一点比如是1毫秒0.5毫秒开0.5毫秒灭那么灯的闪烁频率就很高。我们知道闪烁频率超过一定值人眼就会感觉不到。所以这时你看不到灯的闪烁只看到灯的亮度只有原来的一半。同理如果1毫秒内0.1毫秒开0.9毫秒灭那么灯的亮度就只有原来的10分之一。”使用 PWM 需要了解占空比Duty Cycle和频率Frequency的概念。占空比即 PWM 信号在一个周期内处于高电平的时间与整个周期的时间的比值。在 5V 电源的情况下想要产生一个 3V 的信号可以使用占空比为 60 的 PWM。图 2 从波形的角度解释了 PWM。频率是 PWM 信号在 1 秒内完成一个周期的次数单位是 Hz。如果输出的频率够高并保持一定的占空比就可以模拟出恒定电压。图 3 对比了小灯亮度的变化与占空比的变化通过观察图右侧的 PWM 波形可以看到占空比越高小灯越亮。图2占空比示意图图3小灯亮度变化与占空比变化对比Raspberry Pi 上提供了硬件 PWM 功能一共包括 2 个通道引出了 4 个 GPIO 引脚。其中 GPIO 12 和 GPIO 18 属于通道 0GPIO 13 和 GPIO 19 属于通道 1。但有意思的是只有通道 0 的 GPIO 18 引脚的默认功能为 PWM其他的不是被音频处理所占用就是引脚另有它用。启用这些引脚需要进行一些特殊配置甚至内核编程。  提示如何启用 Raspberry Pi 上的 PWM 修改 /boot/config.txt 添加 dtoverlaypwm 。启用 PWM 通道 1 请参考https://github.com/raspberrypi/firmware/issues/1178修改 GPIO 引脚功能请参考https://www.dummies.com/computers/raspberry-pi/raspberry-pi-gpio-pin-alternate-functions 和 http://abyz.me.uk/rpi/pigpio/pigs.html相关类PWM 操作的相关类位于 System.Device.Pwm 命名空间下。PwmChannelpublic class PwmChannel : IDisposable {// 创建 PwmChannel 对象// chip 为 PWM 芯片编号Linux 下位于 /sys/class/pwm 文件夹下// channel 为 通道编号public static PwmChannel Create(int chip, int channel, int frequency 400, double dutyCycle 0.5);// 占空比取值为 0.0 - 1.0public double DutyCycle { get; set; }// 频率单位为 Hzpublic int Frequency { get; set; }// 打开和关闭 PWM 通道public void Start();public void Stop(); }PWM 的使用步骤实例化一个 PwmChannel 对象PwmChannel pwm PwmChannel.Create(chip: 0, channel: 0, frequency: 400, dutyCycle: 0);打开 PWM 通道pwm.Start();设置占空比/频率改变输出的 PWM 信号pwm.DutyCycle 0.5;关闭 PWM 通道pwm.Stop();使用硬件 PWM 控制 LED 的亮度硬件需求名称数量LEDx1220 Ω 电阻x1杜邦线若干电路LED 正极 - GPIO 18 (Pin 12)LED 负极 - GND使用 Docker 运行示例示例地址https://github.com/ZhangGaoxing/dotnet-core-iot-demo/tree/master/src/PwmLeddocker build -t pwm-led-sample -f Dockerfile . docker run --rm -it -v/sys/class/pwm:/sys/class/pwm --privilegedtrue pwm-led-sample代码打开 Visual Studio 新建一个 .NET Core 控制台应用程序项目名称为“PwmLed”。引入 System.Device.Gpio NuGet 包。在 Program.cs 中将主函数代码替换如下static void Main(string[] args) {int brightness 0;using PwmChannel pwm PwmChannel.Create(chip: 0, channel: 0, frequency: 400, dutyCycle: 0);pwm.Start();while (brightness ! 255){pwm.DutyCycle brightness / 255D;brightness;Thread.Sleep(10);}while (brightness ! 0){pwm.DutyCycle brightness / 255D;brightness--;Thread.Sleep(10);}pwm.Stop(); }发布、拷贝、更改权限、运行效果图使用软件 PWM 控制 RGB LED上面提到 Raspberry Pi 中默认只有 GPIO 18 这一个引脚可以使用 PWM要控制 RGB LED 则至少需要使用 3 个 PWM这显然是不够用的。在 Iot.Device.Bindings 这个 NuGet 包中为我们提供了使用 GPIO 模拟的软件 PWM 类 SoftwarePwmChannel 。软件 PWM 的使用效果并没有硬件 PWM 的那种“顺滑”因为其精度完全取决于 GPIO 的速度。  提示RGB LED 有三种颜色但通常只有 4 个引脚而三种单色 LED 却有 6 个引脚为什么会少了 2 个引脚RGB LED 分为共阳极和共阴极。如果少的两个引脚为阳极则为共阳极 RGB LED三个单色 LED 共用一个阳极剩下的三个引脚为各自的阴极。共阴极 RGB LED 则相反。两种 LED 在使用上类似但程序相反比如共阴极时占空比越高 LED 越亮而共阳极时占空比越高则 LED 越暗。硬件需求名称数量RGB LEDx1220 Ω 电阻x3杜邦线若干电路LED R - GPIO 18 (Pin 12)LED G - GPIO 23 (Pin 16)LED B - GPIO 24 (Pin 18)LED 阴极 - GND使用 Docker 运行示例示例地址https://github.com/ZhangGaoxing/dotnet-core-iot-demo/tree/master/src/PwmRgbdocker build -t pwm-rgb-sample -f Dockerfile . docker run --rm -it --device /dev/gpiomem pwm-rgb-sample代码打开 Visual Studio 新建一个 .NET Core 控制台应用程序项目名称为“PwmRgb”。引入 Iot.Device.Bindings NuGet 包。在 Program.cs 中将主函数代码替换如下static void Main(string[] args) {using PwmChannel red new SoftwarePwmChannel(pinNumber: 18, frequency: 400, dutyCycle: 0);using PwmChannel green new SoftwarePwmChannel(pinNumber: 23, frequency: 400, dutyCycle: 0);using PwmChannel blue new SoftwarePwmChannel(pinNumber: 24, frequency: 400, dutyCycle: 0);red.Start();green.Start();blue.Start();Breath(red, green, blue);red.Stop();green.Stop();blue.Stop(); }public static void Breath(PwmChannel red, PwmChannel green, PwmChannel blue) {int r 255, g 0, b 0;while (r ! 0 g ! 255){red.DutyCycle r / 255D;green.DutyCycle g / 255D;r--;g;Thread.Sleep(10);}while (g ! 0 b ! 255){green.DutyCycle g / 255D;blue.DutyCycle b / 255D;g--;b;Thread.Sleep(10);}while (b ! 0 r ! 255){blue.DutyCycle b / 255D;red.DutyCycle r / 255D;b--;r;Thread.Sleep(10);} }发布、拷贝、更改权限、运行效果图供参考Pulse-width modulation - Wikipediahttps://en.wikipedia.org/wiki/Pulse-width_modulationRPI4 : PWM0 PWM1 Alternate pins - GitHubhttps://github.com/raspberrypi/firmware/issues/1178Raspberry Pi GPIO Pin Alternate Functionshttps://www.dummies.com/computers/raspberry-pi/raspberry-pi-gpio-pin-alternate-functions/PWM source codehttps://github.com/dotnet/iot/tree/master/src/System.Device.Gpio/System/Device/Pwm脉冲宽度调制 - 百度百科https://baike.baidu.com/item/脉冲宽度调制/10813756原文链接https://www.cnblogs.com/zhanggaoxing/p/11748663.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.yutouwan.com/news/486787/

相关文章:

  • 重庆做网站开发的集中海口网站建设呢
  • 网站功能开发需求分析网络工程师需要具备什么条件
  • python网站开发流程图什么叫网站开发
  • 网站运营预期效果合肥建设银行官网招聘网站
  • 政务公开与网站建设的矛盾微信小程序购物平台
  • 做app_需要先做网站吗谷歌paypal官网下载
  • 上海企业免费网站建设中国能源建设集团招聘
  • 网站建站公司模板建设网站用什么代码写好呢
  • 源码购买网站专业网站营销
  • 广告投放平台公司网站页脚优化怎么做
  • 中国建筑网站平台有哪些同城网站
  • 网站开发程序设计南昌网络营销公司
  • 恶意推广网站单纯python能完成网站开发吗
  • 织梦英文版网站怎么做世界三大咨询公司
  • 网站栏目架构网站安全建设方案例文
  • se 网站优化洛阳青峰网络
  • 换友情链接的网站深圳人才网官方网站
  • 学做西点的网站建立企业网站的形式有哪几种
  • 学校网站建设项目可行性分析网站空间管理面板
  • 专业的企业网站定制公司网站建设承诺
  • 做cpa比较做网站吗wordpress建站教程简书
  • 重庆建设银行官方网站首页seo网页推广
  • 商业网站建立大千设计装饰有限公司
  • 视频网站哪个做的好处网站站开发 流量
  • 最全的网页模板网站wordpress搭的
  • 学院网站信息化建设总结梵客家装全包套餐
  • 网站可信图标零食网站推广策划书
  • 那个网站可以找人做设计外包的企业网站
  • 公司网站数据分析公司北航网站建设
  • 做简单的网站首页天津效果图制作公司