MCookie-LEGOShield/zh

来自Microduino Wikipedia
Cai_Niao讨论 | 贡献2016年4月20日 (三) 08:07的版本 购买
跳转至: 导航搜索
Language English
mCookie-LEGOShield


mCookie-LEGOShield是一款乐高兼容底板,在兼容乐高NXT接口传感器和电机的同时,能够继续堆叠mCookie模块,让乐高更加智能。



特色

  • 4路电机接口,兼容乐高NXT电机;
  • 4路普通传感器接口,兼容NXT接口的按键、声音传感器等;
  • 2路全功能传感器接口,除了能兼容普通传感器接口的所有传感器之外,兼容NXT接口的超声波传感器和颜色传感器;
  • IIC接口通讯,不占用其他多余IO口

规格

  • 外部供电:BM模块供电。
  • 引脚说明
mCookie引脚 Motor芯片引脚 功能
D6 1A 控制1A高电平,顺时针转
D8 1B 控制1B高电平,逆时针转
D5 2A 控制2A高电平,顺时针转
D7 2B 控制2A高电平,顺时针转
VMOT BM模块 供电
GND GND 共地
  • 注意:
    • 使用Motor模块驱动电机5,6,7,8这几个引脚不能被其他传感器占用,否则会出现问题。
    • Motor模块必须通过mCookie-BM/zh模块进行供电,不能直接通过CoreUSB连接电脑供电否则可能导致应用无法工作
Motor-Pinout-1Big.jpg

文档

开发

直流电机接线

  • 将一个直流电机接(OUT1A,OUT1B),另外一个直流电机接(OUT2A,OUT2B);
  • 直流电机控制引脚:
//D6,D8控制1A,1B的电机
#define OUT1A 6
#define OUT1B 8
//D5,D7控制2A,2B的电机
#define OUT2A 5
#define OUT2B 7

通断控制

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 急停
#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);
}

PWM调速控制

//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);
}

应用

购买

暂不开放购买

历史

图库

MCookie-Motor-t1.jpg
MCookie-Motor-b1.jpg

视频