久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

利用單片機+超聲波控制舵機轉(zhuǎn)向的制作 附源程序

查看數(shù): 7082 | 評論數(shù): 14 | 收藏 7
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-3-12 18:21

正文摘要:

通過超聲波感應(yīng),使舵機轉(zhuǎn)向,(在此本人有個想法,可以通過舵機控制自來水開關(guān)。即間接的做成了一個小的智能設(shè)備) 材料: 51單片機開發(fā)板 杜邦線 舵機+超聲波 3.7V電池兩個 束縛帶 膠水 冰淇淋棒 程序為 ...

回復(fù)

ID:947589 發(fā)表于 2021-6-30 23:16
樓主有接線圖么
ID:836542 發(fā)表于 2021-3-29 15:31
為啥我的舵機到位置后要抖動一下
ID:885324 發(fā)表于 2021-2-21 16:11
17875610146 發(fā)表于 2020-3-12 18:23
arduino程序我也有大家需要我也可以放出來

這是完整的源程序嗎?
單片機源程序如下:
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Trig=P3^4;            //控制端
sbit Echo=P3^5;          //接收端
sbit led=P1^3;
sbit servorControl =P1^3;  //舵機的控制引腳

uchar flag=0;
uchar control=5;
uchar servorTime=0;






unsigned char T0RH=0;
unsigned char T0RL=0;

void time_init()
{
        EA=1;
        TMOD=0x11;
        TH0 = 0;
        TL0 = 0;
}
///////////////////////////////////////
void delay(uchar time){  //延遲函數(shù)
uchar i;
for(;time>0;time--){
  for(i=0;i<255;i++);
}
}

//初始化定時器
void Delay_us(unsigned char t)
{
        while(--t);
}         //大約延時t*2+5us         超聲波模塊用
//////////////////////////////////////

void timer0()interrupt 1
{
TH0 = 0;
TL0 = 0;
}
//中斷程序 初始化賦值 重新計數(shù) 超聲波模塊用 計算時間
void main()
{
        unsigned int time,distance;
         
        EA=1;
  ET0=1;
  ET1=1;
  TMOD=0x11;
  TH1=0xff;
  TL1=0x9c;
  servorTime=0;
         
         
         
        Trig=0;
        Echo=0;
        time_init();
        while(1)
        {

                Trig=1;
                Delay_us(5);
                Trig=0;
                while(Echo==0);
                TR0=1;
                while(Echo);
                TR0=0;
                time=TH0*256+TL0;
                distance=(int)(time*0.017);                           //計算路程 單位為cm
                TH0=0;
                TL0=0;
                if(distance<30)                                        //如果距離小于30cm 蜂鳴器響
                {
                control=15;   //使舵機向正擺動
    servorTime=0;
    TR1=1;
    delay(200);
                delay(200);
    TR1=0;
                }
                else
                {
                control=5;   //使舵機向右擺動
    servorTime=0;
    TR1=1;
    delay(200);
                delay(200);
    TR1=0;
    delay(200);
                delay(200);
                }
        }
}
void T1_int(void) interrupt 3{   //產(chǎn)生舵機所需要的脈沖
  TH1=0xff;
  TL1= 0x9c;
  servorTime++;
  if(servorTime<=control)
   servorControl=1;
  else
   servorControl=0;
   if(servorTime>=200)
   servorTime=0;
}
ID:885324 發(fā)表于 2021-2-21 16:07
這是完整的源程序嗎
ID:885324 發(fā)表于 2021-2-21 16:06
17875610146 發(fā)表于 2020-3-12 18:23
arduino程序我也有大家需要我也可以放出來

單片機源程序如下:
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit Trig=P3^4;            //控制端
sbit Echo=P3^5;          //接收端
sbit led=P1^3;
sbit servorControl =P1^3;  //舵機的控制引腳

uchar flag=0;
uchar control=5;
uchar servorTime=0;






unsigned char T0RH=0;
unsigned char T0RL=0;

void time_init()
{
        EA=1;
        TMOD=0x11;
        TH0 = 0;
        TL0 = 0;
}
///////////////////////////////////////
void delay(uchar time){  //延遲函數(shù)
uchar i;
for(;time>0;time--){
  for(i=0;i<255;i++);
}
}

//初始化定時器
void Delay_us(unsigned char t)
{
        while(--t);
}         //大約延時t*2+5us         超聲波模塊用
//////////////////////////////////////

void timer0()interrupt 1
{
TH0 = 0;
TL0 = 0;
}
//中斷程序 初始化賦值 重新計數(shù) 超聲波模塊用 計算時間
void main()
{
        unsigned int time,distance;
         
        EA=1;
  ET0=1;
  ET1=1;
  TMOD=0x11;
  TH1=0xff;
  TL1=0x9c;
  servorTime=0;
         
         
         
        Trig=0;
        Echo=0;
        time_init();
        while(1)
        {

                Trig=1;
                Delay_us(5);
                Trig=0;
                while(Echo==0);
                TR0=1;
                while(Echo);
                TR0=0;
                time=TH0*256+TL0;
                distance=(int)(time*0.017);                           //計算路程 單位為cm
                TH0=0;
                TL0=0;
                if(distance<30)                                        //如果距離小于30cm 蜂鳴器響
                {
                control=15;   //使舵機向正擺動
    servorTime=0;
    TR1=1;
    delay(200);
                delay(200);
    TR1=0;
                }
                else
                {
                control=5;   //使舵機向右擺動
    servorTime=0;
    TR1=1;
    delay(200);
                delay(200);
    TR1=0;
    delay(200);
                delay(200);
                }
        }
}
void T1_int(void) interrupt 3{   //產(chǎn)生舵機所需要的脈沖
  TH1=0xff;
  TL1= 0x9c;
  servorTime++;
  if(servorTime<=control)
   servorControl=1;
  else
   servorControl=0;
   if(servorTime>=200)
   servorTime=0;
}
ID:885324 發(fā)表于 2021-2-21 16:01
17875610146 發(fā)表于 2020-3-12 18:23
arduino程序我也有大家需要我也可以放出來

想咨詢
ID:760058 發(fā)表于 2020-8-26 22:38
沒有原理圖嗎,親愛的樓主
ID:638921 發(fā)表于 2020-8-24 20:20
樓主有紅外控制舵機轉(zhuǎn)向的嗎
ID:461901 發(fā)表于 2020-4-2 09:44
能不能讓舵機返回原點前停頓3S呀???
ID:711252 發(fā)表于 2020-3-24 19:00
請教下這個舵機是什么型號的?
ID:89286 發(fā)表于 2020-3-15 22:46
thanks for sharing
ID:709089 發(fā)表于 2020-3-15 21:39
高啊,感謝分享啊
ID:648072 發(fā)表于 2020-3-13 17:48
感謝樓主的分享
ID:557065 發(fā)表于 2020-3-12 18:23
arduino程序我也有大家需要我也可以放出來

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 超碰在线免费公开 | 色综合天天综合网国产成人网 | 蜜桃视频在线观看免费视频网站www | 日本在线一区二区三区 | 男女羞羞视频在线观看 | 激情在线视频 | 国产精品久久久久久福利一牛影视 | 国产精品美女久久久久aⅴ国产馆 | 九九久久精品视频 | 999热视频 | 一区日韩| 91 久久| 成人av电影免费在线观看 | 中文字幕国产 | 日本高清精品 | 国产99视频精品免视看9 | 亚洲国产中文字幕 | 日韩三级免费观看 | 91精品国产美女在线观看 | 成人精品鲁一区一区二区 | 亚洲精品视频免费观看 | 日韩中文字幕在线不卡 | 粉嫩av久久一区二区三区 | 二区在线观看 | 四虎在线观看 | 亚洲欧美国产精品一区二区 | 久久久久国产精品一区二区 | 青青草国产在线观看 | 久草院线 | 精品久久久久久久久久久久久久 | 亚洲成人免费av | 国产1区| 成人做爰www免费看视频网站 | 99国产精品视频免费观看一公开 | 在线观看国产三级 | 一区二区三区在线电影 | 91人人爽 | 91精品国产91久久综合桃花 | 一级片免费观看 | h视频在线观看免费 | 欧美一区二区三区电影 |