当前位置:首页 > 名师导学 > 专家点拨 > 亮宁主板上两个按钮的使用技巧(图文)

亮宁主板上两个按钮的使用技巧(图文)

发表日期:2017-02-17 15:06:01文章编辑:亮宁电子浏览次数: 标签:    

 一、预备知识

    亮宁机器人主板上自带了两个按钮,分别为K1K2(如图1)。在日常使用机器人的过程中,我们通常在机器人通电启动后,按下K2按钮使机器人开始运行;当需要机器人重新开始运行程序时,我们按下K1按钮使机器人复位。这里将详细介绍这两个按钮的功能和用法。

ddfads.jpg

 

1.按钮的位置

 

二、功能说明

1K1按钮

    K1Reset按钮,又称为复位按钮,其作用是在机器人带电的状态下,重新启动机器人,一般情况下,用于重新运行机器人内部的程序。 

 需要注意的是,当K1被按下后,机器人和电脑一样,会有一个自检重启的过程。只有当自检重启彻底完成之后,机器人才会回到程序运行前的最初状态,K2键按下才起作用。

2K2按钮

    K2按钮是个普通的按钮,用B_start()函数调用。当按下K2时,机器人开始运行B_start()之后的程序。当B_start()函数放在整个机器人程序的开头时,则在按下K2按钮之前,机器人始终处于停止等待状态,直到K2按钮被按下,机器人才开始运行。

    K2按钮在内部和48号数字口相连。当K2被按下时,48号数字口返回0;当K2处于松开状态,48号数字口返回1。因此,当我们不需要机器人等待按键再运行,或者用其它设备和语句来代替B_start()实现机器人的手动启动时,可以把K2按钮作为一个简单的开关来使用。

 

三、使用说明

1按下K1后,机器人的自检重启过程,根据实际情况大概需要2秒钟左右的时间,如果我们在按下K1后不加停顿,立马就去按K2来启动机器人,此时自检重启没有完成,按键不起作用,那么无论我们怎样反复的去按K2按钮,都是无效的。

    因此,正确的做法是:

1)   当我们按下K1后,稍等片刻,再按K2。如果发现K2按钮无效,不要反复的按K2,而是应重新按下K1,并等待更多的时间后再尝试按K2

2)   当机器人程序已经运行结束时,可以马上按下K1来复位机器人,这样在下一次运行之前便不需要等待机器人重启与自检了。

 

3)   在写机器人程序时,我们可以用如下的程序框架来设计,便能在不使用K1按钮的情况下,只用K2按钮来控制反复运行。

机器人简单巡线程序:

#include<LNDZ.h>

int ll,l,m,r,rr,n;

void init()

{

}

void repeat()

{

         B_start();       //1*

         while(1) //构造循环来实现repeat的功能。

                 {    

                        ll=AR(4)<619;//这里的值只是示例,具体值需实测。

                        l=AR(2)<632;

                       m=AR(1)<509;

                        r=AR(3)<644;

                        rr=AR(5)<684;

                        n=ll+l+m+r+rr;

                       if(ll==0) motor(-40,40);

                       else if(l==0) motor(0,40);

                       else if(m==0) motor(40,40);

                       else if(r==0) motor(40,0);

                       else if(rr==0) motor(40,-40);

                       if(n<3)

                         {

                              motor(0,0);

                              break;   //跳出while(1)循环

                         }

                 }

注:1*、B_start()写在了repeat()函数内,B_start()之后的程序运行结束后,不需要按K1便能回到按键等待,以后我们每按一次K2按钮来启动机器人,从而仅用K2来实现程序的重复运行。

2因为K2内部与48号数字口相连,可以利用这个特点把K2按钮当成一个开关。具体见如下程序。

机器人自动测值程序:

#include <LNDZ.h>

int llm,lm,mm,rm,rrm,ll,l,m,r,rr,n,t=0;

void init()

{

          pinMode(48,INPUT);//说明48号数字输入口

     while (DR(48)==1)//K2按钮按下去后数字口返回0

                {

                        ll=AR(4);

                        l=AR(2);

                      m=AR(1);

                       r=AR(3);

                       rr=AR(5);        //1*

                }

         beep(600);     //2*

         while (DR(48)==1)

              {

                      llm=(ll+AR(4))/2;

                      lm=(l+AR(2))/2;

                      mm=(m+AR(1))/2;

                      rm=(r+AR(3))/2;

                      rrm=(rr+AR(5))/2;          //3*

              }

        beep(600);     //4*

        while (DR(48)==1);     //测值成功后,待第三次按下按钮,开始执行下面的主要代码

        beep(600);

}

void repeat()

{

            ll=AR(4)<llm;//小于号为逻辑运算符。成立时返回1,不成立时返回0

            l=AR(2)<lm;

           m=AR(1)<mm;

            r=AR(3)<rm;

           rr=AR(5)<rrm;

           n=ll+l+m+r+rr;

           if(ll==0)   motor(-40,40);

           else if(l==0)   motor(0,40);

           else if(m==0)  motor(40,40);

           else if(r==0)    motor(40,0);

           else if(rr==0)    motor(40,-40);

           if (n<3)

                {

                     motor(0,0);

                     while (1);

                }

}

注:1*、当按钮没被按下去的时候,反复地读取4、2、1、3、5号模拟口上的值。

        2*、当按钮被按下,跳出以上while循环后,鸣叫一声,以示成功读取一种颜色的返回值。该beep语句还能消除按键抖动。

        3*、再次等待按钮被按下,等待过程中,不断地读取另外一种颜色的返回值,并且进行平均值的计算。

        4*、当按钮被按下,跳出以上while循环后,鸣叫一声,以示成功计算出黑白两色的分界线,各传感器的分界线分别存于变量llm、lm、mm、rm、rm中。

 

 

 

 

 

 

如没特殊注明,文章均为亮宁电子原创,转载请注明出处
相关新闻

浅析心理暗示在青少年行为教育中的作用(图文)

在与许许多多学生家长交流的过程中发现,不少家长都觉得孩子难管难教,特别是处于青春期的孩子,家长们更是感到头痛。所以,本文作者在这里发表个人看法,讨论一下心理暗示在教育孩...

日期:2019-04-24

不忘初心,方得始终

不忘初心,方得始终——对知识应用能力的执着追求 长沙市一中戴胜军 从事教师这行三十多年,我了解到许多教育教学中长期存在的不足和缺陷,也一直尝试用一己之力改变...

日期:2018-06-30

机器人教育中的责任心培养

本文已发表在《创意与发明》2016年第7期上在近年从事机器人教育教学工作中,我发现当代中小学生普遍存在责任心的缺失问题,引发了我对当前教育的担忧和诸多思考。一、缺失责任...

日期:2018-06-13

论中小学机器人教练员应该具备的基本素质

【摘 要】本文重在提示中小学机器人教练员建立必要的自信心和自我重塑,提出机器人教练员一些必须具备的基本素质,提醒可能成为机器人教练员的老师和目前处于探索阶段的机器...

日期:2018-03-19

亮宁机器人特有的符号系统(图文)

使用亮宁机器人的师生,可能注意到了这样一个特色,即亮宁机器人有自己特有的一套符号系统。如果还没有发现这一特色的师生,那我们就随本文来理解为什么我们要有这套特有的符号系...

日期:2018-01-19

亮宁可视化编程平台V2.2第6讲(图文)

第6讲 循环程序 我们先来看看顺序结构的程序实例。我们先用可视化系统设置如下: 上述设置的程序运行结果是八个LED灯同时被点亮。 我们看不出八个灯的点亮语句的顺序...

日期:2017-10-09