查看“MCookie-Motor/zh”的源代码
←
MCookie-Motor/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|mCookie-Motor}} {| style="width: 800px;" |- | [[File:MCookie-Motor-rect.jpg|400px|thumb|right|mCookie-Motor]] mCookie-Motor是一款直流电机(马达)控制器,具有脉宽调制,可通过PWM控制电机速度。必须使用BM模块供电。 ==特色== *内部PWM电流限制控制,可控制速度; *同步整流,可降低功耗; *直流电动机制动模式; *可同时驱动两个直流电机 ==规格== *外部供电:BM模块供电。 *引脚说明 {|class="wikitable" ! rowspan="1" |mCookie引脚||Motor芯片引脚||功能 |- | D6|| 1A||控制1A高电平,顺时针转 |- | D8|| 1B||控制1B高电平,逆时针转 |- | D5|| 2A||控制2A高电平,顺时针转 |- | D7|| 2B||控制2B高电平,逆时针转 |- | VMOT||BM模块||供电 |- | GND||GND||共地 |} *注意: **'''使用Motor模块驱动电机5,6,7,8这几个引脚不能被其他传感器占用,否则会出现问题。''' **Motor模块必须通过[[mCookie-BM/zh]]模块进行供电,不能直接通过CoreUSB连接电脑供电否则可能导致应用无法工作 [[File:motor-Pinout-1Big.jpg|800px|thumb|center]] ==开发== ===直流电机接线=== *将一个直流电机接(OUT1A,OUT1B),另外一个直流电机接(OUT2A,OUT2B); *直流电机控制引脚: <source lang="cpp"> //D6,D8控制1A,1B的电机 #define OUT1A 6 #define OUT1B 8 //D5,D7控制2A,2B的电机 #define OUT2A 5 #define OUT2B 7 </source> ===通断控制=== {|class="wikitable" ! rowspan="1" |6||8||5||7||1A||1B||2A||2B||功能 |- |Low||Low||Low||Low||Off||Off||Off||Off||关闭(惯性停下) |- |High||Low||High||Low||High||Low||High||Low||顺时针转 |- |Low||High||Low||High||Low||High||Low||High||逆时针转 |- |High||High||High||High||Low||Low||Low||Low||急停 |} <source lang="cpp"> #define OUT1A 6 #define OUT1B 8 #define OUT2A 5 #define OUT2B 7 void setup() { pinMode(OUT1A, OUTPUT); pinMode(OUT1B, OUTPUT); pinMode(OUT2A, OUTPUT); pinMode(OUT2B, OUTPUT); } void loop() { head(); delay(2000); back(); delay(1000); stop(); delay(500); } void head() { digitalWrite(OUT1A, HIGH); digitalWrite(OUT1B, LOW); digitalWrite(OUT2A, HIGH); digitalWrite(OUT2B, LOW); } void back() { digitalWrite(OUT1A, LOW); digitalWrite(OUT1B, HIGH); digitalWrite(OUT2A, LOW); digitalWrite(OUT2B, HIGH); } void stop() { digitalWrite(OUT1A, LOW); digitalWrite(OUT1B, LOW); digitalWrite(OUT2A, LOW); digitalWrite(OUT2B, LOW); } </source> ===PWM调速控制=== <source lang="cpp"> //D6,D8控制1A,1B的电机 #define OUT1A 6 #define OUT1B 8 //D5,D7控制2A,2B的电机 #define OUT2A 5 #define OUT2B 7 void setup() { pinMode(OUT1A, OUTPUT); pinMode(OUT1B, OUTPUT); pinMode(OUT2A, OUTPUT); pinMode(OUT2B, OUTPUT); } void loop() { for (int fadeValue = 0; fadeValue <= 255; fadeValue += 5) //循环语句,控制PWM速度增加,控制fadeValue的变化大小可以控制亮度级别 { analogWrite(OUT1A, fadeValue); //将速度级别写入电机 digitalWrite(OUT1B, LOW); analogWrite(OUT2A, fadeValue); digitalWrite(OUT2B, LOW); delay(100); //速度度级别维持的时间,单位毫秒 } for (int fadeValue = 255; fadeValue >= 0; fadeValue -= 5) //循环语句,控制PWM速度减小,控制fadeValue的变化大小可以控制亮度级别 { digitalWrite(OUT1A, LOW); analogWrite(OUT1B, fadeValue); //将速度级别写入电机 digitalWrite(OUT2A, LOW); analogWrite(OUT2B, fadeValue); delay(100); //速度度级别级别维持的时间,单位毫秒 } delay(1000); } </source> ==图库== [[File:mCookie-Motor-t1.jpg|thumb|600px|center]] [[File:mCookie-Motor-b1.jpg|thumb|600px|center]] |}
返回至
MCookie-Motor/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息