董董soul 发表于 2016-3-28 11:11:03

OCROBOT智能小车(三)——实物图参考

本帖最后由 董董soul 于 2016-3-28 11:12 编辑

由于我做的小车被人拐走了,大概要下个月才能回来,所以呢,我拍了一下之前的照片,给大家参考参考,加深大家对前面一帖的印象。
还有:偶是手机拍摄的,用不起苹果,请大家带上餐巾纸,吐槽记得擦嘴!

1、OCROBOT MANII+L298P
   
   这是两块板子的实物图,都是OC的,板子确实质量杠杠的,使用也方便,但是呢类型太少,
   接下来,两者堆叠一下就可以了,完全不用我接线,之前我做的是一辆树莓派的摄像小车,用的是L298N驱动模块,虽然被我埋在了下面,表面看不出来,但是我还要记哪个脚对应哪个口,哪个口对应哪个轮子,三个字:烦死了。
   对了,我可以给大家看看我的做的树莓派小车,当然,这也是我的毕设(还没答辩呢)




有点丑吧,但是呢,跑起来绝对是帅帅的,在此感谢一下sunny大大,刘波大大,还有一些网上发帖的不知名的大神们。
好了,言归正传,让我们来看一下OC两块板子搭建的效果

不错吧!
2、由于四个轮子的小车潇洒去了,所以拿个两个轮子+两个万向轮的车,给大家参考一下
   话不多说,上图
   
没有电源,所以大家将就看一下吧,但是呢,接电源的位置,我已经提示了
3、代码
   我做了个蓝牙控制的小车,关于蓝牙的详细解释,请看链接http://www.geek-workshop.com/forum.php?mod=viewthread&tid=26031&highlight=%C0%B6%D1%C0
注意一点,在给主控板下载程序的时候,千万不要把蓝牙的TX,RX插上哦,否则程序就会下不进去的,
   手机方面的软件是蓝牙串口SPP,开源的,大家可以放心用,
好了,放上代码,以后会更新带着传感器的小车,跟大家分享一下,谢谢各位支持哦!
   

void setup()
{
pinMode(12,OUTPUT);
pinMode(3,OUTPUT);
pinMode(9,OUTPUT);   //启用电机A的三个管脚,全部设置为输出状态
pinMode(13,OUTPUT);
pinMode(11,OUTPUT);
pinMode(8,OUTPUT);   //启用电机B的三个管脚,全部设置为输出状态
Serial.begin(9600);

}

void loop()
{if(Serial.available() )      //根据接收到的字符做相应的动作
   {
   char c = Serial.read() ;
   switch(c)
   {
      case 'w':go(); break;
      case 'x':back(); break;   
      case 'a':goleft();break;
      case 'd':goright(); break;
          }
   

}
}
void go()
{ digitalWrite(9, LOW);       //松开电机A的制动
analogWrite(3, 128);      //50%功率输出
digitalWrite(3, HIGH);      //采用全功率输出
digitalWrite(12, HIGH);   //设置方向为正向
digitalWrite(8, LOW);       //松开电机B的制动
digitalWrite(11, HIGH);      //采用全功率输出
digitalWrite(13, HIGH);   //设置方向为正向
   delay(1000);               //维持1秒钟
digitalWrite(9, HIGH);   //电机停止运行
digitalWrite(8, HIGH);   //电机停止运行

}
void back()
{ digitalWrite(9, LOW);       //松开电机A的制动
analogWrite(3, 128);      //50%功率输出
digitalWrite(3, HIGH);   //采用全功率输出
digitalWrite(12, LOW);   //设置方向为反向
digitalWrite(8, LOW);       //松开电机B的制动
digitalWrite(11, HIGH);      //采用全功率输出
digitalWrite(13,LOW);   //设置方向为反向
delay(1000);               //维持1秒钟
digitalWrite(9, HIGH);   //电机停止运行
digitalWrite(8, HIGH);   //电机停止运行
}
void goright()
{
digitalWrite(9, LOW);       //松开电机A的制动
analogWrite(3, 128);      //50%功率输出
digitalWrite(3, HIGH);      //采用全功率输出
digitalWrite(12, HIGH);   //设置方向为正向

digitalWrite(8, HIGH);   //电机停止运行
delay(500);               //维持1秒钟

digitalWrite(9, LOW);       //松开电机A的制动
analogWrite(3, 128);      //50%功率输出
digitalWrite(3, HIGH);      //采用全功率输出
digitalWrite(12, HIGH);   //设置方向为正向
digitalWrite(8, LOW);       //松开电机B的制动
digitalWrite(11, HIGH);      //采用全功率输出
digitalWrite(13, HIGH);   //设置方向为正向
    delay(1000);               //维持1秒钟
digitalWrite(9, HIGH);   //电机停止运行
digitalWrite(8, HIGH);   //电机停止运行
}
void goleft()
{
digitalWrite(8, LOW);       //松开电机B的制动
digitalWrite(11, HIGH);      //采用全功率输出
digitalWrite(13, HIGH);   //设置方向为正向

digitalWrite(9, HIGH);   //电机停止运行
delay(500);               //维持1秒钟

digitalWrite(9, LOW);       //松开电机A的制动
analogWrite(3, 128);      //50%功率输出,有这个语句是因为功率太大,轮子不转
digitalWrite(3, HIGH);      //采用全功率输出
digitalWrite(12, HIGH);   //设置方向为正向
digitalWrite(8, LOW);       //松开电机B的制动
digitalWrite(11, HIGH);      //采用全功率输出
digitalWrite(13, HIGH);   //设置方向为正向
    delay(1000);               //维持1秒钟
digitalWrite(9, HIGH);   //电机停止运行
digitalWrite(8, HIGH);   //电机停止运行
}

迷你强 发表于 2016-3-28 23:13:45

然后捏?

董董soul 发表于 2016-3-29 10:15:10

迷你强 发表于 2016-3-28 23:13 static/image/common/back.gif
然后捏?

想到啥,再上帖

正正强 发表于 2016-5-28 18:33:18

顶一个,,,,,
页: [1]
查看完整版本: OCROBOT智能小车(三)——实物图参考