随着信息化技术的不断普及,智能机器人越来越多的进入到人们的生活之中,并且迅速的改变着人们的生活方式。小到智能玩具,大到国防工业,电子,冶金,航天开发等各个领域,都缺少不了智能机器人的身影。用机械来代替人工劳动以此来解放生产力一直是人类的梦想,并且我们一直在为之努力。
1. 小车由4个N20减速电机驱动4个车轮前进;
2. 车头左右各一个灰度传感器检测前方障碍物;
3. 电位器可以调整小车行驶速度;
4. OLED 屏幕显示灰度传感器传出的值以及小车当前速度;
5. 4个LED彩灯显示正在转弯的方向。
#include <Microduino_Motor.h>
float var_spd;
int var_grey;
float var_t;
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
ColorLED strip_8 = ColorLED(16, 8);
ColorLED strip_4 = ColorLED(16, 4);
ColorLED strip_2 = ColorLED(16, 2);
ColorLED strip_12 = ColorLED(16, 12);
Motor MotorLeft(MOTOR0_PINA, MOTOR0_PINB);
Motor MotorRight(MOTOR1_PINA, MOTOR1_PINB);
void setup()
{
strip_8.begin();
strip_4.begin();
strip_2.begin();
strip_12.begin();
MotorLeft.begin();
MotorRight.begin();
var_grey=800;
}
void loop()
{
var_spd=((analogRead(A6))*2)/10;
var_t=1.5-((var_spd)/180);
u8g.setFont(u8g_font_9x15);
u8g.firstPage();
do
{
u8g.setPrintPos(0, 10);
u8g.print((analogRead(A2)));
u8g.setPrintPos(90, 10);
u8g.print((analogRead(A0)));
u8g.setPrintPos(50, 30);
u8g.print((var_spd));
u8g.setPrintPos(50, 50);
u8g.print((var_t));
}
while (u8g.nextPage());
strip_8.setPixelColor(0,0xffffff);
strip_8.show();
strip_4.setPixelColor(0,0xffffff);
strip_4.show();
strip_2.setPixelColor(0,0x000000);
strip_2.show();
strip_12.setPixelColor(0,0x000000);
strip_12.show();
if(((((analogRead(A0)) > (var_grey))) && (((analogRead(A2)) > (var_grey)))))
{
MotorLeft.setSpeed(var_spd);
MotorRight.setSpeed(0-(var_spd));
}
else
{
if(((((var_grey) > (analogRead(A0)))) && (((analogRead(A2)) > (var_grey)))))
{
MotorLeft.setSpeed(var_spd);
MotorRight.setSpeed(var_spd);
strip_4.setPixelColor(0,0xffbb00);
strip_4.show();
delay((var_t)*1000);
}
if(((((var_grey) > (analogRead(A2)))) && (((analogRead(A0)) > (var_grey)))))
{
MotorLeft.setSpeed(0-(var_spd));
MotorRight.setSpeed(0-(var_spd));
strip_8.setPixelColor(0,0xffc300);
strip_8.show();
delay((var_t)*1000);
}
if(((((var_grey) > (analogRead(A2)))) && (((var_grey) > (analogRead(A0))))))
{
MotorLeft.setSpeed(0-(var_spd));
MotorRight.setSpeed(0-(var_spd));
strip_12.setPixelColor(0,0xff0000);
strip_12.show();
strip_2.setPixelColor(0,0xff0000);
strip_2.show();
delay((var_t)*1000);
}
}
}
立即注册