最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 服务器 > 系统运维 >
图形化编程含义及作用简析
CSDN发表于 2020-09-24 17:39 次浏览
图形化编程是现在很多孩子学习编程的方式,让孩子借助这样的编程工具可以更好的去学习。那么,图形化编程教程是怎样的?下面来跟小编一起学习一下。

图形化编程软件推荐二: Mind+
(2)软件二:Mind+
Mind+是一款拥有自主知识产权的国产青少年编程软件,由上海智位机器人(DFRobot)维护,有中文社区支持。除了支持arduino,还支持micro:bit等其他的开源硬件,只需要拖动图形化程序块即可完成编程,还可以使用python/c/c++等高级编程语言。Mind+是一款特别的图形化开发工具,这个软件采用C++和Qt开发,界面精致,相对其他拼接指令式的编程软件,确实有一些新意。此软件通过抽象出软件开发中的命令流和数据流,模拟成图形界面中的红蓝折线,通过导线的流动体现出程序流程和数据传递的过程,使得初学者都很容易看懂。Mind+还有WEB端在线编程功能,打开即可使用,很方便,而且他们的社区教程也很丰富,是目前国内中小学生图形化编程学习、比赛使用较多的。
(3)软件三:Mixly
Mixly也是针对arduino的一款图形化编程工具,基于blockly开发而成。这个软件针对arduino完善了一些数据类型等方面的功能,比原生blockly更好用。相对其他图形化软件来说,mixly显得更轻量级一些,上层图形化界面基于开源blockly修改而成;下层编译下载直接建立在arduino IDE环境上;图形界面的指令映射到arduino原生库,所以软件相当于一个粘合剂,只要arduino原生支持的功能,mixly都可以很快进行集成,方便软件迭代升级。软件开源发布,第三方厂商可以自行添加自己的库文件,或者进行定制。缺陷是和arduino绑定太紧密,难有个性化的功能,且始终受限于arduino本身的天花板。

  • 1    二、Mind+实战案例
  • 2    ①光控灯的图形化编程代码和Python编程

 

语言代码如下: #include <MPython.h> // 主程序开始 void setup() { mPython.begin(); display.setCursorLine(1); display.printLine(“声音强度”); } void loop() { display.setCursorLine(2); display.printLine((sound.read())); delay(200); if (((sound.read())>100)) { rgb.write(0, 0x0000FF); delay(1000); } else { rgb.write(0, 0x000000); } } ②声控灯的图形化编程代码和Python编程

#include <MPython.h> // 主程序开始 void setup() { mPython.begin(); display.setCursorLine(1); display.printLine(“声音强度”); } void loop() { display.setCursorLine(2); display.printLine((sound.read())); delay(200); if (((sound.read())>100)) { rgb.write(0, 0x0000FF); delay(1000); } else { rgb.write(0, 0x000000); } }

③语音识别控制灯的图形化编程代码和Python编程


#include <MPython.h> #include <MPython_ASR.h> #include <DFRobot_Iot.h> // 函数声明 void DF_YuYinShiBie(); void DF_wifi(); // 创建对象 MPython_ASR mpythonAsr; String str_mpythonAsr_result; DFRobot_Iot myIot; // 主程序开始 void setup() { mPython.begin(); DF_wifi(); DF_YuYinShiBie(); } void loop() {

}

// 自定义函数 void DF_YuYinShiBie() { display.fillScreen(0); while (1) { if ((buttonA.isPressed())) { while (!(!buttonA.isPressed())) {yield();} str_mpythonAsr_result=mpythonAsr.getAsrResult(4); display.setCursorLine(1); display.printLine((str_mpythonAsr_result)); if (((String(str_mpythonAsr_result).indexOf(String(“开灯”)) != -1))) { rgb.write(0, 0x0000FF); delay(5000); rgb.write(0, 0x000000); display.fillInLine(1, 0); } } yield(); } } void DF_wifi() { myIot.wifiConnect(“602iot”, “18wulian”); display.setCursorLine(1); display.printLine(“正在连接网络”); while (!myIot.wifiStatus()) {yield();} display.fillInLine(1, 0); display.setCursorLine(1); display.printLine(“网络连接成功”); display.setCursorLine(2); display.printLine(“ip地址:”); display.setCursorLine(3); display.printLine(myIot.getWiFiLocalIP()); delay(3000); }

④实现Easy IoT上mqtt消息通讯的图形化编程代码和Python编程


!错误提示:密码格式错误,Wi-Fi密码必须是8-20位的字母或数字 /*!

  • MindPlus
  • mpython
  •  

*/ #include <MPython.h> #include <DFRobot_Iot.h> // 函数声明 void onButtonAPressed(); void obloqMqttEventT1(String& message); // 静态常量 const String topics[5] = {“T_GCbjdGg”,“OklCbjdGg”,"","",""}; const MsgHandleCb msgHandles[5] = {NULL,obloqMqttEventT1,NULL,NULL,NULL}; // 创建对象 DFRobot_Iot myIot; // 主程序开始 void setup() { mPython.begin(); myIot.setMqttCallback(msgHandles); buttonA.setPressedCallback(onButtonAPressed); myIot.wifiConnect(“xiaoxian”, “123456”); display.setCursorLine(1); display.printLine(“正在连接网络”); while (!myIot.wifiStatus()) {yield();} display.setCursorLine(2); display.printLine(“连接网络成功”); display.fillScreen(0); delay(2000); myIot.init(“iot.dfrobot.com.cn”,“q0uh-COMR”,"",“qAX2-jOGRz”,topics,1883); myIot.connect(); while (!myIot.connected()) {yield();} display.setCursorLine(1); display.printLine(“mqtt连接成功”); delay(3000); display.fillInLine(1, 0); } void loop() {

}

// 事件回调函数 void onButtonAPressed() { while (!(!buttonA.isPressed())) {yield();} myIot.publish(topic_0, “吴春贤”); display.fillScreen(0); display.setCursorLine(1); display.printLine(“发送消息成功”); delay(3000); display.fillInLine(1, 0); } void obloqMqttEventT1(String& message) { display.setCursorLine(1); display.printLine(“您有新的消息!”); rgb.write(-1, 0x0000FF); display.setCursorLine(2); display.printLine(message); delay(3000); rgb.write(-1, 0x000000); display.fillScreen(0); }

三、总结 本次实战案例主要介绍了四种,关于软件平台还有很多,就不一一介绍了,对图形化感兴趣的朋友们,可以多去查找资料,如果有什么问题需要请教,可以给我留言,感谢大家!写得不是很好,请大家海涵!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐