標(biāo)題: 基于51單片機(jī)的無線遙控船程序設(shè)計(jì)思路 [打印本頁]

作者: 1768106    時(shí)間: 2019-3-24 15:53
標(biāo)題: 基于51單片機(jī)的無線遙控船程序設(shè)計(jì)思路
說一下怎樣去做一個(gè)遙控器,必須要買的東西: 2 片 STC12C5A60S2 單片機(jī),2 個(gè) NRF24L01 模塊,一個(gè)電機(jī)驅(qū)動(dòng)(如果要驅(qū)動(dòng)功率較大的電機(jī),不建議買 LN298,最好大功率一些的),兩個(gè) L7805 穩(wěn)壓管,1 個(gè)AMS1117-3.3 穩(wěn)壓芯片,兩個(gè)搖桿電位器(注意有一個(gè)是要不能自動(dòng)復(fù)位的,用于油門,另外一個(gè)要自動(dòng)復(fù)位,用于轉(zhuǎn)彎。還有一些電阻電容等,主要是用來構(gòu)建一個(gè)最小單片機(jī)系統(tǒng),使單片機(jī)運(yùn)行起來。液晶屏不是必要的,這里我用的是 nokia5110 液晶屏,用來顯示遙控車的電壓和電量,當(dāng)然電量不會(huì)很準(zhǔn)確,是用單片機(jī)上的 A/D 轉(zhuǎn)換器采集電池的電壓,然后根據(jù)電壓電量曲線得出電量的。



單片機(jī)源程序如下:
  1. #include <stc12c5a60s2.H>
  2. #include <intrins.h>
  3. #include <math.h>
  4. #include"2_4G.h"
  5. #include"stc12_ADC.h"
  6. #include"stc12_pwm.h"


  7. void delay(unsigned int k)
  8. {
  9.     unsigned int i,j;
  10.     for(i=0;i<k;i++)
  11.     {
  12.                 for(j=0;j<121;j++)
  13.                 {;}
  14.         }
  15. }



  16. void main(void)
  17. {
  18.   uchar RxBuf[32]={0},TxBuf[32]; // 接收的數(shù)據(jù) 數(shù)組
  19.   delay(500);        
  20.         init_NRF24L01() ;        //模塊初始化
  21.         Init_ADC();
  22.   PWM_init();
  23.         PWM_clock(2);      // PCA/PWM時(shí)鐘源為定時(shí)器0的溢出
  24.   while(1)
  25.   {
  26.     SetRX_Mode();          //設(shè)置成接受模式
  27.           nRF24L01_RxPacket(RxBuf);
  28.           delay(10);
  29.             
  30.     if(RxBuf[1]==0)             //前進(jìn)
  31.     {
  32.       up=1;
  33.             dw=0;
  34.       up1=0;
  35.       dw1=1;
  36.       PWM_start(RxBuf[2],RxBuf[3]);
  37.     }
  38.     else                       
  39.     {
  40.       if(RxBuf[0]==0)
  41.       {
  42.         up=1;
  43.               dw=1;
  44.         up1=1;
  45.         dw1=1;
  46.       }                                                            
  47.       else                    //后退
  48.       {
  49.         up=0;
  50.               dw=1;
  51.         up1=1;
  52.         dw1=0;
  53.         PWM_start(RxBuf[0],RxBuf[0]);
  54.       }
  55.     }

  56.     TxBuf[4]=(uchar)AD_av(0);            //測(cè)鋰電池電壓
  57.     nRF24L01_TxPacket(TxBuf);                 //發(fā)送數(shù)據(jù) Transmit Tx buffer data
  58.     delay(50);
  59.    
  60.   }
  61. }
復(fù)制代碼

所有資料51hei提供下載:

Keil代碼下載: 遙控船.rar (137.82 KB, 下載次數(shù): 116)
sldprt文件: 遙控器.rar (8.7 MB, 下載次數(shù): 136)


作者: 160328318    時(shí)間: 2019-3-28 17:23
謝謝樓主 好資料,51黑有你更精彩!!!

作者: 風(fēng)158    時(shí)間: 2019-3-28 18:41
謝謝分享!
作者: hellangle89    時(shí)間: 2019-3-31 01:54
樓主怎么沒有原理圖?
作者: 949160270    時(shí)間: 2019-4-5 11:42
賺點(diǎn)黑幣去下載
作者: 江渚鷺鷥    時(shí)間: 2019-5-23 18:48
下載下來學(xué)習(xí)學(xué)習(xí)
作者: 這個(gè)世界會(huì)好嗎    時(shí)間: 2020-3-25 16:27
感謝分享
作者: RESEUT    時(shí)間: 2020-5-16 19:30
感謝樓主分享
作者: sdpylee    時(shí)間: 2022-2-17 10:54
SLDPRT是什么文件?預(yù)覽圖里沒看到.C.H文件。∫?yàn)楹趲挪欢,所以沒舍得下載。
作者: haokanma77    時(shí)間: 2022-5-28 21:21
感覺跟蘿麗遙控器用的原件差不多
作者: 5474727    時(shí)間: 2023-7-31 01:13
多謝分想,樓主長命百歲

作者: 5474727    時(shí)間: 2023-8-14 22:17
我測(cè)了好像不能行了,怎么回事

作者: liruoning    時(shí)間: 2023-9-9 20:18
樓主分享一下原理圖唄




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1