欢迎来到我们的Arduino教程系列的第四个Arduino教程。在本教程中,我们将学习如何使用PWM(脉冲宽度调制)控制DC和伺服电机。
这是一步一步一步的视频教程,易于遵循。此外,在视频下面,您可以找到我们在视频中找到哪些零件的零件和视频中示例的源代码。
第一个例子所需的组件
- 直流电机..........................................亚马逊/伯格多德/aliexpress.
- 或CPU风扇直流电机.....................亚马逊/伯格多德/aliexpress.
- 电池9V或适配器(9-12V).........亚马逊/伯格多德/aliexpress.
- Arduino Board .................................。亚马逊/伯格多德/aliexpress.
- 面包板和跳线...........亚马逊/伯格多德/aliexpress.
- NPN晶体管..............................亚马逊/伯格多德/aliexpress.
- 电位仪.................................亚马逊/伯格多德/aliexpress.
- 二极管................................................亚马逊/伯格多德/aliexpress.
- 电容器 - 1uf .................................亚马逊/伯格多德/aliexpress.
- 电阻 - 1k o .................................。亚马逊/伯格多德/aliexpress.
必威外围提钱披露:这些是联盟链接。作为亚马逊助理,我从合格购买中获得。
电路5例的示意图,控制直流电动机
第一个示例的源代码,控制直流电机
int pwmpin = 7;void setup(){serial.begin(9600);Pinmode(PWMpin,输出);} void循环(){int potvalue = analogread(a0);int newpotvalue =地图(Potvalue,0,1023,0,255);Amplwwrite(PWMpin,NewPotValue);}
第二个例子所需的部件,控制伺服电机
- 伺服电机
- 电位计
电路示意图第二示例,控制伺服电机
第二个例子的源代码,控制伺服电机
#includeservo myservo;void setup(){myservo.attach(7);} void循环(){int potvalue = analogread(a0);int anglevalue =地图(Potvalue,0,1023,0,180);myservo.write(AngleValue);延迟(10);}
发表评论