Pcduino通过PWM信号控制motorshield
2017-05-20 13:08
169 查看
#include <core.h>
#define FORWARD 0
#define BACKWARD 1
//控制信号引脚定义
int pinInA1 = 8; //与最下排管脚的A1相连。
int pinInA2 = 11; //与最下排管脚的A2相连。
int pinEnA = 9; //与最下排管脚的EnA相连。
//此外,motorshield要与pcduino共地。
void motorSetDirection(int method)
{
switch(method)
{
case FORWARD:
digitalWrite(pinInA1, HIGH);
digitalWrite(pinInA2,
LOW);
break; //记住不要忘了break,否则会继续执行BACKWORD设置。导致设置FORWARD失败。
case BACKWARD:
digitalWrite(pinInA1, LOW);
digitalWrite(pinInA2,
HIGH);
break; //记住不要忘了break。
default:
break;
}
}
void motorSetSpeed(int speed)
{
analogWrite(pinEnA, speed);
}
void setup()
{
pinMode(pinInA1, OUTPUT);
pinMode(pinInA2, OUTPUT);
pinMode(pineEnA, OUTPUT);
}
void loop()
{
motorSetSpeed(120);
motorSetDirection(FORWARD);
delay(3000); //等待3秒
motorSetDirection(BACKWARD);
delay(3000); //这个延时不可少,否则设置完BACKWARD,循环过去,立马变为FORWARD。只能看到正转。
}
实验结果:
电机先正转,后反转,不断循环。
相关文章推荐
- 利用STC12C5A60S2单片机内容的PWM信号,驱动电机控制芯片MX214B实现小风扇的转动
- 通过IO口控制STC15F2K60S2系列单片机输出pwm
- 用stc12c5a60s2单片机的PCA寄存器输出PWM波,通过MX214B芯片控制直流电机
- 用电位器通过STC12C2052AD单片机片内AD和PWM控制电机无极变速
- PIC单片机实现带反馈控制的PWM信号发生器源码
- 用STC15F104W单片机读取PWM信号控制IO口
- linux信号处理--通过发送信号控制进程
- 最简单的pwm信号控制舵机
- 通过win32api让c#控制Windows任务栏
- 通过inputSplit分片size控制map数目
- Jackson 通过自定义注解来控制json key的格式
- 如何通过session控制单点登录
- hibernate的级联查询,通过代码控制
- STC89C52通过串口控制流水灯亮灭
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
- esp8266-01和esp8266-12f的区别,以及pwm占空比控制电压变化
- AngularJS 中,通过 radio来控制元素的显示和隐藏,以及控制表单元素的 disabled
- 通过API函数来控制SQLite数据库增删改查
- Asp.net页面中通过Js控制Silverlight显示值
- ButterKnife 加载控件 + xUtils 获取数据+ Fresco 显示图片 + 通过事件分发控制移动 + 通过AIDL获取数据