为什么某些图钉的数字旁边有“〜”符号?


32

我一直在寻找我的Arduino UNO和我通过数字引脚注意到,符号1110965,和3。这些是什么意思?这会影响其工作方式吗?在某些情况下,我可以不使用这些引脚吗?


19
代字号的意思是“大约”。如图所示,“这大约是引脚11”。在制造过程中,引脚可能会移位一些。引脚11很少会恰好是11。通常它比11稍微多一点或一点点少。带有增加移位趋势的引脚将用〜符号表示。:)

6
@AnnonomusPerson David表现得很滑稽,如果您不熟悉引脚排列等,这不会立即显现出来。
沙姆谭(Shamtam)2013年

7
@Shamtam:或者,如果您不熟悉David :)
Chris Laplante

Answers:


31

放松。不用担心 这些引脚被称为PWM,并且与其他引脚相同,除了它们具有“附加奖励”。


Arduino网站的一些用法:

  • 调光LED
  • 模拟模拟输出。输出仍在数字上从0V切换到5V。但是,可以通过低通滤波器(电容器和电阻器)来模拟模拟电压。
  • 生成音频信号。
  • 提供电动机的变速控制。
  • 生成调制信号,例如以驱动红外LED进行远程控制。

怎么运行的:

PWM引脚由片上定时器控制,该定时器以大约490Hz的速率自动切换引脚。“脉冲宽度调制”(PWM)是引脚在该频率的单个周期内保持开启或关闭的时间。通过给幻觉提供比以前亮度低一半的亮度,这可以使LED变暗,而在这种情况下,它确实会快速闪烁。 不同占空比的图像。

当占空比为25%时,占时间的四分之一。如果您使用的是LED,它的亮度约为[给定或拍摄]的1/4。(请注意:正如某些人指出的那样,这并不是真正的比例,但是为了简单起见,让我们将其保留。例如:25%并不总是亮度的1/4。)

(如果您真的很精通电气,则可以添加一个电容器,使其成为模拟输出。)


如何使用这些引脚输出:

首先,您需要将引脚定义为输出。然后,您可以使用 analogWrite(ledPin, 128); 它来启动它。该ledPin是你要开始PWM和PWM引脚128应使用之间的一个数字来代替0255; 0:(0% duty cycle将针脚完全关闭)和255100% duty cycle。(将针脚完全打开)

资料来源:http : //www.arduino-tutorials.com/arduino-pwm/


为什么我不能在我的代码中快速打开和关闭灯?:

从技术上讲,您可以遇到一些问题:

  • 它可能不如在Arduino上使用硬接线电路那样精确
  • 只需键入指令,而不要包含很多“ if”语句,它会更简单

如果Arduino的唯一目的是生成PWM信号,那并没有太大的不同。但是,如果您在主循环中放置的延迟超过50 MS,则会浪费时间。使用这种软件方法,您将想要消除任何“延迟”功能,因为Arduino仅在一个线程上运行(一次只能做一件事)。如果您知道自己在做什么,那么调光不会有太大的区别,但是如果您有一个额外的PWM引脚,那么您只是在浪费软件时间。


正如其他人指出的那样:

您的电路仍然需要电阻来限制电流和电压。您不能跳过此操作。


1
我不知道您所说的“处理能力”是什么意思(或该短语的意思是什么)。PWM之所以有效,是因为它由独立于运行代码运行的定时器触发。
baldengineer

@ JamesC4S我的意思是,如果添加延迟并将其设置为“打开”和“关闭”,它会使整体代码变慢。处理器在过热之前每秒只能做很多事情,因此它可以控制运行速度。
匿名企鹅

@AnnonomusPerson您需要在给出的答案中更加清楚。我仍然看不到您的解释与“处理能力”有关。例如,您可以编写不使用delay()的PWM例程,例如使用millis(),这将对其余代码的执行速度产生最小的影响。
baldengineer

1
@AnnonomusPerson:我想说有两种在代码中实现PWM的方法:一种可以让处理器在一个循环中执行PWM,除了可能决定何时退出之外,什么都不做,或者可以有一个定时器滴答中断执行PWM。在前一种情况下,当PWM发生时,处理器将无法执行其他任何操作。在后者中,PWM时序的精度和精确度将受到限制。硬件PWM电路允许芯片在执行其他操作的同时生成精确的微秒PWM波形。
2013年

请注意,由于视觉的工作原理,具有1/4 DC(或任何其他比率)的LED不一定会显示全亮度的相应部分。
伊格纳西奥·巴斯克斯

7

关于PWM引脚的一个常见误解是,使用PWM时,不必使用限流电阻(例如,带LED)。

这不是真的。PWM引脚应被视为数字引脚,它们会自动打开和关闭。这意味着它们与其他任何引脚都具有相同的高电压。

当使用带PWM的LED时,您仍必须使用限流电阻。当使用带PWM的电机时,(几乎总是)应使用晶体管。


2
@AnnonomusPerson不,那是不正确的。即使您有真正的模拟输出,您仍然需要LED的电流限制器。LED需要恒定电流源,而不需要恒定电压源。
baldengineer

3
您可以得到带有内置限流电阻器的LED。当我要求在Maplin上使用一个LED以及一个合适的电阻器以12V的电压运行该电阻时,我感到非常失望。嘿,等到他们尝试将一堆晶体管封装到一个封装中以制作一个“与”门之类的东西时,再等一下。
安德鲁·莫顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.