利用51單片機制作廉價盒仔機器人


轉載請注明:@小五義http://www.cnblogs.com/xiaowuyi  QQ群:64770604

一、盒仔機器人

  BOXZ,昵稱盒仔,是一款開源的互動娛樂平台!百度一下,有很多盒仔的制作教程,基本都是用arduino制作完成的。假期沒事,帶着寶寶們用51制作了一個廉價的BOXZ。先上張圖:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

從圖上不難看出,為了寶寶們易於接受,我把盒仔的手機搖控改成了用線控的方法,做了一個簡易的搖控器。

二、材料准備

名稱 型號及參數 數量 備注
5V穩壓模塊 LM7805 1  
充電電池 12V 1  
電容 22pf 2  
按鈕   4  
自鎖按鈕   1  

51單片機

stc12c2052ad

1  
晶振

11.0592Mhz

1  

電機驅動

L298N模塊

1  

降壓模塊

可調,選擇12v在可輸入范圍內,給l298N供電   1  

小車輪子

直接65mm,胎寬在26mm或者以下 2  

TT電機

  2  

杜邦線

   若干  

螺絲及螺母

m2*30 若干  

萬能板(洞洞板)

  1  
六角銅柱 m3*10 若干  

網線

用於連接搖控器與控制板 1  

硬紙板

2mm厚 若干  

 以上原器件,某寶網上都有。另外,制作中需要用到壁紙刀、電鑽、鋼尺、膠水等工具。

三、外殼及皮膚制作

1、外殼的制作

(1)下載模板

下載地址:https://yunpan.cn/crIvLu9R8xVyI  訪問密碼 9fe1

從上面的下載地址下載模板,打印出來,然后將硬紙板切割成圖上的樣子,怎么切割我就不用說了吧,呵呵。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2)組裝

第一步,用到的是P003,2塊電機支撐板,用於連接和固定TT減速箱電機(以下簡稱電機)。在開始安裝電機之前,大家可以先把P003實驗性的插入P001,從而定義好一個方向,我們的電機都是在支撐板內側安裝的。然后就可以用緊固件分別把電機固定在P003的內側了。如圖每塊P003與TT減速箱通過兩個M2x30MM的螺絲固定,兩邊裝上輪子。

第二步,安裝電路板,以及p041、P020、P030以及p050。

以上外殼的安裝過程,如果大家沒看明白,可以百度一下盒仔機器人,外殼都是一樣的。

2、皮膚的制作

下載地址:https://yunpan.cn/crIvwPNjKMrgG  訪問密碼 825a

 網上有很多皮膚,這里提供了馬里奧的皮膚下載,我制作中選用了白色的模板,讓寶寶們怎么塗上顏色。

 

 

 

 

 

 

 

 

 

 

 

 

 

四、電路原理圖

 

按照上面的原理圖,進行電路焊接,OUTA、OUTB、OUTC、OUTD分別接電機,實物如下圖:

這里要特別注意的是,電路中用到的萬能板的大小一定要剪裁到剛好可以放到兩輪之間的大小,具體要先做好組裝中的第一步,然后實際量一下尺寸,這樣做出來比較美觀。L298N和電池可以直接放在電路板上面,因為上方的空間比較大。

五、程序原代碼

 

    //轉載請注明:@小五義http://www.cnblogs.com/xiaowuyi  QQ群:64770604
#include<stc12c2052ad.h> #define uint unsigned int sbit A1=P1^0;// 輸出1 sbit A2=P1^1;// 輸出2 sbit B1=P1^2;//輸出3 sbit B2=P1^3;//輸出4 sbit find1=P3^2;//go sbit find2=P3^3;//back sbit find3=P3^4;//left sbit find4=P3^5;//right void delay_1ms(uint x) { uint y,z; for(y=0;y<x;y++) for(z=0;z<850;z++) ; } void go() { A1=0; A2=1; B1=0; B2=1; } void back() { A1=1; A2=0; B1=1; B2=0; } void left() { A1=1; A2=0; B1=0; B2=1; } void right() { A1=0; A2=1; B1=1; B2=0; } void find() { P3=0xff; if(find1==0) go(); if(find2==0) back(); if(find3==0) left(); if(find4==0) right(); if(find1==1&&find2==1&&find3==1&&find4==1) P1=0x00; } void main() { while(1) { find(); } }

c51的代碼如何燒寫,這里就不講了,不會的同學可以自己網上查一下,很簡單。

完整代碼包下載:https://yunpan.cn/crI8w94cIWTZ3  訪問密碼 3754

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM