Ruleta de Led. simulación:
Dudas y aprendizajes:
¿Por
qué Arduino?
Dudas y aprendizajes:
a. ¿Que es Arduino?
Arduino es una plataforma de prototipos electrónica de
código abierto (open-source) basada en hardware y software flexibles y fáciles
de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera
interesado en crear objetos o entornos interactivos.
Arduino puede “sentir” el entorno mediante la recepción de
entradas desde una variedad de sensores y puede afectar a su alrededor mediante
el control de luces, motores y otros artefactos. El micro controlador de la
placa se programa usando el “Arduino Programming Language” (basado en Wiring) y
el “Arduino Development Environment” (basado en Processing). Los proyectos de
Arduino pueden ser autónomos o se pueden comunicar con software en ejecución en
un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.).
Las placas se pueden ensamblar a mano o encargarlas pre
ensambladas; el software se puede descargar gratuitamente. Los diseños de
referencia del hardware (archivos CAD) están disponibles bajo licencia
open-source, por lo que eres libre de adaptarlas a tus necesidades.
Arduino recibió una mención honorífica en la sección Digital
Communities del Ars Electronica Prix en 2006.
Hay muchos otros micro controladores y plataformas micro
controladoras disponibles para computación física. Parallax Basic Stamp,
Netmedia’s BX-24, Phidgets, MIT’s Handyboard, y muchas otras ofertas de
funcionalidad similar. Todas estas herramientas toman los desordenados detalles
de la programación de micro controlador y la encierran en un paquete fácil de
usar. Arduino también simplifica el proceso de trabajo con micro controladores,
pero ofrece algunas ventajas para profesores, estudiantes y a aficionados
interesados sobre otros sistemas:
Barato: Las placas Arduino son relativamente baratas
comparadas con otras plataformas micro controladoras. La versión menos cara del
módulo Arduino puede ser ensamblada a mano, e incluso los módulos de Arduino pre
ensamblados cuestan menos de 50$.
Multiplataforma: El software de Arduino se ejecuta en sistemas
operativos Windows, Macintosh OSX y GNU/Linux. La mayoría de los sistemas micro
controladores están limitados a Windows.
Entorno de programación simple y clara: El entorno de
programación de Arduino es fácil de usar para principiantes, pero suficientemente
flexible para que usuarios avanzados puedan aprovecharlo también. Para
profesores, está convenientemente basado en el entorno de programación
Processing, de manera que estudiantes aprendiendo a programar en ese entorno
estarán familiarizados con el aspecto y la imagen de Arduino.
Código abierto y software extensible: El software Arduino
está publicado como herramientas de código abierto, disponible para extensión
por programadores experimentados. El lenguaje puede ser expandido mediante
librerias C++, y la gente que quiera entender los detalles técnicos pueden
hacer el salto desde Arduino a la programación en lenguaje AVR C en el cual
está basado. De forma similar, puedes añadir código AVR-C directamente en tus
programas Arduino si quieres.
Código abierto y hardware extensible: El Arduino está basado
en micro controladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los
módulos están publicados bajo licencia Creative Commons, por lo que diseñadores
experimentados de circuitos pueden hacer su propia versión del módulo,
extendiéndolo y mejorándolo. Incluso usuarios relativamente inexpertos pueden
construir la versión de la placa del módulo para entender cómo funciona y
ahorrar dinero.
¿Que es una Entrada y
salida Digital?
Una señal digital es un tipo de señal generada por algún
tipo de fenómeno electromagnético en que cada signo que codifica el contenido
de la misma puede ser analizado en término de algunas magnitudes que
representan valores discretos, en lugar de valores dentro de un cierto rango.
Por ejemplo, el interruptor de la luz sólo puede tomar dos valores o estados:
abierto o cerrado, o la misma lámpara: encendida o apagada (véase circuito de
conmutación).
¿Que es un Código?
Código es todo el conjunto de instrucciones que hace en un
sistema operativo determinado la capacidad de Codificar y Descodificar el
conjunto organizado de datos (Información) que es recibido y enviado, de forma
de que pueda ser mostrado al usuario a través de una interfaz gráfica o dando
una respuesta lógica y deseada entre el Origen (también denominado Fuente) y el
Destino de la acción realizada.
Clasificación:
Código Abierto: Corresponden aquellos que tienen el acceso
conocido como Código Fuente Liberado, en el cual el desarrollo de la aplicación
se da por una comunidad determinada de programadores o bien en forma global,
autorizando a su copia, análisis y modificación en forma completamente libre,
sin que necesariamente sea el autor quien realice estas alteraciones al código
original.
Código Cerrado: En este caso, el Código Fuente solo puede
ser modificado por quien es su Autor registrado, o bien por aquellas personas a
las que él mismo ha expresado su autorización.
¿Que es C++?
Es un lenguaje de programación,
creado a mediados de 1980 por Bjarne Strousstrup, como extensión del lenguaje
C. Este lenguaje abarca tres paradigmas de la programación: 1. Programación
Estructurada 2. Programación Genérica 3. Programación Orientada a Objetos En la
actualidad, C++ es un lenguaje versátil, potente y general. Su éxito entre los
programadores le ha llevado a ocupar el primer puesto como herramienta de
desarrollo de aplicaciones, ya sea en Windows o GNU Linux.
¿Qué tan complejo puede ser el lenguaje C++?
Se trata simplemente
del sucesor de un lenguaje de programación hecho por programadores (de alto
nivel) para programadores, lo que se traduce en un diseño pragmático al que se
le han ido añadiendo todos los elementos que la práctica aconsejaba como
necesarios, con independencia de su belleza o purismo conceptual. De hecho, en el diseño de la Librería
Estándar C++ (5.1) se ha usado ampliamente esta dualidad (ser mezcla de un
lenguaje tradicional con elementos de POO), lo que ha permitido un modelo muy
avanzado de programación extraordinariamente flexible (programación genérica).
¿Qué tipos de lenguajes hay?
Los lenguajes imperativos son aquellos en los que se
especifica cómo conseguir los objetivos que se persiguen. C; C++; Javascript y
Perl, entre otros muchos, pertenecen a esta categoría. Por otro lado están
también los lenguajes declarativos que son
aquellos en los que se especifica que objetivo se persigue, sin preocuparse por
el cómo. SQL y HTML son quizás los ejemplos más representativos de esta
categoría.
¿Pueden combinarse los dos lenguajes?
Si se pueden combinar pero por razones de velocidad (flujo) y costo la que se desarrollara con
mayor aplicación es el lenguaje declarativo. Por un lado, nosotros no somos
capaces de abarcar una visión global pero precisa simultáneamente del sistema y
por otro, el compilador no puede ayudarnos a suplir este problema. Así, todo lo
que nosotros no seamos capaces de resolver, la programación imperativa tampoco
lo conseguirá.
Comentarios
Publicar un comentario