这节我将带你们了解亮宁机器人编程的基础部分。编程
LCD液晶显示屏
LCD液晶显示屏是在实现某种功能和调试中不可缺乏的部分,接下来我带你们学习,如何使用LCD液晶显示屏。函数
首先咱们把LCD液晶显示屏插入主板的指定接口,而后接上数据线,打开Arduino输入如下程序。学习
#include <LNDZ.h> lc lcd; //声明一个lcd设备 void init() { lcd.begin(16, 2);//告诉电脑当前显示器是一行16个字符,2行的规格 lcd.bg(1); //开启背光,0则是关闭背光 } void repeat() { lcd.clear();//清屏 lcd.print("Welcome to LCD");//输出内容 delay(200);//防止闪屏 }
上传程序成功后,你会在机器人的LCD液晶显示器上看到"Welcome to LCD"字样。在这里先和你们讲一下亮宁机器人程序的结构,首先#include<LNDZ.h>是亮宁机器人的标准库,机器会从void init()开始执行程序,执行完后就开始执行void repeat()里面的程序,你能够把这个函数理解为while(1){...}。这就是亮宁机器人程序的基本结构。ui
声控装置
你们应该都看过楼梯间的声控开关吧,那声控开关究竟是采用什么样的原理,下面我来带领你们探究一下。spa
首先咱们仍是电脑接上数据线并打开Arduino输入如下程序:调试
#include <LNDZ.h> lc lcd; void init() { lcd.begin(16, 2); lcd.bg(1); } void repeat() { int d=sound();//获取声音的值 lcd.clear(); lcd.print(d); delay(200); }
在上传程序成功后你能够看到LCD液晶显示器上会出现一个数字,你试着在主板旁边击掌,显示器上的数值会随着你击掌的声音越大而越小,因此你能够经过值来判断当前的声音大小。code
播放音乐
还记得第零章的警报程序吗!仔细研究的同窗会发现,机器人发声是由于“beep()”起到的做用。由于“beep(300)”,这个函数的意思是鸣叫300ms;而后“delay(200)”,这个函数的意思是延迟200ms,也就是暂停机器发出声音200ms。你会以为这个声音很单调乏味,因此下面我来带领你们学习一下亮宁机器人怎么实现音乐的播放。首先咱们一块儿来了解下机器人发声函数的基本用法。blog
#include <LNDZ.h> void init() { B_start(); tone(11,2); //括号第一个参数为音符,第二个参数表示停留时间 参数*100ms tone(11,2);//11~17表示低音的1~7 tone(21,2); //21~27表示中音的1~7 tone(31,2); //31~37表示高音的1~7 }
在学习完发声函数的基本用法后,咱们再来用亮宁机器人弹一首《两只老虎》吧!可能有的人会想说,哇就弹《两只老虎》的音乐,音符程序就要写这么多,要是更大的曲子该怎么办呀!如今该发挥你的聪明才智的时候了,下面请看如下的程序代码。接口
#include <LNDZ.h> #define YIN 20 double t[32][2] = { {1, 3}, {2, 3}, {3, 3}, {1, 3}, {1, 3}, {2, 3}, {3, 3}, {1, 3}, {3, 3}, {4, 3}, {5, 6}, {3, 3}, {4, 3}, {5, 6}, {5, 1.5}, {6, 1.5}, {5, 1.5}, {4, 1.5}, {3, 3}, {1, 3}, {5, 1.5}, {6, 1.5}, {5, 1.5}, {4, 1.5}, {3, 3}, {1, 3}, {1, 3}, {-5, 3}, {1, 6}, {1, 3}, {-5, 3}, {1, 6} }; void init() { B_start(); for (int i = 0; i < 32; ++i) t[i][0] = t[i][0] + 20; } void repeat() { for (int i = 0; i < 32; ++i){ tone((int)t[i][0], t[i][1]);//音符,停留时间*100 } }
这样写是否是代码量要小不少了!因此程序不要盲目地编写,在写以前要想一想怎么“偷懒”哦!three
上传完程序,按下开始按钮。你就会听见机器播放《两只老虎》了,是否是很棒。你也能够尝试一下其余音乐。
遥控器
#include <LNDZ.h> ir ykq;//声明遥控器 der jst;//声明接收器 void init() { ykq.start(); B_start(); } void repeat() { if (ykq.decode(&jst)) { //机器收到遥控信号 switch (jst.value) //判断按下哪一个键 { case one: { beep(500); } break; case two: { tone(17, 10); } break; case three: { tone(37, 10); } break; default: break; } ykq.next(); } }
程序上传完毕后,用遥控分别按下1,2,3键后,机器会发出不一样的声音。经过观察和实验代码,你们应该对遥控器程序的基本使用方法有了必定的了解。不过必定要注意的是:这一段程序必定要放在repeat()里面,由于机器要不停的检测遥控所发出的信号。若是要查找其余的按键名,你们能够打开“亮宁机器人可视化编程系统”查找里面的具体图文模块说明,在可视化编界面里面会告诉你怎么用。