Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
OBJETIVOS:
Uso de lenguaje de programación C++ para el control de dispositivos de
iluminación.
Introducir el uso de de sistemas digitales a instalaciones electrónicas.
Aprender sobre codificación y decodificación en señales inalámbricas en
dispositivos
Demostrar los alcances de la programación C++ en la vida cotidiana.
MARCO TEORICO:
ARDUINO:
Una placa con todos los elementos necesarios para conectar periféricos a las entradas y
salidas de un microcontrolador, y que puede ser programada tanto en Windows como
macOS y GNU/Linux.
es una plataforma de creación de electrónica de código abierto, la cual está basada en
hardware y software libre, flexible y fácil de utilizar para los creadores y
desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores de
una sola placa a los que la comunidad de creadores puede darles diferentes tipos de uso.
El hardware libre son los dispositivos cuyas especificaciones y diagramas son de acceso
público, de manera que cualquiera puede replicarlos. Esto quiere decir que Arduino
ofrece las bases para que cualquier otra persona o empresa pueda crear sus propias
placas, pudiendo ser diferentes entre ellas pero igualmente funcionales al partir de la
misma base.
El software libre son los programas informáticos cuyo código es accesible por
cualquiera para que quien quiera pueda utilizarlo y modificarlo.
PYTHON:
Phyton es un lenguaje de programación indispensable para cualquier informático o
aprendiz de desarrollo web. Constituye una base sólida para quienes deseen formarse en
el área, porque se trata de un lenguaje dinámico que se implementa en una variedad de
plataformas, por lo cual permite crear no solo sitios sino aplicaiciones en una amplia
variedad de sistemas operativos como iOS, Android, Windows o Mac.
A nivel científico, posee una amplia biblioteca de recursos con especial énfasis en las
matemáticas para aspirantes a programadores en áreas especializadas. También es útil
para crear videojuegos gracias a su dinamismo y simplicidad, aunque tratándose de un
lenguaje de programación interpretado es más lento que Java, C++ o C#.
Características del lenguaje
Propósito general
Se pueden crear todo tipo de programas. No es un lenguaje creado específicamente para
la web, aunque entre sus posibilidades sí se encuentra el desarrollo de páginas.
Multiplataforma
Hay versiones disponibles de Python en muchos sistemas informáticos distintos.
Originalmente se desarrolló para Unix, aunque cualquier sistema es compatible con el
lenguaje siempre y cuando exista un intérprete programado para él.
Interpretado
Quiere decir que no se debe compilar el código antes de su ejecución. En realidad sí que
se realiza una compilación, pero esta se realiza de manera transparente para el
programador. En ciertos casos, cuando se ejecuta por primera vez un código, se
producen unos bytecodes que se guardan en el sistema y que sirven para acelerar la
compilación implícita que realiza el intérprete cada vez que se ejecuta el mismo código.
Interactivo
Python dispone de un intérprete por línea de comandos en el que se pueden introducir
sentencias. Cada sentencia se ejecuta y produce un resultado visible, que puede
ayudarnos a entender mejor el lenguaje y probar los resultados de la ejecución de
porciones de código rápidamente.
Orientado a Objetos
La programación orientada a objetos está soportada en Python y ofrece en muchos casos
una manera sencilla de crear programas con componentes reutilizables.
Funciones y librerías
Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de
strings, números, archivos, etc. Además, existen muchas librerías que podemos importar
en los programas para tratar temas específicos como la programación de ventanas o
sistemas en red o cosas tan interesantes como crear archivos comprimidos en .zip.
Sintaxis clara
Por último, destacar que Python tiene una sintaxis muy visual, gracias a una notación
identada (con márgenes) de obligado cumplimiento. En muchos lenguajes, para separar
porciones de código, se utilizan elementos como las llaves o las palabras clave begin y
end. Para separar las porciones de código en Python se debe tabular hacia dentro,
colocando un margen al código que iría dentro de una función o un bucle. Esto ayuda a
que todos los programadores adopten unas mismas notaciones y que los programas de
cualquier persona tengan un aspecto muy similar.
C++:
Es un lenguaje de programación diseñado a mediados de los años 80 por Bjarne
Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de
programación C con mecanismos que permitieran la manipulación de objetos.
Tiene todas las propiedades del lenguaje C más otras útiles funcionalidades que lo
convierten en uno de los preferidos para crear aplicaciones con interfaz gráfica.
En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es
un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica,
que se sumó a los otros dos paradigmas que ya estaban admitidos (programación
estructurada y la programación orientada a objetos). Por esto se suele decir que el C++
es un lenguaje de programación de alto nivel, que es la base de los sistemas operativos,
software licenciado y libre del mundo informático actual.
En la actualidad, el C++ es un lenguaje versátil, potente y general. Su éxito entre los
programadores profesionales le ha llevado a ocupar el primer puesto como herramienta
de desarrollo de aplicaciones. El C++ mantiene las ventajas del C en cuanto a riqueza de
operadores y expresiones, flexibilidad, concisión y eficiencia. Además, ha eliminado
algunas de las dificultades y limitaciones del C original. La evolución de C++ ha
continuado con la aparición de Java, un lenguaje creado simplificando algunas cosas de
C++ y añadiendo otras, que se utiliza para realizar aplicaciones en Internet.
Las principales herramientas necesarias para escribir un programa en C++ son las
siguientes:
Un compilador de C++
Paciencia
Nociones sobre programación
Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
MÓDULO BLUETOOTH:
S.O. ANDROID:
Android es un sistema operativo basado en Linux que fue pensado en un principio para
usarse con un teclado y un cursor que permitía navegar por las aplicaciones. En la
actualidad, tras varias actualizaciones, está pensado para dispositivos móviles con
pantalla táctil, ya sean smartphones o tabletas. Inicialmente fue creado por la compañía
de software Android Inc, pero en el año 2005 Google compró la empresa y 2 años
después presentó el sistema operativo.
No sería hasta un año más tarde cuando se lanzara el primer móvil que contaba con este
sistema, el HTC Dream, que comenzó a venderse en octubre de 2008. En la
actualidad, más de mil millones de teléfonos y tablets de todo el mundo lo utilizan por
ser, “un sistema operativo personalizable, fácil de utilizar y que funciona a la perfección
con las aplicaciones de Google”, indican en su web oficial. El logotipo, y casi mascota,
del sistema es Andy, un androide verde.
Estructura
Los componentes del Sistema Operativo de Android, cada sección se describe en detalle
a continuación:
Aplicaciones
Las aplicaciones base incluyen un cliente de email, programa de SMS,
calendario, mapas, navegador, contactos, y otros. Todas las aplicaciones son escritas en
el lenguaje de programación Java.
Framework de Aplicaciones
Los desarrolladores tienen acceso completo a los mismos Apis del framework usados
por las aplicaciones base. La arquitectura está diseñada para simplificar la reutilización
de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra
aplicación puede hacer luego uso de esas capacidades (sujeto a reglas de seguridad del
framework). Éste mismo mecanismo permite que los componentes sean reemplazados
por el usuario. Una capa de servicios disponibles para las aplicaciones incluye:
(Deliverius)
Librerías: Android incluye un conjunto de librerías C/C++ usadas por varios
componentes del sistema Android. Estas capacidades se exponen a los desarrolladores a
través del framework de aplicaciones de Android. Algunas son: System C library
(implementación librería C standard), librerías de medios, librerías de gráficos, 3d,
SQLite, entre otras. (Deliverius)
Runtime de Android
Android incluye un conjunto de librerías base que proveen la mayor parte de las
funcionalidades disponibles en las librerías base del lenguaje de programación Java.
Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina
virtual Dalvik. Dalkiv ha sido escrito de forma que un dispositivo puede correr en
múltiples máquinas virtuales de forma eficiente. (Deliverius). Dalkiv
ejecuta archivos en el formato Dalvik Ejecutable (.dex), el cual está optimizado
para memoria mínima. La Máquina Virtual está basada en registros, y corre clases
compiladas por el compilador de Java que han sido transformadas al formato. Dex por
la herramienta incluida "dx".
Núcleo - Linux:
Android depende de un Linux versión 2.6 para los servicios base del sistema como
seguridad, gestión de memoria, gestión de procesos, stack de red, y modelo de drivers.
El núcleo también actúa como una capa de abstracción entre el hardware y el resto del
stack de software. (Deliverius)
MARCO PRÁCTICO:
PROCEDIMIENTO:
1) Adquirir los materiales para la realización del procedimiento
2) Conectar el arduino al led rgb mediante resistencias
3) Conectar el modulo bluetooth al arduino en su puerto serial
4) Abrir la interfaz de programación de arduino
5) Crear un sketch capaz de interpretar los datos enviados desde el celular
6) Crear una aplicación en android para poder interactuar con el usuario
7) Comprobar las conexiones de los circuitos
8) Demostrar el correcto funcionamiento del circuit
PLATAFORMA DE PROGRAMACION:
http://diymakers.es/crear-app-para-arduino-con-app-inventor/
INTERFAZ:
CODIGO DE COLORES:
PREVISUALIZACIÓN:
DEMOSTRACIÓN PRACTICA:
ANEXOS:
WEBGRAFIAS:
https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-uno
https://blanchardspace.wordpress.com/2013/05/06/introduccion-a-c-que-es/
https://tienda.bricogeek.com/modulos-bluetooth/800-modulo-bluetooth-hc-05.html
http://www.asifunciona.com/fisica/ke_led/ke_led_2.htm
https://desarrolloweb.com/articulos/1325.php
https://www.programoergosum.com/cursos-online/robotica-educativa/251-led-rgb-del-
robot-mbot/que-es-un-led-rgb
http://www.arduino.utfsm.cl/el-led-rgb/