人生第一篇博客,水平不好,请大家勿吐槽!
今天为大家推荐几款国内主流的图形化编程软件。这些软件部分适用于8岁以上,部分适用于12岁以上
一、图形化软件介绍
(1)软件一:Scratch
Scratch是麻省理工学院媒体实验室开发的一款图形化开发工具,代码开源,早期主要用于电脑动画编辑,面向小朋友群体,通过鼠标拖拽的形式放置各种角色及脚本指令,脚本指令通过搭积木的形态提供给小朋友使用,界面直观好用。Scratch的动画和脚本编辑实时响应,用户可随时点击相应指令与动画进行交互,使用门槛很低。
Recomendación 2 del software de programación gráfica: Mind +
(2) Software 2: Mind +
Mind + es un software de programación para jóvenes con derechos de propiedad intelectual independientes, mantenido por DFRobot y respaldado por la comunidad china. Además de admitir arduino, también admite otro hardware de código abierto como micro: bit. Solo necesita arrastrar bloques gráficos para completar la programación, y también puede usar lenguajes de programación de alto nivel como python / c / c ++. Mind + es una herramienta de desarrollo gráfico especial. Este software está desarrollado con C ++ y Qt. La interfaz es exquisita. En comparación con otro software de programación instruccional de empalme, tiene algunas ideas nuevas. Este software abstrae el flujo de comandos y el flujo de datos en el desarrollo de software y simula las líneas discontinuas rojas y azules en la interfaz gráfica. El flujo de cables refleja el proceso de flujo del programa y la transmisión de datos, lo que facilita la comprensión de los principiantes. Mind + también tiene una función de programación en línea del lado web, que es conveniente de usar cuando la abres, y sus tutoriales comunitarios también son muy ricos.En la actualidad, los estudiantes nacionales de primaria y secundaria utilizan competencias y aprendizaje de programación gráfica.
(3) Software 3: Mixly
Mixly es también una herramienta de programación gráfica para arduino, desarrollada en base a blockly. Este software ha mejorado algunos tipos de datos y otras funciones para arduino, que es mejor que el bloque nativo. En comparación con otro software gráfico, mixly es más liviano. La interfaz gráfica superior se modifica en base a código abierto en bloque; la compilación y descarga de nivel inferior se construyen directamente en el entorno arduino IDE; las instrucciones de la interfaz gráfica se asignan a la biblioteca nativa de arduino, por lo que el software Es equivalente a un pegamento Siempre y cuando las funciones sean compatibles de forma nativa con arduino, mixly se pueden integrar rápidamente para facilitar actualizaciones de software iterativas. El software se lanza como código abierto y los proveedores externos pueden agregar sus propios archivos de biblioteca o personalizarlos. La desventaja es que está demasiado ligado al arduino, es difícil tener funciones personalizadas y siempre está limitado por el techo del propio arduino.
二、Mind+实战案例
①光控灯的图形化编程代码和Python编程
El código de idioma es el siguiente:
#include <MPython.h>
// El programa principal inicia
void setup () { mPython.begin (); display.setCursorLine (1); display.printLine ("Intensidad del sonido"); } 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); } } ② Código de programación gráfica y programación Python para luces de control por voz #include <MPython.h> // El programa principal inicia void setup () { mPython.begin ( ); display.setCursorLine (1); display.printLine ("Intensidad del sonido"); }
bucle vacío () { display.setCursorLine (2); display.printLine ((sonido.read ())); retraso (200); if (((sound.read ())> 100)) { rgb.write (0, 0x0000FF); retraso (1000); } más { rgb.write (0, 0x000000); } }
③Código de programación gráfico y programación Python para luces de control de reconocimiento de voz
#include <MPython.h>
#include <MPython_ASR.h>
#include <DFRobot_Iot.h>
// Declaración de función
void DF_YuYinShiBie ();
void DF_wifi ();
// Crear objeto
MPython_ASR mpythonAsr;
String str_mpythonAsr_result;
DFIRoot;
// El programa principal inicia
void setup () { mPython.begin (); DF_wifi (); DF_YuYinShiBie (); } void loop () {
}
// 自 定义 函数
vacío DF_YuYinShiBie () { display.fillScreen (0); while (1) { if ((buttonA.isPressed ())) { while (! (! buttonA.isPressed ())) {rendimiento ();} 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); retraso (5000); rgb.write (0, 0x000000); display.fillInLine (1, 0); } } rendimiento (); } } void DF_wifi () { myIot.wifiConnect ("602iot", "18wulian"); display.setCursorLine (1); display.printLine (“正在 连接 网络”);
while (! myIot.wifiStatus ()) {rendimiento ();}
display.fillInLine (1, 0);
display.setCursorLine (1);
display.printLine (“网络 连接 成功”);
display.setCursorLine (2);
display.printLine (“ip 地址 :”);
display.setCursorLine (3);
display.printLine (myIot.getWiFiLocalIP ());
retraso (3000);
}
④Realice el código de programación gráfico y la programación Python para la comunicación de mensajes mqtt en Easy IoT
! Mensaje de error: el formato de la contraseña es incorrecto, la contraseña de Wi-Fi debe tener entre 8 y 20 letras o números
/ *.
- MindPlus
- mpython
* /
#include <MPython.h>
#include <DFRobot_Iot.h>
// Declaración de función
void onButtonAPressed ();
void obloqMqttEventT1 (String & message);
// Constante estática
const String topics [5] = {"T_GCbjdGg", "OklCbjdGg ”," "," "," "};
Const MsgHandleCb msgHandles [5] = {NULL, obloqMqttEventT1, NULL, NULL, NULL};
// Crear objeto
DFRobot_Iot myIot;
// El programa principal inicia
void setup () { mPython. begin (); myIot.setMqttCallback (msgHandles); buttonA.setPressedCallback (onButtonAPressed); myIot.wifiConnect ("xiaoxian", "123456"); display.setCursorLine (1); display.printLine ("Conectando a la red"); while (! myIot.wifiStatus ()) {rendimiento ();} visualización.setCursorLine (2);
display.printLine ("Conectado a la red correctamente");
display.fillScreen (0);
delay (2000);
myIot.init ("iot.dfrobot.com.cn", "q0uh-COMR", "", "qAX2-jOGRz ”,
Temas , 1883); myIot.connect ();
while (! MyIot.connected ()) {yield ();}
display.setCursorLine (1);
display.printLine (" mqtt conectado correctamente ");
retraso (3000) ;
display.fillInLine (1, 0);
}
bucle vacío () {
}
// Función de devolución de llamada de evento
void onButtonAPressed () { while (! (! ButtonA.isPressed ())) {yield ();} myIot.publish (topic_0, "吴春贤"); display.fillScreen (0); display.setCursorLine ( 1); display.printLine ("Enviar mensaje con éxito"); delay (3000); display.fillInLine (1, 0); } void obloqMqttEventT1 (String & message) { display.setCursorLine (1); display.printLine ("Tiene ¡Nuevo mensaje! ”); Rgb.write (-1, 0x0000FF); display.setCursorLine (2); display.printLine (mensaje); delay (3000); rgb.write (-1, 0x000000); display.fillScreen ( 0); }
3. Resumen
Este caso de combate real presenta principalmente cuatro tipos. Hay muchas plataformas de software, así que no las presentaré una por una. Los amigos que estén interesados en los gráficos pueden encontrar más información. Si tienes alguna pregunta, puedes preguntar. Déjame un mensaje, ¡gracias a todos! La escritura no es muy buena, ¡por favor, Haihan!