關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > DIY制作:SMC遠程控制小車

        DIY制作:SMC遠程控制小車

        作者: 時間:2012-04-20 來源:網絡 收藏

          遠程控制小車 OFweek電子工程網

          OFweek電子工程網  遠程控制小車

          OFweek電子工程網  遠程控制小車

          嘿嘿,說起來挺簡單的,簡單一點的說:PC控制盒子,盒子里面用Debian系統,系統控制串行端口,端口控制51單片機,單片機控制車體,OK!!!

          詳細一點,往下來看:

          1,先往盒子安裝Debian系統,詳細請參考: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號腳就可以,我焊接的一般就不上圖了(如果經常用串行接口的話,可以去掉一個USB中間兩根線,改接這兩根RX ,TX ,嘿嘿,反正兩個USB呢,也用不著那么多,個人觀點哦,根據自己實際情況定。)

          3,焊接受控制電路板。以下以51單片機為例(有串口了,其他還不好說嗎!),我的如下:

          特別注意的,如果有51單片機編程器的話就不用焊RS232了,這個盒子串口是TTL電平,51也是,絕配!記得RX--TX TX--RX哦。

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

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

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

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

          debian安裝OK后

          apt-get install minicom

          一路Y,安裝完成。

          minicom -s

          配置串口,出現配置菜單:選serial port setup

          進入串口配置

          輸入A配置串口驅動為/dev/ttyS0

          輸入E配置速率為9600 8N1

          輸入F將 Hardware Flow Control 設 為 NO

          回車 退出

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

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

          dfl將當前設置保存為默認設置。

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

          選Exit退出

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

          2,要,動態域名即可。

          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

          //-------------------------取數據----------------------//

          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機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 庄浪县| 称多县| 临沧市| 安图县| 石嘴山市| 内乡县| 临猗县| 营山县| 孟州市| 福海县| 昌乐县| 彝良县| 同德县| 金寨县| 麻阳| 涿鹿县| 福州市| 金溪县| 集贤县| 屏南县| 阜南县| 寿宁县| 鸡西市| 文山县| 绩溪县| 弥渡县| 光山县| 土默特右旗| 藁城市| 蒲江县| 西乌珠穆沁旗| 金门县| 蓬溪县| 阿图什市| 长寿区| 股票| 永定县| 通许县| 三台县| 华宁县| 隆子县|