關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > DIY制作:SMC遠程控制小車

DIY制作:SMC遠程控制小車

作者: 時間:2012-04-20 來源:網(wǎng)絡(luò) 收藏

  遠程控制小車 OFweek電子工程網(wǎng)

  OFweek電子工程網(wǎng)  遠程控制小車

  OFweek電子工程網(wǎng)  遠程控制小車

  嘿嘿,說起來挺簡單的,簡單一點的說:PC控制盒子,盒子里面用Debian系統(tǒng),系統(tǒng)控制串行端口,端口控制51單片機,單片機控制車體,OK?。。?p>  詳細一點,往下來看:

  1,先往盒子安裝Debian系統(tǒng),詳細請參考:lintel 的在SMC無線硬盤盒(MGB100)上運行Debian 地址:http://www.anywlan.com/bbs/thread-18052-1-1.html

  2,焊接盒子的串行接口線,請參考: lintel的SMC無線硬盤盒(MGB100) 研究之四 JTAG 地址:http://www.anywlan.com/bbs/thread-18012-1-1.html

  只需要焊接1 3 6號腳就可以,我焊接的一般就不上圖了(如果經(jīng)常用串行接口的話,可以去掉一個USB中間兩根線,改接這兩根RX ,TX ,嘿嘿,反正兩個USB呢,也用不著那么多,個人觀點哦,根據(jù)自己實際情況定。)

  3,焊接受控制電路板。以下以51單片機為例(有串口了,其他還不好說嗎?。业娜缦拢?p>  特別注意的,如果有51單片機編程器的話就不用焊RS232了,這個盒子串口是TTL電平,51也是,絕配!記得RX--TX TX--RX哦。

  當(dāng)然沒有編程器,那就多費點勁,想偷懶,就找個老式的COM口數(shù)據(jù)線,嘿嘿,那個一般都是RS232,具體接法百度吧!

  4,51單片機再接個L298N,接法如下,詳情百度,多如牛毛。

  硬件一切就緒,接下來,軟件

  1,先說一下SMC盒子串口的控制,用minicom控制,具體如下

  debian安裝OK后

  apt-get install minicom

  一路Y,安裝完成。

  minicom -s

  配置串口,出現(xiàn)配置菜單:選serial port setup

  進入串口配置

  輸入A配置串口驅(qū)動為/dev/ttyS0

  輸入E配置速率為9600 8N1

  輸入F將 Hardware Flow Control 設(shè) 為 NO

  回車 退出

  由于我們使用minicom作為超級終端控制路由器等設(shè)備, 而不是控制modem, 所以需要修改Modem and dialing, 將Init

  string, Reset string, Hang-up string設(shè)置為空。 設(shè)置完成后選擇Save setup as

  dfl將當(dāng)前設(shè)置保存為默認設(shè)置。

  在配置菜單 選Save setup as df1保存(一定要記得這一步)

  選Exit退出

  下次在輸入minicon 即可直接進入,按CTRL+A 再按shift+E 調(diào)出回顯,OK完成。

  2,要,動態(tài)域名即可。

  3,單片機程序

  //Code by myasus 僅希望拋磚引玉

  //QQ:31495962

  #include P>

  #include P>

  sfr DC=0x90; //P1是電機接口,P1.0--A P1.1--BP 1.2--ENAB P1.3--ENCD P1.4--C P1.5--D A--GO B--BACK C--LEFT D--RIGHT

  //-------------------------取數(shù)據(jù)----------------------//

  char getData(void)

  {

  char c;

  while (!RI);

  c=SBUF;

  RI=0;

  return (c);

  }

  //------------------------串口定義-----------------------//

  void Init_Timer1_COM(void)

  {

  SCON=0x52;

  TMOD=0x20;//定時器1定時方式2

  TL1=0xfd;//baudRate:9600

  TH1=0xfd;

  TR1=1;//timer1 reset

  }

  //-----------------------主程序--------------------------//

  main()

  {

  char c;

  Init_Timer1_COM();

  while(1)

  {

  c=getData();

  switch (c)

  {

  case ‘w’:

  printf(GO n”); DC=0x05;

  break;

  case ‘s’:

  printf(BACK n”); DC=0x06;

  break;

  case ‘a’:

  printf(LEFT n”); DC=0x1d;

  break;

  case ‘d’:

  printf(RIGHT n”); DC=0x2d;

  break;

  case ‘z’:

  printf(LEFT BACK n”); DC=0x1e;

  break;

  case ‘c’:

  printf(RIGHT BACK n”); DC=0x2e;

  break;

  default:

  printf(You are wrong! n”); DC=0x00;

  break;

  }

  }

  }

DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY



上一頁 1 2 下一頁

關(guān)鍵詞: 小車 遠程控制 SMC 制作 DIY

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉