Lenguaje de programación para Arduino Uno. Programación de Arduino usando ArduBlock usando el ejemplo de un robot que se mueve a lo largo de una tira

En la vida de un desarrollador de Arduino, tarde o temprano llega un momento en que el entorno de desarrollo estándar se llena de gente. Si los bocetos ya no tienen suficiente memoria, necesita mucho tiempo real y trabaja con interrupciones, o simplemente quiere estar más cerca del hardware, entonces es hora de cambiar a C. Los ingenieros electrónicos experimentados fruncirán el ceño con desdén ante la mención de Arduino y enviarán el novato a una tienda de radio por un soldador. Puede que este no sea el peor consejo, pero no lo seguiremos todavía. Si descartamos el IDE de Arduino y el lenguaje de cableado/procesamiento, nos queda una excelente placa de depuración, ya equipada con todo lo necesario para el funcionamiento del microcontrolador. Y, lo que es más importante, ya hay un gestor de arranque integrado en la memoria del controlador, lo que le permite cargar el firmware sin utilizar un programador.

Para programar en C, necesitamos AVR GCC Toolchain.

También necesitaremos tener instalado el IDE de Arduino, porque... Contiene la utilidad avrdude, que es necesaria para descargar el firmware al controlador. CrossPack también contiene avrdude, pero la versión que viene con él no funciona con Arduino.

Una vez que todo esté instalado, creemos nuestro primer proyecto. Para empezar, escribamos Archivo Make. Nos permitirá evitar introducir comandos largos manualmente cada vez que compilamos y cargamos el firmware.

#Controlador instalado en la placa. Puede ser diferente, por ejemplo atmega328 DISPOSITIVO = atmega168 #Frecuencia de reloj 16 MHz RELOJ = 16000000 #Avrdude comando de inicio. Debe copiarse del IDE de Arduino. AVRDUDE = /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -carduino -P/dev/tty.usbserial-A600dAAQ -b19200 -D -p atmega168 OBJECTS = main.o COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE) todo: main .hex .c.o: $(COMPILAR) -c $< -o $@ .S.o: $(COMPILE) -x assembler-with-cpp -c $< -o $@ .c.s: $(COMPILE) -S $< -o $@ flash: all $(AVRDUDE) -U flash:w:main.hex:i clean: rm -f main.hex main.elf $(OBJECTS) main.elf: $(OBJECTS) $(COMPILE) -o main.elf $(OBJECTS) main.hex: main.elf rm -f main.hex avr-objcopy -j .text -j .data -O ihex main.elf main.hex avr-size --format=avr --mcu=$(DEVICE) main.elf

En este archivo debemos ingresar nuestro comando para iniciar avrdude. Se verá diferente en diferentes sistemas. Para conocer su opción, inicie Arduino IDE y marque la casilla "Mostrar salida detallada durante la carga" en la configuración.

Ahora cargamos cualquier boceto en Arduino y miramos los mensajes que se muestran en la parte inferior de la ventana. Encontramos la llamada avrdude allí, copiamos todo excepto el parámetro -Uflash y lo pegamos en el Makefile después de “AVRDUDE =”.


Una nota rápida: toda sangría en el Makefile se realiza con caracteres de tabulación (tecla Tab). Si su editor de texto reemplaza estos caracteres con espacios, el comando make se negará a construir el proyecto.

Ahora creemos un archivo. principal.c- el texto real de nuestro programa, en el que tradicionalmente hacemos parpadear el LED.

#incluir #incluir #definir LED_PIN 5 int principal() ( DDRB |= 1<< LED_PIN; while(1) { PORTB |= 1 << LED_PIN; _delay_ms(1000); PORTB &= ~(1 << LED_PIN); _delay_ms(1000); } return 0; }

Nuestro proyecto está listo. Abramos la consola en el directorio de nuestro proyecto e ingresemos el comando "make":


Como puede ver, el tamaño del firmware resultante es de sólo 180 bytes. Un boceto de Arduino similar ocupa 1116 bytes en la memoria del controlador.

Ahora volvamos a la consola e ingresemos "make flash" para cargar el archivo compilado en el controlador:


Si la descarga se completó sin errores, el LED conectado al pin 13 de la placa parpadeará alegremente. A veces, avrdude no puede encontrar la placa o se cae debido a un tiempo de espera; en este caso, torcer el cable USB puede ser útil. Además, para evitar conflictos de acceso a la placa, no olvide cerrar el IDE de Arduino antes del comando "make flash".

Quizás muchas de las cosas descritas en este artículo parezcan obvias para los desarrolladores experimentados. Intenté describir el proceso en un lenguaje lo más comprensible posible para un usuario novato de Arduino y recopilar en un solo lugar la información que pude obtener de varias fuentes y verificar empíricamente. Quizás este artículo le ahorre a alguien un par de horas de tiempo.

¡Buena suerte dominando los microcontroladores!

El público objetivo de Arduino son usuarios no profesionales en el campo de la robótica y los sistemas de automatización simples. El producto principal es un conjunto de placas, al combinarlas es posible crear varios dispositivos capaces de realizar una amplia gama de tareas.

A modo de ejemplo, a partir de un juego de tablas fabricadas por esta empresa, puedes montar un comedero automático para tus mascotas. Y este es sólo uno de los ejemplos más simples. El alcance de su posible aplicación está limitado únicamente por la imaginación de los usuarios.

Además de las placas de circuito impreso producidas bajo la marca Arduino, tienen su propio lenguaje de programación Arduino, que se basa en un lenguaje muy conocido entre los programadores. C/C++. Echemos un vistazo más de cerca a qué es.

El lenguaje de programación Arduino es bastante fácil de aprender, ya que el principal público objetivo de su uso son los aficionados. Sin embargo, se considera uno de los mejores lenguajes para programar microcontroladores.

Arduino IDE es un programa gratuito que cualquiera puede descargar. En nuestro sitio web puede utilizar cualquier versión del entorno que más le convenga. Además, el acceso para descargar el IDE se proporciona en el sitio web oficial de la empresa y, si lo desea, puede agradecer a los desarrolladores realizando una transferencia de dinero.

Un programa escrito en el lenguaje de programación Arduino se llama boceto. Los bocetos terminados se registran en la pizarra para su ejecución.

El IDE es compatible con sistemas operativos como Windows, MacOs y Linux. El sitio web oficial de la compañía afirma que este lenguaje de programación está escrito en Wiring, pero en realidad no existe y está escrito en C++ con modificaciones menores.

¿Qué necesitas para empezar con el IDE de Arduino?

Para empezar necesitaremos lo siguiente:

  • Placas Arduino;
  • Cable USB;
  • una computadora con el IDE de Arduino instalado.

Teniendo este set, podrás empezar a experimentar con los tableros que tengas, grabando en ellos tus primeros bocetos.

¿Cómo configurar Arduino en una computadora?

Esto se hace de forma sencilla. Necesitas hacer lo siguiente:

  • debe conectar el producto que montó a su computadora mediante un cable USB;
  • En el Administrador de dispositivos debe verificar a qué puerto está conectado su microcontrolador. Si no se muestra o dice que no se reconoce el dispositivo, significa que no instalaste el controlador correctamente o tu placa necesita diagnóstico;
  • El siguiente paso es lanzar nuestro lenguaje de programación Arduino IDE. En el menú debe seleccionar la pestaña Herramientas. Al hacer clic en él, se abrirá una lista en la que deberá seleccionar el elemento del puerto. Allí debe seleccionar el puerto especificado en el administrador de dispositivos;
  • El último paso es seleccionar el tablero que usaremos para subir los bocetos.

¡Importante! Al conectar su placa a otro puerto USB, será necesario volver a realizar todos los ajustes.

Introducción a la interfaz Arduino

Uno de los elementos principales de Arduino es el menú principal del programa, el cual permite acceder a todas las funciones disponibles de nuestro programa.

A continuación se muestra un panel con iconos que muestran las funciones más utilizadas del IDE de Arduino:

  • comprobar si hay errores;
  • creando un nuevo boceto;
  • abrir la ventana del puerto del microcontrolador;
  • El siguiente elemento más importante es la pestaña de archivos del proyecto. Si se trata de un boceto simple, entonces solo habrá un archivo. Sin embargo, los bocetos complejos pueden constar de varios archivos. En este caso, puede cambiar rápidamente la visualización de un archivo a otro en la barra de pestañas. Es muy conveniente.

    El mayor de los bloques es el campo editor de nuestros bocetos. Aquí podremos ver y, si es necesario, editar el código del programa que necesitemos. Se ha implementado un campo separado para mostrar mensajes del sistema. Con él, puede verificar que guardar o cargar su boceto fue exitoso y puede continuar con los siguientes pasos. También hay una ventana en el programa que muestra la presencia de tu boceto durante la compilación.

    Compilación– convertir el código fuente de un lenguaje de alto nivel en código de máquina o lenguaje ensamblador.

    Funciones básicas del lenguaje de programación.

    Pasemos finalmente a las funciones más básicas del lenguaje de programación Arduino.

    Digamos de inmediato que puede encontrar todas las funciones en nuestro conveniente sitio web.

    Punto y coma;

    Un punto y coma debe seguir a cada declaración escrita en el lenguaje de programación Arduino. Por ejemplo:

    LEDpin interno = 9;

    En esta expresión asignamos un valor a una variable y notamos el punto y coma al final. Esto le dice al compilador que ha terminado un fragmento de código y pasa al siguiente. Un punto y coma en el código Arduino separa una expresión completa de otra.

    Doble barra invertida para comentarios de una sola línea //

    // Todo lo que viene después de la doble barra será gris y no será leído por el programa

    Los comentarios son lo que se utiliza para comentar el código. El buen código está bien comentado. Los comentarios están destinados a decirle a usted y a cualquier otra persona que pueda tropezar con su código lo que estaba pensando cuando lo escribió. Un buen comentario sería algo como esto:

    // Conecta un LED a este pin Arduino int LEDpin = 9;

    Ahora, incluso después de 3 meses, cuando miro este programa, sé dónde estaba conectado el LED.

    El compilador ignorará los comentarios, por lo que puedes escribir lo que quieras. Si necesita mucho texto para un comentario, puede utilizar un comentario de varias líneas que se muestra a continuación:

    /* Un comentario de varias líneas se abre con una sola barra invertida seguida de un asterisco. Todo lo siguiente aparecerá atenuado y el compilador lo ignorará hasta que cierre el comentario usando primero un asterisco y luego una barra invertida */

    Los comentarios son similares a las notas a pie de página del código, pero son más comunes que los que se colocan al final de las páginas de los libros.

    Llaves ( )

    Las llaves se utilizan para agregar instrucciones que debe realizar una función (analizaremos las funciones más adelante). Siempre hay una llave abierta y una llave de cierre. Si olvida cerrar una llave, el compilador imprimirá un código de error.

    Bucle vacío () (//esta llave se abre //programa genial aquí) //esta llave se cierra

    Recuerde: ¡ninguna llave puede dejarse sin cerrar!

    Funciones ()

    Ahora es el momento de hablar de funciones. Las funciones son fragmentos de código que se utilizan con tanta frecuencia que se encapsulan en palabras clave específicas para que pueda utilizarlas más fácilmente. Por ejemplo, una función podría ser el siguiente conjunto de instrucciones si necesita lavar a su perro:

    1. consigue un balde
    2. Llénalo con agua
    3. agregar jabón
    4. encontrar un perro
    5. enjabonar al perro
    6. lavar al perro
    7. Enjuagar al perro
    8. secar al perro
    9. Deja el cubo a un lado

    Este conjunto de instrucciones simples se puede resumir en una función que podemos llamar WashDog. Cada vez que queramos ejecutar todas estas instrucciones, simplemente escribimos WashDog y listo: se ejecutan todas las instrucciones.

    Arduino tiene ciertas funciones que se utilizan a menudo en . Cuando los ingrese, el nombre de la función será naranja. Por ejemplo, la función pinMode() es una función común utilizada para indicar el modo pin de Arduino.

    ¿Qué pasa con los paréntesis después de la función pinMode? Muchas funciones requieren argumentos. Un argumento es información que utiliza una función cuando se ejecuta. Para nuestra función WashDog, los argumentos pueden ser el nombre del perro y el tipo de jabón, así como la temperatura y el tamaño del balde.

    ModoPin(13, SALIDA); //Establece el modo de salida de Arduino

    El argumento 13 se refiere al pin 13, y SALIDA es el modo en el que desea que funcione el pin. Cuando ingresa estos argumentos, en terminología esto se llama transferencia de datos, pasa la información necesaria a las funciones. No todas las funciones requieren argumentos, pero los paréntesis de apertura y cierre permanecen, aunque vacíos.

    Millis(); //Obtiene el tiempo en milisegundos durante el cual se inicia Arduino

    Tenga en cuenta que la palabra SALIDA suele ser azul. Hay ciertas palabras clave en el lenguaje de programación Arduino que se usan con frecuencia y el color azul ayuda a identificarlas. El IDE de Arduino los vuelve automáticamente azules.

    configuración nula()

    La función setup(), como su nombre indica, se utiliza para configurar la placa Arduino. Arduino ejecuta todo el código contenido entre llaves después de setup() solo una vez. Las cosas típicas que suceden en setup() son, por ejemplo, configurar el modo en contactos:

    Void setup() ( //el código entre llaves se ejecuta solo una vez)

    Quizás se pregunte qué significa void antes de la función setup(). Nulo significa que la función no devuelve información.

    Algunas funciones devuelven valores: nuestra función DogWash puede devolver la cantidad de cubos necesarios para limpiar a un perro. La función analogRead() devuelve un valor entero entre 0 y 1023. Si esto le parece un poco extraño ahora, no se preocupe, ya que cubriremos todas las funciones comunes de Arduino a medida que continúe el curso.

    Veamos un par de cosas que debes saber sobre setup():

    1. setup() se ejecuta sólo una vez;
    2. setup() debería ser la primera función en el boceto de Arduino;
    3. setup() debe tener llaves de apertura y cierre.

    bucle vacío()

    Tienes que amar a los desarrolladores de Arduino porque se aseguraron de que los nombres de las funciones hablen por sí mismos. Como sugiere el nombre, todo el código entre llaves en loop() se repite una y otra vez, y la palabra loop se traduce como "bucle". La función loop() es donde irá el cuerpo de tu programa.

    Al igual que con setup(), loop() no devuelve ningún valor, por lo que va precedido por la palabra void.

    Void loop() ( //cualquier código que especifique aquí se ejecuta una y otra vez)

    ¿Le parece extraño que el código se ejecute en un gran bucle? Esta aparente falta de variación es una ilusión. La mayor parte de su código tendrá ciertas condiciones de espera que desencadenarán nuevas acciones.

    ¿Existen otros programas que funcionen con Arduino?

    Además del IDE oficial de Arduino, existen programas de terceros que ofrecen sus productos para trabajar con microcontroladores basados ​​en Arduino.

    Un programa llamado Processing nos puede proporcionar un conjunto similar de funciones. Es muy similar al IDE de Arduino, ya que ambos están fabricados con el mismo motor. Processing tiene un amplio conjunto de funciones que no son muy inferiores al programa original. Con la ayuda de la biblioteca Serial descargable, el usuario puede crear una conexión entre la transmisión de datos que la placa y Processing se transmiten entre sí. En este caso, podemos hacer que la placa ejecute programas directamente desde nuestra PC.

    Hay otra versión interesante del programa original. Se llama B4R y su principal diferencia es que no se basa en el lenguaje C, sino en otro lenguaje de programación: Basic. Este producto de software es gratuito. Hay buenos tutoriales para trabajar con él, incluidos los escritos por los creadores de este producto.

    También hay opciones pagas para Arduino IDE. Uno de ellos es el programa PROGROMINO. Su principal ventaja es la posibilidad de completar el código. Al compilar un programa, ya no necesitará buscar información en libros de referencia. El programa en sí le ofrecerá posibles opciones para utilizar un procedimiento en particular. Su conjunto incluye muchas más funciones interesantes que faltan en el programa original y pueden facilitarle el trabajo con placas.

    Competidores de Arduino

    Este mercado de producción de microcontroladores para la creación de diversos circuitos electrónicos y robótica tiene muchos seguidores en todo el mundo. Esta situación contribuye a la aparición en el mercado no sólo de competidores que ofrecen productos similares. Además de ellos, se produce un número importante de falsificaciones de diversa calidad. Algunos son muy difíciles de distinguir de los originales, porque tienen idéntica calidad, otros tienen características muy pobres y pueden no funcionar en absoluto con los productos originales.

    Incluso hay placas Arduino que admiten microprocesadores que ejecutan intérpretes de JavaScript. Son relevantes, en primer lugar, para aquellos que quieren utilizar el lenguaje Java en lugar de C. Después de todo, es más sencillo y permite lograr resultados con mayor rapidez. Sin embargo, estas placas son más caras en relación con Arduino, lo que supone un inconveniente importante.

    Si está buscando un pasatiempo y está interesado en un campo como la ingeniería eléctrica, puede elegir Arduino con seguridad para ello. Este hobby tiene muchas ventajas. Te desarrollarás intelectualmente, ya que esta actividad requerirá que tengas conocimientos en diferentes áreas.

    Además del entretenimiento, tu hobby te ayudará a crear muchos productos útiles que puedes utilizar para hacer tu vida diaria más fácil. Cada vez, encontrarás más y más formas nuevas de utilizar tu pasión.

    Dominar esta actividad no será tan difícil gracias a la disponibilidad de una gran cantidad de libros de texto y tutoriales. En el futuro, encontrarás muchas personas con ideas afines en todo el mundo que compartirán sus conocimientos contigo y te darán el incentivo para realizar nuevos experimentos.

    28 09.2016

    ¿Has pensado alguna vez en hacer tu vida más fácil en casa? Tener cosas que le resolverían las tareas rutinarias cotidianas. Un dispositivo inteligente que realizaría una función útil, por ejemplo, regar el jardín, limpiar una habitación o transportar una carga. Estos problemas se pueden solucionar. Pero comprarlo no será suficiente. Cualquier controlador lógico industrial o chip necesita un “cerebro” para realizar una determinada secuencia de acciones. Para realizar operaciones en nuestro caso, es adecuado el lenguaje de programación Arduino.

    De este artículo aprenderás:

    ¡Saludos amigos! Para aquellos que no me conocen, mi nombre es Gridin Semyon. Puedes leer sobre mi. El artículo de hoy estará dedicado a dos programas principales, sin los cuales no tendremos más movimiento ni comprensión mutua.

    Descripción general de los lenguajes de programación.

    Como escribí anteriormente, consideraremos dos entornos de desarrollo populares. Por analogía con, se puede dividir en un editor gráfico y un “bloc de notas inteligente”. Estos son los programas Arduino IDE y FLprog.

    La base del entorno de desarrollo es Processing/Wiring: es C++ normal, complementado con funciones y varias bibliotecas. Existen varias versiones para los sistemas operativos Windows, Mac OS y Linux.

    ¿Cuál es su diferencia fundamental? El IDE de Arduino es un entorno de desarrollo que describe el código del programa. Y FLprog es similar a CFC CoDeSyS, que le permite dibujar diagramas. ¿Qué entorno es mejor? Ambos son buenos y convenientes a su manera, pero si quieres tomarte en serio los controladores, es mejor aprender lenguajes similares a SI. Su principal ventaja es la flexibilidad y la naturaleza ilimitada del algoritmo. Me gusta mucho el IDE de Arduino.

    Descripción de Arduino IDE

    La distribución se puede descargar desde sitio web oficial. Descarga el archivo, ocupa un poco más de 100 MB. La instalación es estándar, como todas las aplicaciones para Windows. El paquete debe incluir controladores para todo tipo de placas. Y así es como se ve la ventana de trabajo del programa.

    El entorno de desarrollo Arduino consta de:

    • editor de código de programa;
    • áreas de mensajes;
    • ventanas de salida de texto;
    • barras de herramientas con botones para comandos de uso frecuente;
    • varios menús

    Configuración del IDE de Arduino

    Un programa escrito en el entorno de desarrollo Arduino se llamabosquejo. El boceto está escrito en un editor de texto, que resalta en color el código del programa creado. Un ejemplo de un programa simple en la siguiente imagen.

    Se puede agregar funcionalidad adicional usandobibliotecas,Representando código diseñado de una manera especial. Básicamente, el desarrollador no puede acceder a él. El entorno suele venir con un juego estándar, que se puede ir reponiendo gradualmente. Están en el subdirectorio.bibliotecas Directorio Arduino.

    Muchas bibliotecas vienen con ejemplos ubicados en la carpetaejemplo.Al seleccionar una biblioteca en el menú se agregará la siguiente línea al código fuente:

    arduino

    #incluir

    #incluir

    Esta es una directiva, una especie de instrucción, un archivo de encabezado que describe objetos, funciones y constantes de la biblioteca. Ya se han desarrollado muchas funciones para las tareas más comunes. Créame, esto facilita la vida del programador.

    Después de haber conectado la placa electrónica al ordenador. Realizamos las siguientes configuraciones: seleccionamos la placa Arduino y el puerto Com a través del cual nos conectaremos.

    arduino

    void setup() ( // inicializa el pin digital 13 como salida. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000 );

    configuración nula() (

    // inicializa el pin digital 13 como salida.

    pinMode(13, SALIDA);

    bucle vacío() (

    escritura digital(13, ALTA);

    retraso(1000);

    escritura digital (13, BAJO);

    retraso(1000);

    Así que, por cierto, conviene comprobar la funcionalidad de la placa que vino de la tienda. Rápido y fácil.

    Hay una cosa más conveniente. se llamaMonitor de puerto serie (Monitor serie). Muestra los datos enviados a la plataforma.Arduino.Normalmente me fijo en qué señales me dan los distintos sensores conectados a la placa.

    Conectando bibliotecas

    Hay diferentes formas de agregar funciones personalizadas. Puede conectar bibliotecas de tres maneras:

    1. Usando el Administrador de Biblioteca
    2. Usar la importación como un archivo .zip
    3. Instalación manual.

    1. Usando el Administrador de biblioteca.En la ventana de trabajo del programa, seleccione la pestaña Boceto. Después de eso, haga clic en el botón Conectar biblioteca. El administrador de la biblioteca se abrirá frente a nosotros. La ventana mostrará archivos ya instalados con una firma.instaladoy los que se pueden instalar.

    2.Utilizar la importación como archivo .zip.A menudo, en Internet puede encontrar archivos de biblioteca empaquetados en archivos con extensión zip. Contiene un archivo de encabezado.h y un archivo de código.cpp. No es necesario descomprimir el archivo durante la instalación. Simplemente vaya al menú Sketch - Conectar biblioteca - Agregar biblioteca .ZIP

    3.Instalación manual.Primero, cierre el programa Arduino IDE. Primero descomprimimos nuestro archivo. Y transferimos los archivos con extensión .h y .cpp a una carpeta con el mismo nombre que el archivo. Coloque la carpeta en el directorio raíz.

    Mis documentos\Arduino\bibliotecas

    Descripción de FLPprog

    FLprog es un proyecto gratuito de desarrolladores independientes que le permite trabajar con bloques de funciones o diagramas de escalera. Este entorno es conveniente para las personas, no para los programadores. Le permite ver visual y claramente el algoritmo mediante diagramas y bloques funcionales. Puedes descargar la distribución en sitio web oficial.

    Llevo bastante tiempo siguiendo el proyecto. Los muchachos están desarrollando, agregando constantemente nuevas funciones y cambiando las antiguas. Veo promesas en este entorno. Ya que realiza dos funciones importantes:simplicidad y facilidad de uso.

    Intentemos crear un proyecto simple. Cambiaremos la salida 13 a LED.

    Creemos un nuevo proyecto. En la ventana superior, agregue la cantidad requerida de entradas y salidas, establezca un nombre y asigne una entrada o salida física a la placa.

    Sacamos los elementos que necesitamos del árbol de objetos y los elementos que necesitamos en el lienzo de edición. En nuestro caso, podemos utilizar un simple disparador RS para encenderlo y apagarlo.

    Después de crear el algoritmo, haga clic en el botón compilar, el programa proporciona un boceto listo para usar en el IDE.

    Hemos analizado las capacidades y conveniencia de los programas para desarrollar algoritmos en el controlador de la serie Arduino. También existen programas que le permiten crear diagramas estructurales e imágenes visuales. Pero te recomiendo usar un editor de texto porque te resultará más fácil más adelante. Cuéntame, ¿qué ambiente te conviene más y por qué?

    El 22 de septiembre participé en un seminario en Krasnodar. “Controladores de panel táctil HORNO SPK.” La conferencia se celebró en el bonito y moderno Hotel Bristol. Fue muy interesante y genial.

    En la primera parte del seminario nos hablaron de las capacidades y ventajas de los productos OWEN. Después hubo una pausa para el café con donuts. Recogí un montón de cosas, donas, galletas y dulces, porque tenía mucha hambre =)

    En la segunda parte del seminario, después del almuerzo, nos presentaron. Nos contaron mucho sobre la visualización web. Esta tendencia está empezando a ganar impulso. Pues por supuesto, controlar el equipo a través de cualquier navegador de Internet. Esto es realmente genial. Por cierto, el equipo en sí está en la maleta.

    Publicaré una serie de artículos sobre CoDeSyS 3.5 en un futuro próximo. Entonces, si alguien está interesado, suscríbase o simplemente venga a visitarnos. ¡¡¡Siempre estaré feliz!!!

    Por cierto, casi lo olvido, el próximo artículo será sobre la placa electrónica Arduino. Será interesante, no te lo pierdas.

    Nos vemos en los próximos artículos.

    Saludos cordiales, Gridin Semyon.

    Este artículo lo ayudará a comenzar con Arduino e incluye una descripción de los diferentes tipos de Arduino, cómo descargar el entorno de desarrollo de software Arduino y describe las diversas placas y accesorios disponibles para Arduino que necesitará para desarrollar proyectos Arduino.

    Arduino es un controlador de placa única de código abierto que se puede utilizar en muchas aplicaciones diferentes. Esta es quizás la opción de microcontrolador más simple y económica para que aficionados, estudiantes y profesionales desarrollen proyectos basados ​​en microcontroladores. Las placas Arduino utilizan un microcontrolador Atmel AVR o un microcontrolador Atmel ARM, y algunas versiones tienen una interfaz USB. También tienen seis o más pines de entrada analógica y catorce o más pines de entrada/salida (E/S) digitales, que se utilizan para conectar sensores, actuadores y otros circuitos periféricos al microcontrolador. El precio de las placas Arduino, según el conjunto de funciones, oscila entre seis y cuarenta dólares.

    Tipos de placas Arduino

    Hay muchos tipos diferentes de placas Arduino, como se muestra en la lista siguiente, cada una con su propio conjunto de características. Se diferencian en la velocidad de procesamiento, la memoria, los puertos de E/S y la conectividad, pero la funcionalidad principal sigue siendo la misma.

    • robot arduino
    • Ethernet Arduino

    Puede consultar la variedad de placas Arduino y sus descripciones técnicas en la subsección “” de la sección “Comprar” de este sitio.

    Software (IDE)

    El software utilizado para programar Arduino es el Arduino IDE. El IDE es una aplicación Java que se ejecuta en muchas plataformas diferentes, incluidos sistemas PC, Mac y Linux. Está diseñado para principiantes que no están familiarizados con la programación. Incluye un editor, compilador y cargador. El IDE también incluye bibliotecas de códigos para usar periféricos como puertos serie y varios tipos de pantallas. Los programas Arduino se llaman "sketches" y están escritos en un lenguaje muy similar a C o C++.

    La mayoría de las placas Arduino se conectan a una computadora mediante un cable USB. Esta conexión le permite cargar bocetos a su placa Arduino y también proporciona energía a la placa.

    Cable USB para Arduino

    Programación

    La programación de Arduino es fácil: primero utiliza el editor de código del IDE para escribir un programa, luego lo compila y lo carga con un solo clic.

    El programa Arduino incluye dos funciones principales:

    • configuración()
    • bucle()

    Puede utilizar la función setup() para inicializar la configuración de la placa. Esta función se realiza sólo una vez, cuando se enciende la placa.

    La función loop() se ejecuta después de que se completa la función setup() y, a diferencia de la función setup(), se ejecuta continuamente.

    Funciones del programa

    A continuación se muestra una lista de las funciones más utilizadas al programar Arduino:

    • pinMode: establece el pin en modo de entrada o salida;
    • analogRead: lee el voltaje analógico en el pin de entrada analógica;
    • analogWrite: escribe un voltaje analógico en el pin de salida analógica;
    • digitalRead: lee el valor del pin de entrada digital;
    • digitalWrite: establece el valor del pin de salida digital en alto o bajo;
    • Serial.print: escribe datos en el puerto serie en texto ASCII legible por humanos.

    bibliotecas arduino

    Las bibliotecas Arduino son colecciones de funciones que le permiten controlar dispositivos. Estas son algunas de las bibliotecas más utilizadas:

    • EEPROM: lectura y escritura en almacenamiento "permanente";
    • Ethernet: para conectarse a Internet mediante la placa Arduino Ethernet Shield;
    • Firmata: para comunicarse con aplicaciones en una computadora utilizando un protocolo serie estándar;
    • GSM - para conectarse a la red GSM/GRPS mediante una tarjeta GSM;
    • LiquidCrystal: para controlar pantallas de cristal líquido (LCD);
    • SD: para leer y escribir tarjetas SD;
    • Servo - para controlar servos;
    • SPI: para comunicación con dispositivos que utilizan el bus SPI;
    • SoftwareSerial: para comunicación en serie a través de cualquier pin digital;
    • Paso a paso: para controlar motores paso a paso;
    • TFT: para dibujar texto, imágenes y formas en pantallas Arduino TFT;
    • WiFi: para conectarse a Internet mediante el escudo WiFi Arduino;
    • Cable: interfaz de dos cables (TWI/I2C) para transmitir y recibir datos a través de una red de dispositivos o sensores.

    Pasos de configuración de Arduino


    Nota: Es posible que necesite instalar controladores si su sistema no detecta Arduino.

    La base del lenguaje de programación del módulo Arduino es el lenguaje C (probablemente C++). Más precisamente, este dialecto del idioma se llama Procesamiento/Cableado. En el apéndice encontrará una buena descripción general del idioma. Pero quiero hablar más no sobre el lenguaje, sino sobre programación.

    Un programa es un determinado conjunto de comandos que entiende el procesador, el procesador de su computadora o el procesador del microcontrolador del módulo Arduino, no importa. El procesador lee las instrucciones y las ejecuta. Cualquier comando que el procesador comprenda son números binarios. Estos son sólo números binarios y nada más. Al realizar las operaciones aritméticas para las que alguna vez fue diseñado el procesador, el procesador opera con números. Números binarios. Y resulta que tanto los comandos como lo que hacen referencia son sólo números binarios. Como esto. Pero, ¿cómo clasifica el procesador este “montón” de números binarios?

    Primero, todos estos números binarios se escriben en sucesivas celdas RAM que tienen direcciones. Cuando carga un programa y comienza a ejecutarse, el procesador recibe la primera dirección del programa, donde se debe escribir el comando. Aquellas instrucciones que requieren que el procesador funcione con números tienen "marcas de identificación", por ejemplo, que en las dos celdas de memoria siguientes hay dos números que deben sumarse. Y el contador, llamémoslo contador de programa, donde se escribe la dirección del siguiente comando, en este caso aumenta la dirección para que el programa contenga el siguiente comando en esta dirección. Si el programa no funciona correctamente o hay fallas, el procesador puede cometer un error y luego, al leer un número en lugar de un comando, el procesador hace algo completamente diferente de lo que debería hacer y el programa se "congela".

    Por tanto, cualquier programa es una secuencia de números binarios. Y la programación es la capacidad de escribir correctamente las secuencias correctas de números binarios. Hace bastante tiempo, para escribir programas se empezaron a utilizar herramientas especiales llamadas lenguajes de programación.

    Sin embargo, cualquier programa primero requiere que usted tenga una comprensión clara de lo que se supone que debe hacer y por qué es necesario. Cuanto más claramente entiendas esto, más fácil será crear un programa. Los programas pequeños, aunque es difícil decir cuáles son pequeños y cuáles no, pueden considerarse como un todo. Es mejor dividir los programas más complejos en partes que puedan tratarse como programas independientes. Esto hace que sea mejor crearlos y más fácil de depurar y probar.

    No estoy dispuesto a discutir, pero creo que es más conveniente iniciar un programa con una descripción en lenguaje corriente. Y en este sentido, creo que no se debe confundir programar con escribir código de programa. Cuando un programa se describe con palabras comunes, le resultará más fácil determinar, por ejemplo, qué lenguaje de programación elegir para crear el código del programa.

    Lo más parecido a escribir un programa usando números binarios es el lenguaje ensamblador. Se caracteriza por la correspondencia de los comandos del lenguaje con los comandos binarios comprendidos por el procesador. Pero codificar programas en lenguaje ensamblador requiere mucho esfuerzo y está más cerca de un arte que de operaciones formales. Los lenguajes de alto nivel como BASIC o C son más universales y fáciles de usar. Y durante mucho tiempo se ha utilizado un lenguaje gráfico para escribir programas en forma general, y recientemente han aparecido "traductores" de este lenguaje al lenguaje de los procesadores.

    Además de los lenguajes de programación generales, siempre ha habido cierta especialización de los lenguajes de programación y ha habido lenguajes especializados. Entre estos últimos también incluiría el lenguaje de programación del módulo Arduino.

    Todo lo que necesitamos para decirle al módulo que haga algo que necesitamos está organizado en un conveniente conjunto de comandos. Pero primero, ¿qué necesitamos de Arduino?

    El módulo se puede utilizar en diferentes capacidades: es el corazón (o cabeza) del robot, es la base del dispositivo, también es un constructor conveniente para dominar el trabajo con microcontroladores, etc.

    Arriba, ya hemos utilizado programas sencillos para comprobar la conexión del módulo a la computadora. A algunos les pueden parecer demasiado simples y, por tanto, poco interesantes, pero cualquier programa complejo consta de fragmentos más simples, similares a aquellos que ya conocemos.

    Veamos qué nos puede decir el programa más sencillo “Hacer parpadear un LED”.

    intledPin = 13;

    pinMode(ledPin, SALIDA);

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    Primero, recordemos qué es un LED. En esencia, se trata de un diodo ordinario en el que, debido a su diseño, cuando la corriente fluye hacia adelante, la unión comienza a brillar. Es decir, para que un LED brille, la corriente debe fluir a través de él, lo que significa que se debe aplicar voltaje al LED. Y para que la corriente no exceda el valor permitido, se debe conectar una resistencia en serie con el LED, que se llama resistencia limitadora de corriente (ver Apéndice A, salida digital). El voltaje se aplica al LED mediante el microcontrolador que forma la base del módulo Arduino. El microcontrolador, además del procesador que ejecuta nuestros comandos, dispone de uno o más puertos de E/S. Sin entrar en consideración del dispositivo específico del puerto, digamos esto: cuando el pin del puerto funciona como salida, se puede representar como la salida de un microcircuito digital con dos estados, encendido y apagado (hay voltaje en la salida , no hay tensión en la salida).

    Pero el mismo pin del puerto también puede funcionar como entrada. En este caso, se puede representar, por ejemplo, como la entrada de un microcircuito digital: se aplica un nivel lógico, alto o bajo, a la entrada (consulte el Apéndice A, entrada digital).

    Cómo hacemos parpadear el LED:

    Habilitar el pin de salida del puerto. Apague la salida del puerto.

    Pero el procesador es muy rápido. No tendremos tiempo de notar el parpadeo. Para notar este parpadeo, debemos agregar pausas. Eso es:

    Habilitar el pin de salida del puerto. Pausa 1 segundo.

    Apague la salida del puerto.

    Pausa 1 segundo.

    Este es nuestro programa. El procesador leerá el primer comando y encenderá la salida, el LED se iluminará. Luego, el procesador se detendrá y apagará la salida, el LED se apagará. Pero sólo parpadeó una vez.

    La repetición de un proceso o conjunto de comandos se denomina bucle en programación. Se utilizan diferentes tipos de ciclos. Hay un bucle que se ejecuta un número específico de veces. Este es un bucle for. Hay bucles que se ejecutan hasta que se cumple alguna condición, que es parte de la construcción del bucle en el lenguaje. Y si la condición nunca se cumple, entonces el ciclo se ejecuta un número infinito de veces. Es un ciclo sin fin.

    No creo que los microcontroladores se utilicen con programas del tipo que se muestra arriba. Es decir, se ejecutan varios comandos a la vez y el controlador ya no funciona. Por regla general, funciona de forma continua tan pronto como se le aplica tensión de alimentación. Esto significa que el microcontrolador debe funcionar en un bucle sin fin.

    Esto es exactamente lo que dice la función void loop(), un bucle es un bucle, un bucle cerrado. No existe ninguna condición para detener el ciclo y, por tanto, no existe ninguna condición para su finalización.

    Además, debemos indicarle al módulo Arduino qué pin de puerto queremos usar y cómo queremos que se use, para salida (SALIDA) o para entrada (ENTRADA). Este propósito lo cumplen la función void setup(), que es obligatoria para el lenguaje Arduino, incluso si no se utiliza, y el comando pinMode() para configurar el modo de funcionamiento de salida.

    pinMode(ledPin, SALIDA);

    Y, sin embargo, la construcción del lenguaje utiliza variables para determinar el número de salida:

    intledPin = 13;

    Es conveniente utilizar variables. Si decide utilizar la salida 12 en lugar de la 13, solo realizará un cambio en una línea. Esto es especialmente cierto en programas grandes. El nombre de la variable se puede elegir como desee, pero en general debe contener sólo caracteres y el número de caracteres suele ser limitado. Si configura el nombre de la variable incorrectamente, creo que el compilador lo corregirá.

    La función digitalWrite(ledPin, HIGH) establece el pin especificado en un estado alto, es decir, activa el pin.

    Y un retraso (1000), como ya entendiste, significa una pausa de 1000 milisegundos o 1 segundo.

    Queda por entender qué significan prefijos como int y void. Cualquier valor, cualquier variable se encuentra en la memoria, al igual que los comandos del programa. Los números que a menudo constan de 8 bits se escriben en celdas de memoria. Este es un byte. Pero un byte es un número del 0 al 255. Para registrar números grandes, se necesitan dos bytes o más, es decir, dos o más celdas de memoria. Para dejarle claro al procesador cómo encontrar un número, los diferentes tipos de números tienen nombres diferentes. Entonces, un número llamado byte ocupará una celda, int (entero, entero) ocupará más. Además, las funciones utilizadas en los lenguajes de programación también devuelven números. Para determinar qué tipo de número debe devolver una función, anteponga la función con ese tipo de número devuelto. Pero es posible que algunas funciones no devuelvan números; dichas funciones están precedidas por la notación void (consulte el Apéndice A, variables).

    Esto es lo interesante que puede decir incluso el programa más simple.

    Espero que puedas leer sobre todo esto en el apéndice. Ahora hagamos experimentos simples, usando solo lo que ya sabemos de las capacidades del lenguaje. Primero, reemplacemos una variable de tipo int, que ocupa mucho espacio de memoria, con un byte: un espacio, una celda de memoria. Veamos qué podemos hacer.

    byte ledPin = 13;

    pinMode(ledPin, SALIDA);

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    Después de compilar y cargar el programa en el módulo, no notaremos ningún cambio en el funcionamiento del programa. Bien. Luego cambiaremos el programa para notar cambios en su funcionamiento.

    Para hacer esto, reemplazaremos el número en la función de retraso (1000) con una variable, llamándola my_del. Esta variable debe ser un número entero, es decir, int.

    int mi_del = 5000;

    Recuerde finalizar cada comando con un punto y coma. Realice cambios en el programa, compílelo y cárguelo en el módulo. Luego cambie la variable y vuelva a compilar y cargar nuevamente:

    byte my_del = 5000;

    La diferencia, estoy seguro, se notará.

    Hagamos otro experimento cambiando la duración de las pausas. Reduzcamos la duración de las pausas, digamos, cinco veces. Hagamos una pausa de 2 segundos y luego aumentémosla cinco veces también. Y nuevamente hacemos una pausa de 2 segundos. Un bucle que se ejecuta un número específico de veces se llama bucle for y se escribe así:

    para (int i = 0; i<5; i++)

    algo que se ejecuta en un bucle for

    Para ejecutar el bucle, se necesita una variable, para nosotros es i, a la variable se le debe dar un valor inicial, que le asignamos. Luego sigue la condición para terminar el ciclo; tenemos i menor que 5. Y la entrada i++ es una entrada típica del lenguaje C para aumentar una variable en uno. Las llaves limitan el conjunto de comandos que se pueden ejecutar en un bucle for. Otros lenguajes de programación pueden tener delimitadores diferentes para resaltar un bloque de código de función.

    Dentro del bucle hacemos lo mismo que antes, con algunos cambios menores:

    para (int i = 0; i<5; i++)

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    mi_del = mi_del - 100;

    Hablamos sobre cambiar el registro de pausa arriba, y cambiar la pausa en sí se logra disminuyendo la variable en 100.

    Para el segundo ciclo, escribiremos el mismo bloque de código, pero aumentaremos la variable de duración de la pausa en 100.

    para (int i = 0; i<5; i++)

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    Notaste que la grabación de una disminución de la pausa y un aumento de ella se ven diferentes. Esta también es una característica del lenguaje C. Aunque, para mayor claridad, esta entrada debería haberse repetido, cambiando solo el signo menos por más. Entonces obtenemos este programa:

    intledPin = 13;

    int mi_del = 1000;

    pinMode(ledPin, SALIDA);

    para (int i = 0; i<5; i++)

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    para (int i = 0; i<5; i++)

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    Copiemos el código de nuestro programa en el programa Arduin, compilémoslo y carguemos en el módulo. Se nota el cambio en la duración de las pausas. Y será aún más notorio, pruébelo si el bucle for se ejecuta, digamos, 8 veces.

    Lo que acabamos de hacer es lo que hacen los programadores profesionales: al tener un programa listo para usar, se puede modificar fácilmente para adaptarlo a sus necesidades o deseos. Por tanto, almacenan todos sus programas. Lo que te aconsejo que hagas tú también.

    ¿Qué nos perdimos en nuestro experimento? No hemos comentado sobre nuestro trabajo. Para agregar un comentario, utilice una barra diagonal doble o una barra simple, pero con asteriscos (consulte el Apéndice A). Te aconsejo que lo hagas tú mismo, porque cuando vuelvas al programa después de un tiempo, lo entenderás más fácilmente si hay explicaciones de lo que estás haciendo en tal o cual lugar del programa. Y también te aconsejo que guardes su descripción en lenguaje sencillo, realizada en cualquier editor de texto, en la carpeta de cada programa.

    El programa más sencillo “hacer parpadear un LED” puede servir para una docena de experimentos más (incluso con un LED). Me parece que esta parte del trabajo, descubrir qué más cosas interesantes se pueden hacer, es la más interesante. Si consulta el apéndice donde se describe el lenguaje de programación, a la sección “control de programa”, puede reemplazar el bucle for con otro tipo de bucle. Y prueba cómo funcionan otros tipos de ciclo.

    Aunque un procesador microcontrolador, como cualquier otro, puede realizar cálculos (para eso se inventó), y esto se utiliza, por ejemplo, en dispositivos, la operación más típica para un microcontrolador será configurar la salida del puerto en alto o bajo. estado, es decir, “parpadear el LED” como reacción a eventos externos.

    El microcontrolador aprende sobre eventos externos principalmente por el estado de las entradas. Al configurar los pines del puerto en entrada digital, podemos monitorearlo. Si el estado inicial de una entrada es alto y un evento hace que la entrada baje, entonces podemos hacer algo en respuesta a ese evento.

    El ejemplo más simple es un botón en la entrada. Cuando no se presiona el botón, la entrada está en un estado alto. Si presionamos el botón, la entrada baja y podemos "encender" el LED en la salida. La próxima vez que presione el botón, el LED se podrá apagar.

    Este es nuevamente un ejemplo de un programa simple. Incluso un principiante puede encontrarlo poco interesante. Sin embargo, en este sencillo programa también podemos encontrar aplicaciones bastante útiles. Te pondré solo un ejemplo: después de presionar el botón, no encenderemos el LED, sino que parpadeará (de cierta manera). Y tomemos un LED con radiación infrarroja. Como resultado, obtendremos un panel de control. Este es un programa tan simple.

    Existen diferencias en la lista de ejemplos en diferentes versiones del programa. Pero puede consultar el manual de idiomas en el apéndice, que tiene un ejemplo y un diagrama de programa (en la sección de ejemplos llamada "apéndice") para trabajar con entradas. Copiaré el programa:

    intledPin = 13;

    pinMode(ledPin, SALIDA);

    pinMode(inPin, ENTRADA);

    si (digitalRead(inPin) == ALTO)

    escritura digital (ledPin, ALTA);

    escritura digital (ledPin, BAJO);

    Y, como puede ver, obtenemos un programa completamente nuevo modificando el anterior. Ahora el LED parpadeará solo cuando se presione el botón que está conectado al pin 2. El pin 2 está conectado al cable común (tierra, GND) a través de una resistencia de 10 kOhm. El botón está conectado por un extremo a la tensión de alimentación +5V y por el otro extremo al pin 2.

    En el programa nos encontramos con una nueva construcción de lenguaje desde la sección de control del programa. Se lee así: si se cumple la condición (entre paréntesis), se ejecuta el bloque de programa entre llaves. Tenga en cuenta que en la condición (digitalRead(inPin) == HIGH) la igualdad de la entrada al estado alto se realiza utilizando dos signos iguales. Muy a menudo, con prisa, esto se olvida y la condición resulta ser incorrecta.

    El programa se puede copiar y cargar en el módulo Arduino. Sin embargo, para comprobar el funcionamiento del programa, deberá realizar algunos cambios en el diseño del módulo. Sin embargo, esto depende del tipo de módulo. El módulo original tiene zócalos para conectar a tarjetas de expansión. En este caso, puede insertar cables macizos adecuados en los lugares necesarios del conector. Mi módulo tiene contactos blade para conectarse a placas de expansión. Puedo buscar un conector adecuado o, lo que es más barato, utilizar un zócalo adecuado para el chip en un paquete DIP.

    La segunda pregunta es ¿cómo encontrar los pines del módulo que se utilizan en el programa?

    La foto que tomé del sitio: http://robocraft.ru/ te ayudará a resolver esto.

    Arroz. 4.1. Ubicación y propósito de los pines del controlador y del módulo Arduino

    Todos los pines de mi módulo CraftDuino están etiquetados, por lo que encontrar el pin que necesitas es fácil. Puedes conectar un botón y una resistencia y comprobar el funcionamiento del programa. Por cierto, en el sitio web de RoboCraft mencionado anteriormente, todo el proceso se muestra en imágenes (¡pero el programa no llega exactamente a las mismas conclusiones!). Te aconsejo que lo veas.

    Muchos microcontroladores incluyen dispositivos de hardware adicionales. Entonces, Atmega168, sobre cuya base se ensambla el módulo Arduino, tiene un UART, una unidad incorporada para comunicarse con otros dispositivos mediante el intercambio de datos en serie. Por ejemplo, con una computadora a través de un puerto COM. O con otro microcontrolador usando su bloque UART incorporado. También hay un convertidor analógico a digital. Y un modelador de modulación de ancho de pulso.

    El uso de este último está ilustrado por un programa que también copiaré del sitio web de RoboCraft. Pero el programa también se puede sacar desde la aplicación. Y quizás esté en los ejemplos del programa Arduino.

    // LED que se desvanece por BARRAGAN

    valor entero = 0; //variable para almacenar el valor deseado

    int pin led = 9; // LED conectado al pin digital 9

    // No es necesario llamar a la función pinMode

    para (valor = 0; valor<= 255; value+=5) // постепенно зажигаем светодиод

    analogWrite(ledpin, valor); // valor de salida (de 0 a 255)

    retraso(30); // esperando 🙂

    for(valor = 255; valor >=0; valor-=5) // apaga gradualmente el LED

    analogWrite(ledpin, valor);

    Si en el programa anterior la función digitalRead(inPin), que lee la entrada digital, era nueva para nosotros, entonces en este programa la función analogWrite(ledpin, value) es nueva para nosotros, aunque los parámetros de esta función son variables que ya conocemos. . Hablaremos sobre el uso de la entrada analógica, usando un ADC (convertidor analógico a digital), más adelante. Ahora volvamos a las cuestiones generales de programación.

    La programación es algo que todo el mundo puede hacer, pero llevará tiempo dominar tanto la programación como cualquier lenguaje de programación. Hoy en día existen una serie de programas que te ayudan a dominar la programación. Y uno de ellos está directamente relacionado con el módulo Arduino. Se llama Scratch para Arduino o S4A para abreviar. Puede encontrar y descargar este programa en: http://seaside.citilab.eu/scratch/arduino. No sé exactamente cómo se traduce el nombre del programa, pero "empezar desde cero" se traduce como "empezar desde cero".

    La web del proyecto S4A dispone de versiones para Windows y Linux, pero para este último sistema operativo el programa está listo para instalar en la versión de la distribución Debian. No quiero decir que no se pueda usar con otras distribuciones de Linux, pero primero veremos cómo trabajar con el módulo Arduino en Windows.

    Después de instalar el programa de la forma habitual, puede configurar la interfaz en ruso mediante el cambio de idioma.

    Arroz. 4.2. Cambio de idioma de la interfaz del programa

    Al hacer clic en el primer icono de la barra de herramientas, se muestran todos los idiomas posibles de la interfaz del programa. El idioma ruso se puede encontrar en la sección...

    Arroz. 4.3. Lista de idiomas para usar en la interfaz del programa

    ... marcado como "más...".

    Si no hace nada, en la ventana derecha permanecerá la inscripción "Tablero de búsqueda...", pero no se encontrará el módulo. Para conectar el módulo Arduino al programa S4A, debe descargar algo más del sitio web del proyecto.

    Arroz. 4.4. Archivo para cargar en el módulo Arduino para S4A

    Este archivo no es más que un programa para Arduino (Sketch). Es decir, un archivo de texto que se puede copiar en el editor Arduino, compilar y cargar en el módulo. Después de salir del programa Arduino, puede ejecutar el programa S4A y ahora se ubica el módulo.

    Arroz. 4.5. Conexión del módulo al programa.

    Las entradas analógicas del módulo no están conectadas, ni tampoco las entradas digitales, por lo que los valores mostrados para el módulo cambian constantemente de forma aleatoria.



    
    Arriba