jueves, 16 de julio de 2015

CONCEPTUALIZACION DE PLACAS ARDUINO

ARDUINO.

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.




¿Que es Arduino? Te lo mostramos en un documental

Arduino es una plataforma de hardware y software de código abierto, basada en una sencilla placa con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación Processing. Es decir, una plataforma de código abierto para prototipos electrónicos.

Al ser open source, tanto su diseño como su distribución, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin necesidad de licencia.
El proyecto fue concebido en Italia en el año 2005 por el zaragozano David Cuartielles, ingeniero electrónico y docente de la Universidad de Mälmo (Suecia) y Massimo Banzi, italiano, diseñador y desarrollador Web
.


Las aplicaciones que nos ofrece Arduino son múltiples, y dependerá de nuestra imaginación. Mediante sensores podemos crear aplicaciones sencillas enfocadas a la docencia para estudiantes de electrónica, proyectos más elaborados para la industria o incluso sistemas dirigidos simplemente al ocio.
esquema montaje placa arduino
Otra definición de Arduino sacada de Proyecto Arduino es
Arduino es una plataforma de hardware de código abierto, basada en una sencilla placa con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación Processing. Es un dispositivo que conecta el mundo físico con el mundo virtual, o el mundo analógico con el digital.Sus creadores son el zaragozano David Cuartielles, ingeniero electrónico y docente de la Universidad de Mälmo, Suecia y Massimo Banzi, italiano, diseñador y desarrollador Web. El proyecto fue concebido en Italia en el año 2005.

Tipos de Datos en Visual Basic.


Tipos genéricos en Visual Basic (Visual Bas

Un tipo genérico es un elemento de programación único que se adapta para realizar la misma funcionalidad en una variedad de tipos de datos. Cuando defina una clase o procedimiento genérico, no es necesario que defina una versión independiente para cada tipo de datos para el que desee llevar a cabo esa funcionalidad.
Un ejemplo análogo sería un juego de destornilladores con puntas extraíbles. Primero se inspecciona el tornillo que se debe apretar o aflojar y después se selecciona la punta adecuada para la cabeza del mismo (plana, en cruz o de estrella). Una vez insertada la punta correcta en el mango del destornillador, la acción realizada con el destornillador es exactamente la misma, es decir, girar el destornillador.


El juego de destornilladores es una herramienta genérica 

Gráfico de un conjunto de destornilladores definido como herramienta genérica
Cuando defina un tipo genérico, lo puede parametrizar con uno o más tipos de datos. Esto permite al código que los utiliza ajustar los tipos de datos a sus necesidades. Su código puede declarar varios elementos de programación diferentes a partir del elemento genérico y cada uno de ellos actúa en un conjunto distinto de tipos de datos. Pero todos los elementos declarados funcionan con la misma lógica, independientemente de los tipos de datos que utilicen.
Por ejemplo, puede que desee crear y utilizar una clase de cola que funcione en un tipo de datos concreto como String. Puede declarar esa clase a partir de Queue, como muestra el siguiente ejemplo.
Public stringQ As New System.Collections.Generic.Queue(Of String)
Ahora puede utilizar stringQ para trabajar exclusivamente con valores String. Dado que stringQ es específico para String en lugar de generalizarse para los valores Object, no tiene enlace en tiempo de ejecución ni conversión de tipos. Así se ahorra tiempo de ejecución y se reduce el número de errores en tiempo de ejecución.
Para obtener más información sobre cómo utilizar un tipo genérico, vea Cómo: Usar clases genéricas (Visual Basic).

Ejemplo de una clase genérica

El ejemplo siguiente muestra una estructura básica de una clase genérica.
Public Class classHolder(Of t)
    Public Sub processNewItem(ByVal newItem As t)
        Dim tempItem As t
        ' Insert code that processes an item of data type t. 
    End Sub 
End Class
En la estructura básica anterior, t es un parámetro de tipo, es decir, un marcador de posición para un tipo de datos que se proporcionará cuando declare la clase. En otra parte en su código, puede declarar distintas versiones de classHolder proporcionando diversos tipos de datos para t. En el ejemplo siguiente se muestran dos declaraciones así.
Public integerClass As New classHolder(Of Integer)
Friend stringClass As New classHolder(Of String)
Las instrucciones anteriores declaran clases construidas, en las que un tipo específico reemplaza el parámetro de tipo. Este reemplazo se propaga por todo el código existente dentro de la clase construida. El ejemplo siguiente muestra el aspecto que tiene el procedimientoprocessNewItem en integerClass.
Public Sub processNewItem(ByVal newItem As Integer)
    Dim tempItem As Integer 
    ' Inserted code now processes an Integer item. 
End Sub

Elementos de programación elegibles

Puede definir y utilizar clases, estructuras, interfaces, procedimientos y delegados de tipo genérico. Tenga en cuenta que .NET Framework define varias clases, estructuras e interfaces genéricas que normalmente representan los elementos genéricos utilizados. El espacio de nombres System.Collections.Generic proporciona diccionarios, listas, colas y pilas. Antes de definir su propio elemento genérico, vea si ya está disponible en System.Collections.Generic.
Los procedimientos no son tipos, pero puede definir y utilizar procedimientos genéricos. Vea Procedimientos genéricos en Visual Basic.

Ventajas de los tipos genéricos

Un tipo genérico sirve como base para declarar varios elementos de programación diferentes, cada uno de los cuales funciona en un tipo de datos concreto. Las alternativas a un tipo genérico son:
  1. Un tipo único que funciona en el tipo de datos Object.
  2. Un conjunto de versiones específicas de tipo del tipo, con cada versión codificada por separado y funcionando en un tipo de datos específico como String, Integer o un tipo definido por el usuario como, por ejemplo, customer.
Un tipo genérico presenta las ventajas siguientes sobre estas alternativas:
  • Seguridad de tipos. Los tipos genéricos fuerzan la comprobación de tipo en tiempo de compilación. Tipos basados en Objectaceptan cualquier tipo de datos y debe escribir el código para comprobar si un tipo de datos de entrada es aceptable. Con los tipos genéricos, el compilador puede detectar los errores de coincidencia de tipos antes en tiempo de ejecución.
  • Rendimiento. Los tipos genéricos no tienen que aplicar la conversión boxing ni aplicar la conversión unboxing a los datos, porque cada uno de ellos está especializado para un tipo de datos. Las operaciones basadas en Object deben aplicar la conversión boxing para convertir los tipos de datos de entrada en Object y aplicar la conversión unboxing a los datos destinados para el resultado. Las conversiones boxing y unboxing reducen el rendimiento.
    Los tipos basados en Object también son enlazados en tiempo de ejecución, lo que significa que para tener acceso a sus miembros se requiere código adicional en tiempo de ejecución. Esto también reduce el rendimiento.
  • Consolidación del código. El código de un tipo genérico sólo ha de definirse una vez. Un conjunto de versiones específicas de tipo de un tipo debe replicar el mismo código en cada versión, con la única diferencia de que se trata del tipo de datos específico para esa versión. Con tipos genéricos, las versiones específicas de tipo se generan todas a partir del tipo genérico original.
  • Reutilización del código. El código que no depende de un tipo de datos determinado se puede reutilizar con distintos tipos de datos, si es genérico. Con frecuencia, se puede reutilizar incluso con un tipo de datos no previsto originalmente.
  • Compatibilidad con IDE. Cuando utilice un tipo construido a partir de un tipo genérico, Integrated Development Environment (IDE) puede proporcionarle más apoyo mientras programa el código. Por ejemplo, IntelliSense puede mostrarle las opciones tipo- específicas para un argumento a un constructor o método.
  • Algoritmos genéricos. Los algoritmos abstractos que son independientes del tipo son buenos candidatos para los tipos genéricos. Por ejemplo, un procedimiento genérico que ordena elementos mediante la interfaz IComparable se puede utilizar con cualquier tipo de datos que implemente IComparable.

Restricciones

Aunque el código de una definición de tipo genérico debe ser tan independiente del tipo como sea posible, puede que requiera una capacidad concreta de un tipo de datos proporcionado a su tipo genérico. Por ejemplo, si desea comparar dos elementos con el propósito de ordenar o intercalar, su tipo de datos debe implementar la interfaz IComparable. Puede forzar este requisito agregando una restricción al parámetro de tipo.

Ejemplo de una restricción

El ejemplo siguiente muestra una definición esquema de una clase con una restricción que exige al argumento de tipo que implemente IComparable.
Public Class itemManager(Of t As IComparable)
    ' Insert code that defines class members. 
End Class
Si el código subsiguiente intenta construir una clase a partir de itemManager proporcionando un tipo que no implementaIComparable, el compilador señala un error.

Tipos de restricciones

Su restricción puede especificar los siguientes requisitos en cualquier combinación:
  • El argumento de tipo debe implementar una o más interfaces
  • El argumento de tipo debe ser, como máximo, del tipo de una clase o heredar de ella
  • El argumento de tipo debe exponer un constructor sin parámetros accesible al código que crea los objetos a partir del mismo
  • El argumento de tipo debe ser un tipo de referencia o un tipo de valor
Si necesita imponer más que un requisito, utilice una lista de restricciones separada por comas dentro de llaves ({ }). Para requerir un constructor accesible, incluya la palabra clave New (Operador, Visual Basic) en la lista. Para requerir un tipo de referencia, se debe incluir la palabra clave Class; para requerir un tipo de valor, incluya la palabra clave Structure.
Para obtener más información sobre restricciones, vea Lista de tipos (Visual Basic).

Ejemplo de varias restricciones

El ejemplo siguiente muestra una definición básica de una clase genérica con una lista de restricciones para el parámetro de tipo. En el código que crea una instancia de esta clase, el argumento de tipo debe implementar las interfaces IComparable y IDisposable, ser un tipo de referencia y exponer un constructor sin parámetros accesible.
Public Class thisClass(Of t As {IComparable, IDisposable, Class, New})
    ' Insert code that defines class members. 
End Class

Caracteres de tipo (Visual Basic)


Además de especificar un tipo de datos en una instrucción de declaración, puede forzar el tipo de datos de algunos elementos de programación con un carácter de tipo. El carácter de tipo debe ir justo después del elemento, sin ningún tipo de carácter intermedio.
El carácter de tipo no forma parte del nombre del elemento. Se puede hacer referencia a un elemento definido con un carácter de tipo sin el carácter de tipo.

Caracteres de tipo identificador

Visual Basic proporciona un conjunto de caracteres de tipo identificador que se pueden utilizar en una declaración para especificar el tipo de datos de una variable o constante. La tabla siguiente muestra los caracteres de tipo identificador disponibles, con ejemplos de su utilización.
Carácter de tipo identificador
Tipo de datos
Ejemplo
%
Integer
Dim L%
&
Long
Dim M&
@
Decimal
Const W@ = 37.5
!
Single
Dim Q!
#
Double
Dim X#
$
String
Dim V$ = "Secret"
No existe ningún carácter de tipo identificador para los tipos de datos Boolean, Byte, Char, Date, Object, SByte, Short, UInteger,ULong o UShort, ni para los tipos de datos compuestos como matrices o estructuras.
En algunos casos, puede anexar el carácter $ a una función de Visual Basic, por ejemplo Left$ en lugar de Left, para obtener un valor devuelto de tipo String.

Entorno de Trabajo de Visual Basic.

El Entorno Visual Basic
En este capitulo se tratara de explicar como empezar a utilizar el entorno Visual Basic.
Ejecutamos Visual Basic (VB) y al comenzar  podemos ver la siguiente ventana:

Está nos esta mostrando la diferentes formas para comenzar, hay 3 formas, la primera Nuevo es iniciando un Nuevo Proyecto, seleccionando uno tipo de proyecto, la segunda Existente es abriendo un proyecto ya existente, el archivo tiene que contener la extensión*.vbp, *.mak o *.vbg, y por ultimo la tercera Recientes es seleccionando un proyecto de la lista de archivos recientemente abiertos (VB se encarga automáticamente de mostrar una lista de los últimos proyectos abiertos)Para continuar elija EXE estándar y luego Abrir, ahora se explicara la Ventana principal de Visual Basic.

1Barra de titulo, en está se muestra el nombre del proyecto actual en el que se esta trabajando, luego viene el nombre del programa, continuado a "Microsoft Visual Basic viene el estado en el que está el proyecto, hay 3 tipos de estado en [Diseño] cuando se está escribiendo el código, [Ejecución] el programa se encuentra en ejecución, o en estado de [Interrupción] que es cuando en estado de ejecución se produjo un error, por ultimo en la barra de titulo se puede visualizar el nombre del Form (Formulario) actual en que se está trabajando y como se está trabajando [Form1 [Form]] cuando se trabaja en el diseño del Formulario o [Form1 [Código]] cuando se trabaja en el código para ese formulario.
2En la barra de menúes se encuentran todas las opciones para manejar Visual Basic, a medida que se vayan utilizando se irán explicando.
3La barra de herramientas, contiene varios accesos directos a los menús, para agilizar el manejo de Visual Basic.
4Se le llama Cuadro de herramientas y sirve para colocar objetos en la Ventana de Diseño, como Cuadros de textos, Botones, Imágenes, y otros. Esto funciona muy fácil ya que seleccionamos por ejemplo un CommandButton (botón), y vamos al ventana diseño y lo creamos haciendo Clic con el Mouse (sin soltarlo!) y lo arrastramos hasta el tamaño que deseemos, en ese momento soltamos el botón. Y listo ya tienes un botón estilo Windows para usar!.
5La Ventana diseño, es aquí donde se le da la apariencia al programa, es decir lo que el usuario va a ver. Los puntillos del fondo son utilizados con el fin de alinear más fácil los objetos en el Formulario(Ventana).
6El Explorador de proyectos es donde visualizamos todas los Formularios(Ventanas), Módulos, Clases, entre otros del proyecto actualmente abierto, es decir de la aplicación que se está creando, en este caso hay un solo Formulario llamado Form1, lo que aparece dentro de paréntesis es el nombre de archivo. Y este Formulario se encuentra dentro de una carpeta llamada "Formularios", por ser que VB clasifica los archivos por tipos, cuando use otros tipos de archivos además de Formularios podrá visualizar otras carpetas.
7La Ventana propiedades muestra todas las propiedades del control actualmente seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que abajo dice "Form1 Form", lo que está en negrita es el nombre del objeto, y lo que le sigue es el tipo de objeto, en este caso es un Formulario (Form).
8En la ventana Posición del Formulario, se puede ver un monitor y dentro de él una ventanita, esto sirve para definir la posición de la ventana cuando se  inicie el programa, es decir donde se va a mostrar. Pruebe hacer clic sobre la ventana (sin soltar el botón!) y arrastre la ventana dentro del monitor, luego suelte el botón del Mouse. Y cuando se ejecute la aplicación la ventana aparecerá en esa posición.

Visual Basic: Es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en1991, con la intención de simplificar la programación utilizando unambiente de desarrollo que facilitó en cierta medida laprogramación misma.
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en laAPI Win32 y pasar a un framework o marco común de librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes comoC Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6.
Aunque Visual Basic es de propósito general, también provee facilidades para el desarrollo de aplicaciones de bases de datosusando Data Access Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor de textos para edición del código fuente, un depurador, un compilador (y enlazador) y un editor de interfaces gráficas o GUI.