天天看點

一種基于51單片機的循迹、音樂播放、流水燈、避障、遊戲搖桿遙控玩具小車

這是一個學生自娛自樂的項目,也沒有什麼題目。隻是想送一個玩具給我的藍朋友~

最終實作的功能如标題所言,車車可以循迹,避障,進行音樂播放以及流水燈實時顯示路程以及時間溫度等等,還可以用自制的搖桿控制。我打算慢慢把它做出來,部落格成形之日,就是我的車車亮相之時。

目錄

一、日程

二、總結與感悟

一、日程

2018年6月2日

今天大抵确認了小車要實作的功能以及對應的子產品。如下:

流水燈      推挽結構的IO口

避障        超音波子產品

驅動電路     不打算用L298N子產品了,之前用過,想試一下MX1508       

音樂電路     蜂鳴器          

白黑循迹

顯示速度和路程  1602液晶屏,不打算用光電門了,打算嘗試一下霍爾傳感器 

循迹       紅外傳感器  

顯示溫度    DS18B20溫度傳感器

選擇功能            按鍵子產品

遙感搖桿控制 

2018年6月3日

   我打算把遙控功能做成搖桿形狀的,今天看了一下它的使用方法。

2018年6月4日

今天買了所有的子產品,在淘寶上,花了60多。

順便學習了超音波子產品的使用,就是下面這個東東:

一種基于51單片機的循迹、音樂播放、流水燈、避障、遊戲搖桿遙控玩具小車

那麼,怎麼使用它呢。我給大家說一下

   這個超音波子產品的原理就是VCC接VCC,GND接地,然後把TRIG和Echo接任意一個引腳,當給Trig10us以上的高電平時,Echo就可以傳回一個高電平,高電平的持續時間與子產品和障礙物的距離有關,很多程式都用這個原理來測距。不過,我的小車隻用它來避障,是以,我感覺隻要檢測到高電平就讓車轉彎就可以了,這個在車模回來之後試驗一下。以下是我實驗超音波的程式:

#include<reg51.h>
#include<intrins.h>//_nop_();延時一個機器周期,12MHZ晶振時鐘周期為1/12us,機器周期為12*時鐘周期=1us
sbit Trig= P2^1;
sbit Echo= P2^0;
sbit Beep= P1^5;
main()
{  int i=1,j=1;
   while(1)
   {
      
      Trig=1;
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   _nop_();
   Trig=0;
   while(!(Beep=~Echo));
   
   
   
   Beep=1;
   }
}      

隻要檢測到有距離,蜂鳴器就會響,如果手指頭按着超音波子產品,距離為0,蜂鳴器就安靜了。

2018年6月5日

想在車車上設計幾個心形的燈,弄成流水燈或者跑馬燈神馬的,為了不占用太多IO口,我打算使用推挽結構的IO口。算了,還是等元器件都回來再說吧,實在引腳不夠用就用74HC595了。

2018年6月7日

今天,用去年畫好的PCB做了一個最小系統闆玩兒。PCB也上傳了,到時候把連結發給大家。(排針的焊盤大家适當擴大一下吧,不然你打孔時候一定注意打大一點兒)

但是,其實個人建議直接上淘寶買最小系統闆,做闆子挺浪費時間的。再不行,用洞洞闆,也比腐蝕電路闆容易許多。