找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2997|回复: 5
打印 上一主题 下一主题
收起左侧

用单片机+PT2262/PT2272做的遥控小车状态不转变怎么回事?

[复制链接]
跳转到指定楼层
楼主
我用无线遥控PT2262和无线接收模块PT2272及电机驱动模块,结合单片机做了一个遥控小车,当按下前进也就是遥控器的A时,送开按键,小车还一直跑,而且再按遥控器的左转、右转、后退,小车的状态不变化,用数码管检测到程序运行到左转、右转等状态。还有就是用M4的遥控器如何实现5种行驶状态.
程序如下:
#include <reg52.h>
#include "car_file.h"
void main()
{
        P3=0X00;
        P1=0xff;
        TMOD = 0X02;
        TH0 = 256-um;
        TL0 = 256-um;
        EA = 1;
        ET0 = 1;
        TR0 = 1;
        while(1)
        {
                keyscan();
//                display(1);
        }
}
void keyscan()
{
        uchar num;
                num = P1&0X0f;
                {
                        if(num == 0x01)
                        {
                                        left();
                        }
                        else stop();
                        if(num == 0x02)
                        {        
                                go();
                        }
                        else stop();
                        if(num == 0x04)
                        {
                                right();
                        }
                        else stop();
                        if(num == 0x08)
                        {        
                                back();
                        }
                        else stop();
                }        
}

void go()
        {
                IN1 =  pwm(dutyleft);
                IN2 =0;
                IN3 =  pwm(dutyright);
                IN4 = 0;
        }

void back()
{
                IN2 =  pwm(dutyleft);
                IN1 = 0;
                IN4 =  pwm(dutyright);
                IN3 = 0;
}        
void left()
{
                IN3 =  pwm(dutyright);
                IN4 =0;
                IN1 = 0;
                IN2 = 0;
}
void right()
{
                IN1 =  pwm(dutyleft);
                IN2 = 0;
                IN3 = 0;
                IN4 = 0;
}
void stop()
{
        IN1 = 0;
        IN2 = 0;
        IN3 = 0;
        IN4 = 0;
}
void delay(uint z)
{
        uint x,y;
        for(x = z;x >0 ;x--)
        for(y = 110;y > 0; y--);
}
void timer0() interrupt 1
{
        t++;
        
}
uchar pwm(uchar dj_duty)
{
        uchar duty;
        if(t<=dj_duty)
        {
                duty= 1;
        }
        else
        {
                duty = 0;
        }
        if(t==20)
                t=0;
        return duty;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:164602 发表于 2018-11-28 09:36 | 只看该作者
我做过这个的。

可以参考我的程序:
/*
最小板STC89C52RC,晶振11.0592MHz,L298N带动两个电机,12V电机电源,
L298N自带5V逻辑电源对单片机供电,无线电遥控为2262/2272四路无线遥控模块,
M4——非锁,即数据脚输出的高电平是瞬时的而且和发射端是否发射相对应,可以
用于类似点动的控制。
遥控成功。但运动不细致。
第二代准备加入PWM调速。
*/
#include <reg51.h>

sbit ZLDJ20=P2^3;//IC的控制输入脚5、7或10、12
sbit ZLDJ21=P2^2;
sbit ZLDJ10=P2^1;
sbit ZLDJ11=P2^0;

sbit Agoto=P2^5;
sbit Bback=P2^7;
sbit Cright=P2^6;
sbit Dleft=P2^4;

void main(void)
{
        ZLDJ10=0;//初始化电机不动
        ZLDJ11=0;
        ZLDJ20=0;
        ZLDJ21=0;
       
        while(1)
        {
                if (Agoto==1)
                {
                        ZLDJ20=1;
                        ZLDJ21=0;
                        ZLDJ10=1;
                        ZLDJ11=0;
                }
                if (Bback==1)
                {
                        ZLDJ20=0;
                        ZLDJ21=1;
                        ZLDJ10=0;
                        ZLDJ11=1;
                }
                if (Cright==1)
                {
                        ZLDJ20=0;
                        ZLDJ21=1;
                        ZLDJ10=1;
                        ZLDJ11=0;
                }
                if (Dleft==1)
                {
                        ZLDJ20=1;
                        ZLDJ21=0;
                        ZLDJ10=0;
                        ZLDJ11=1;
                }
        }
}


这是我的第一代作品,第二代作品不仅可以调速,还可以一键两用,即每个键有双功能——前进、后退、左转、右转、加速、减速、停车、花式运动八功能。你先一样一样搞清楚再说别的吧。
回复

使用道具 举报

板凳
ID:138119 发表于 2018-11-28 11:14 | 只看该作者
用一个STC8脚单片机,配合这类15组合键遥控,可以做出15种动作,这样堆硬件,成本高、不节能,效果还不理想。有意,可以私聊!
回复

使用道具 举报

地板
ID:284936 发表于 2018-12-1 01:03 | 只看该作者
完蛋了,软件怎么调都调不出来,要不就不动,要不就动了停不下来,我估计是硬件的问题

微信图片_20181201010243.jpg (128.36 KB, 下载次数: 37)

微信图片_20181201010243.jpg
回复

使用道具 举报

5#
ID:479985 发表于 2019-2-28 15:10 | 只看该作者
HC6800-ES-V2.0 发表于 2018-11-28 09:36
我做过这个的。

可以参考我的程序:

我也想做这个,可以看一下你各个模块的接线是怎么接的吗?
回复

使用道具 举报

6#
ID:605843 发表于 2019-8-31 16:15 | 只看该作者
四个按键如何在实现前进功能的条件下实现加速呢?这个遥控器按键时没有锁存功能的啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表