Ejemplos de enseñanza de programación gráfica

 人生第一篇博客,水平不好,请大家勿吐槽!
 今天为大家推荐几款国内主流的图形化编程软件。这些软件部分适用于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编程

Inserte la descripción de la imagen aquí

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"); }

















Inserte la descripción de la imagen aquí







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

Inserte la descripción de la imagen aquí
#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

Inserte la descripción de la imagen aquí
! 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!

Supongo que te gusta

Origin blog.csdn.net/weixin_43271542/article/details/108741878
Recomendado
Clasificación