Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Semana 9: Hadware y Software Arduino CURSO: ROBÓTICA CICLO: IX SEMESTRE: 2021-2 DOCENTE: ING. ANGEL MARTHANS RUIZ, MG. UNIVERSIDAD NACIONAL DE LA AMAZONÍA PERUANA FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA Hardware Libre En la definición de Arduino se hace referencia a él como una plataforma libre, por ende, el hardware de Arduino por formar parte de la plataforma de Arduino debe ser libre. El hardware libre o “open source“ (fuente abierta) ofrece una serie de libertades en cuanto a su diseño: Estudiarlo, Modificarlo, Reutilizarlo. Comparte ciertas similitudes con el software libre, que tiene más antecedentes que el hardware libre. Para que todo esto sea posible los usuarios deben tener acceso a los archivos de diseño, bajo una licencia que permita cada una de las libertades anteriormente mencionadas. La licencia del hardware de Arduino es Creative Commons Attribution Share-Alike. Esta licencia, entre otros derechos, otorga la libertad de comercialización, siempre y cuando el que lo quiera hacer lo ponga en conocimiento de Arduino y publique sus diseños bajo la misma licencia. Hardware Libre El hecho de que el hardware sea libre no significa que sea gratuito, lo cual resulta lógico puesto que su fabricación conlleva algunos gastos. Podemos encontrarnos en el mercado con placas oficiales y no oficiales; esto permite que podamos adquirir placas más económicas que las originales Arduino. Algunas de estas placas no oficiales, no cumplen con las normativas electromagnéticas. Estas normativas, aseguran que las señales que se generan en el dispositivo electrónico no generan interferencia entre si; señales tales como: WiFi, Bluetooth, GSM, RFID, etc. Hardware Libre Una de las características de las placas Arduino es que es modular, es decir que si el modelo del que partimos no dispone de ciertos periféricos podemos añadir módulos para ampliar sus funcionalidades. Estos módulos son más conocidos como Shields. Disponemos de todo tipo de Shields: GSM, WIFI, ETHERNET, SD, potencia, RFID, pantallas táctiles, etc. A todo esto podemos añadir una gran cantidad de sensores. Por lo tanto, Arduino nos permite interactuar con la tecnología de otra forma, ya no como usuarios sino como desarrolladores, y por lo tanto entender mejor el mundo tecnológico que nos rodea. Software Arduino Arduino dispone de un entorno de programación integrado conocido como Arduino IDE. Este entorno de programación es multiplataforma. Nos permite escribir un programa, verificarlo (comprobar errores) y cargarlo a nuestro Arduino. Dispone de una herramienta como es el Monitor Serie que permite recibir o enviar información a través del puerto USB de nuestro PC. Si, por ejemplo, programamos nuestro Arduino para que, cuando reciba un mensaje por el puerto USB que ponga “encender leds”, debe encender los leds que tenga conectados a sus salidas, a través del Monitor Serie, podemos enviar el mensaje “encender leds”. Entonces, si programamos adecuadamente el Arduino, podemos controlarlo a través del IDE. Software Arduino El Monitor Serie también permite mostrar información que reciba por el puerto USB del PC. Si, por ejemplo, programamos nuestro Arduino para que tome las lecturas de unos sensores a los cuales esté conectado, y que envíe esos valores por el puerto USB, podemos visualizarlos en el IDE de Arduino. Por lo tanto, también podemos decir que con el IDE podemos monitorizar un Arduino. Y por supuesto, con la programación adecuada podemos controlar y monitorizar nuestro Arduino simultáneamente. Software Arduino Podemos programar un Arduino con otro entorno de programación siempre y cuando sean compatibles. Si tenemos práctica con un entorno de programación determinado podemos comprobar si es posible programar con ese software nuestro Arduino, seguramente necesitemos instalar alguna extensión. Y con el IDE de Arduino pasa lo mismo, con las extensiones correctas podemos programar otros módulos. Software Arduino Arduino IDE Lenguaje de Programación En cuanto al lenguaje de programación (idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por una máquina), podemos diferenciar varios niveles. El lenguaje a más bajo nivel sería el lenguaje máquina: es el lenguaje capaz de almacenar e interpretar una máquina, en nuestro caso, un MCU. En los inicios de los MCU (aún hasta hoy en día), estos se programaban en lenguaje máquina. El lenguaje máquina consiste en instrucciones a nivel binario, lo que nos obliga a encadenar una cierta cantidad de ellas para poder realizar tareas sencillas. Además, cada máquina puede tener su propio lenguaje. Lenguaje de Programación Existen varios lenguajes a alto nivel: C, Python, C++, Java, entre otros. El lenguaje a alto nivel está formado por instrucciones más complejas que el lenguaje máquina, lo que significa que una instrucción en este lenguaje puede equivaler a varias en lenguaje máquina. Con esto conseguimos programas más cortos, más fáciles de interpretar y modificar. El lenguaje a alto nivel que emplea el IDE de Arduino se basa en el lenguaje C, aunque es cierto que la mayoría de los lenguajes comparten estructuras o funciones similares, como pueden ser los bloques de control de flujo (if, else, while). Aparte del lenguaje compartido con C, dispone de instrucciones propias para un Arduino. Lenguaje de Programación Independientemente de si programamos en lenguaje estructurado o máquina, la carga de un programa al MCU del Arduino conlleva una serie de pasos que se conoce como compilación. La compilación se puede considerar como una traducción del programa que hemos desarrollado a un lenguaje que pueda almacenar e interpretar el MCU. El proceso de compilación es complejo, puesto intervienen varios pasos: • Precompilador • Compilador • Linker • Carga de programa Lenguaje de Programación El lenguaje máquina nos obliga a conocer la estructura y funcionamiento interno de un MCU (1) , lo cual suele ser complejo , pero nos permite optimizar nuestro programa. Estructura y funcionamiento interno de un MCU. Semana 9: �Hadware y Software Arduino Hardware Libre Hardware Libre Hardware Libre Software Arduino Software Arduino Software Arduino Software Arduino Lenguaje de Programación Lenguaje de Programación Lenguaje de Programación Lenguaje de Programación Estructura y funcionamiento interno de un MCU.
Compartir