“MCookie-LEGOShield/zh”的版本间的差异
(→开发) |
Zhangfengfeng(讨论 | 贡献) (→文档) |
||
(未显示2个用户的4个中间版本) | |||
第22行: | 第22行: | ||
*主控:MCookie-LEGOShield采用Atmega328p主控,独立运行驱动程序。 | *主控:MCookie-LEGOShield采用Atmega328p主控,独立运行驱动程序。 | ||
*通讯:IIC通讯,地址0x08(可自定义) | *通讯:IIC通讯,地址0x08(可自定义) | ||
+ | *接口:4个NXT电机接口,6个NXT传感器接口(其中只有S1、S2支持超声波传感器和颜色传感器) | ||
{|class="wikitable" | {|class="wikitable" | ||
! rowspan="1" |mCookie引脚||shield芯片引脚||功能 | ! rowspan="1" |mCookie引脚||shield芯片引脚||功能 | ||
|- | |- | ||
− | | | + | | SDA||SDA|| IIC接口SDA引脚 |
|- | |- | ||
− | | | + | | SCL||SCL|| IIC接口SCL引脚 |
|- | |- | ||
| D0|| D1||mCookie的Serial1 RX(可选悍,默认不连接) | | D0|| D1||mCookie的Serial1 RX(可选悍,默认不连接) | ||
第42行: | 第43行: | ||
**如果使用shield供电,由于shield固件初始化需要一定时间,所以在mCookie写控制程序的时候需要上点延迟一会再运行(delay一段时间) | **如果使用shield供电,由于shield固件初始化需要一定时间,所以在mCookie写控制程序的时候需要上点延迟一会再运行(delay一段时间) | ||
− | [[File: | + | [[File:mCookie-LEGOShield-TOP.jpg|800px|thumb|center]] |
− | + | [[File:mCookie-LEGOShield-BUT.jpg|800px|thumb|center]] | |
− | |||
− | |||
− | |||
− | |||
==开发== | ==开发== | ||
第117行: | 第114行: | ||
[[乐高遥控小车]] | [[乐高遥控小车]] | ||
− | |||
− | |||
− | |||
==图库== | ==图库== | ||
− | [[File:mCookie- | + | [[File:mCookie-LEGOShield-pic1.jpg|800px|thumb|center]] |
− | |||
− | |||
|} | |} |
2017年4月21日 (五) 06:11的最新版本
Language | English |
---|
目录特色
规格
开发shield采用IIC接口通讯,IIC地址默认为0x08,就像其他芯片一样读写寄存器地址。 API接口说明.pdf
使用乐高NXT接口按键常用方法: 判断是否按下判断是否释放
使用乐高NXT接口电机常用方法: 设置固定的速度速度范围:-255~255 #include <mCookieLEGO.h>
#include "Wire.h"
mCookieLEGO m;
void setup(){
Wire.begin();
m.configConnection(0xFFFF); //设置每个接口的连接情况
}
void loop(){
m.motor_setFixedDrive(mCookieLEGO::M1, 50);
delay(1); // very important
m.motor_setFixedDrive(mCookieLEGO::M2, 50);
delay(1); // very important
m.motor_setFixedDrive(mCookieLEGO::M3, 50);
delay(1); // very important
m.motor_setFixedDrive(mCookieLEGO::M4, 50);
delay(2000);
}
使用乐高NXT接口超声波常用方法: 获取当前的距离#include <mCookieLEGO.h>
#include "Wire.h"
mCookieLEGO m;
void setup(){
Wire.begin();
m.configSensorType(mCookieLEGO::S1, mCookieLEGO::SENSOR_ULTRA); // 把S1设置为超声波传感器
m.configConnection(0xFFFF);
}
uint8_t dis;
void loop(){
dis = m.sensor_ultra_getDistance(mCookieLEGO::S1);
Serial.print("dis: ");
Serial.println(dis);
delay(1000);
}
应用
图库
|