viernes, 29 de junio de 2018

LABORATORIO NRO 16

PROYECTOS CON ARDUINO
FASE 4:

MENSAJE CON MATRIZ DE LEDS Y ARDUINO

1. OBJETIVOS:

  • Reconocer los comandos para programar adecuadamente en arduino.
  • Implementar la programación que nos permita obtener una frase.
  • Reconocer correctamente los pines de la matriz y conectarlos al arduino.
2. FUNDAMENTO TEÓRICO


  • void setup()



El setup es la primera función en ejecutarse dentro de un programa en Arduino. Es, básicamente, donde se “setean” las funciones que llevará a cabo el microcontrolador, en el setup establecemos el comando Serial.begin para indicarle al programa que vamos a iniciar la comunicación serial. 
  • void loop()


Loop en inglés significa lazo o bucle. La función loop en Arduino es la que se ejecuta un número infinito de veces. 
  • byte


Un byte almacena un número sin firmar de 8 bits, de 0 a 255
  • digitalWrite


La función Arduino digitalWrite permite escribir valores lógicos digitales en un pin de Salida de una tarjeta Arduino. Entonces, está función requiere que el pin haya sido declarado como salida previamente. Para empezar, esté elemento del lenguaje Arduino, requiere de dos parámetros de entrada. El primero es el numero de pin (0-13 para un Arduino UNO R3) y el segundo es la condición logica (HIGH ó LOW).
  • if


La if declaración verifica una condición y ejecuta la instrucción previa o el conjunto de enunciados si la condición es 'verdadera'.

  • for
El bucle for es una estructura que se utiliza cuando queremos que una serie de acciones se repita un número determinado de veces, para ello se necesita de una variable índice, una condición y un incrementador. La variable índice solo se ejcuta dentro de este bucle.

  • char
Un tipo de datos que ocupa 1 byte de memoria que almacena un valor de carácter. Los literales de caracteres están escritos en comillas simples, como esta: 'A' (para múltiples caracteres - cadenas - use comillas dobles: "ABC").

  • bool   tiene uno de dos valores, true o false

  • clear(): limpia la pantalla.


  • long
Las variables largas son variables de tamaño extendido para el almacenamiento de números y almacenan 32 bits (4 bytes), de -2,147,483,648 a 2,147,483,647.


  • millis

Devuelve la cantidad de milisegundos desde que la placa Arduino comenzó a ejecutar el programa actual. Este número se desbordará (volverá a cero), después de aproximadamente 50 días.



  • while

Ya hemos visto la estructura condicional if y el bucle de repetición for, ambas muy utilizadas en programación, pero al estar conectados al  mundo real nuestro Arduino habrá ocasiones en las que querremos que realice acciones mientras se cumpla una condición  sin importar el número de veces repita: para ello contamos con el comando while.


IMÁGENES DEL CIRCUITO






Aquí se muestran algunas imágenes de nuestro circuito armado.




3. VÍDEO DEMOSTRATIVO:

<



4. OBSERVACIONES: 

Se observó que la matriz de LEDs era de cátodo común.
Empleamos un tarjeta sparkfun en vez del arduino.
Usamos 8 resistencias en la matriz y las conectamos a los ánodos para no quemar los LEDs de la matriz.

5. CONCLUSIONES:

Establecimos los comandos adecuados en nuestra programación.

Conectamos la matriz con resistencias.
Identificamos los pines del arduino conectandolos a la matriz, cátodos y ánodos.



6. BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA 
  • Mandado, Enrique (1996)Sistemas electrónicos digitales. México D.F. : Alfaomega
  • Hermosa A (2004) Electrónica Digital Fundamental. España: Marcombo
INTEGRANTES :
  • Corimanya Castelo Laura 
  • Pocohuanca Morocco Liz 
  • Quenallata Luque Mishel




LABORATORIO N°15


PROYECTOS CON ARDUINO
FASE 3

CONVERTIDOR ADC CON ARDUINO








1. OBJETIVOS:

  • Desarrollar la programación en el arduino.
  • Analizar los posibles resultados de cada programación.



2. FUNDAMENTO TEÓRICO


  •   Conversor Analógico Digital (ADC):


Un micro controlador solo entiende señales digitales (1’s y 0’s), por lo tanto para poder leer señales analógicas necesitamos los convertidores Analógico a Digital (ADC).

Cómo funciona un converso analógico a digital:
Un conversor o convertidor de señal analógica a digital(Conversor Analógico Digital, CAD; Analog-to-Digital Converter, ADC) es un dispositivo electrónico capaz de convertir una señal analógica, ya sea de tensión o corriente, en una señal digital mediante un cuantificador y codificándose en muchos casos en un código binario en particular. Donde un código es la representación unívoca de los elementos, en este caso, cada valor numérico binario hace corresponder a un solo valor de tensión o corriente.  

La conversión analógica-digital consiste en la transcripción de señales analógicas en señal digital, con el propósito de facilitar su procesamiento (codificación, compresión, etcétera) y hacer la señal resultante (digital) más inmune al ruido y otras interferencias a las que son más sensibles las señales analógicas.

  • Digitalización: 



Muestreo:


La digitalización o conversión A/D, básicamente, consiste en realizar de forma periódica medidas de la amplitud (tensión) de una señal; por ejemplo, la que proviene de un micrófono si se trata de (retención) por un circuito de retención , el tiempo suficiente para permitir evaluar su nivel (cuantificación). Desde el punto de vista matemático, este proceso no se contempla porque se trata de un recurso técnico debido a limitaciones prácticas, y carece de modelo matemático.

Durante el “muestreo” y la “retención”, la señal aún es analógica, puesto que aún puede tomar cualquier valor. No obstante, a partir de la “cuantificación”, cuando la señal ya toma valores finitos, la señal ya es digital. Los cuatro procesos tienen lugar en un conversor analógico-digital.


Cuantificación:
En el proceso de cuantificación se mide el nivel de voltaje de cada una de las muestras. Consiste en asignar un margen de valor de una señal analizada a un único nivel de salida. Incluso en su versión ideal, añade como resultado una distorsión no deseada a la señal de entrada: el ruido de cuantificación.


Codificación:


La codificación consiste en traducir los valores obtenidos durante la cuantificación al código binario. Hay que tener presente que el código binario es el más utilizado, pero también existen otros tipos de códigos que también son utilizados.






  • ADC ARDUINO  

El microcontrolador de Arduino UNO contiene internamente un conversor analógico a digital de 6 canales. El conversor tiene una resolución de 10 bits, devolviendo enteros entre 0 y 1023. Los pines analógicos de Arduino también tienen todas las funcionalidades de los pines digitales. Por lo tanto, si necesitamos más pines digitales podemos usar los pines analógicos.

En arduino los pines analógicos se definen y tienen las propiedades siguientes: 
A/D converter
Los controladores ATmega utilizados para Arduino contienen un convertidor analógico a digital (A / D) de 6 canales a bordo (8 canales en el Mini y Nano, 16 en el Mega). El convertidor tiene una resolución de 10 bits, regresando enteros de 0 a 1023. Mientras que la función principal de los pines analógicos para la mayoría de los usuarios Arduino es leer sensores analógicos, los pines analógicos también tienen toda la funcionalidad de pines de entrada / salida de propósito general (GPIO) (lo mismo que los pines digitales 0 - 13).

PIN MAPPING  (Asignación de pines)

     Los pines analógicos se pueden usar de forma idéntica a los pines digitales, usando los alias A0 (para la entrada analógica 0), A1, etc. Por ejemplo, el código se vería así para establecer el pin analógico 0 en una salida, y configurarlo ALTO :


Details and Caveats:


El comando analogRead no funcionará correctamente si un pin se ha configurado previamente en una salida, por lo que si este es el caso, configúrelo de nuevo a una entrada antes de usar analogRead. De forma similar, si el pin se ha configurado en ALTO como salida, la resistencia pull-up se establecerá, cuando se vuelva a conectar a una entrada.

La hoja de datos de ATmega también advierte contra el cambio de pines analógicos en proximidad temporal cercana a la realización de lecturas A / D (analogRead) en otros pines analógicos. Esto puede causar ruido eléctrico e introducir inestabilidad en el sistema analógico. Puede ser deseable, después de manipular los pines analógicos (en modo digital), agregar un breve retraso antes de usar analogRead () para leer otros pines analógicos.




3. VÍDEO DEMOSTRATIVO:




4. OBSERVACIONES:
· Observamos que mientras el potenciómetro se movía los valores mostrados en el programa arduino variaba , y se movía dentro de la resolución de este.
· Observamos que el brillo de led disminuía debido a la programación realizada con anterioridad.

·     Observamos que el arduino no posee salidas analógicas por lo cual utilizamos las entradas digitales con el símbolo  ~ para poder obtenerlas.

5. CONCLUSIONES:
·       Evaluamos la programación del Convertidor A/D con Arduino.
·       Reconocimos las estructuras de control en programación.
·       Realizamos la escritura de datos por puerto serial.
·       Aprendimos la capacidad analógica que tienen nuestro arduino, medimos voltajes intermedios  y de 0 a 5 V. 
·      
Aprendimos que PWM es la modulación de ancho de pulso por lo cual, al momento de realizar el ejercicio de la led que enciende y se apaga por un determinado tiempo, es necesario conectar nuestro circuito  unos pines digitales que lleven el símbolo de   ~     para así producir  salidas analógicas.
·       Implementamos el circuito de una led, en la que el brillo va disminuyendo , ya que en la programación especificamos la intensidad del brillo o voltaje ,y también introducimos el anallig.write junto con el for .
·       Implementamos el circuito del potenciómetro que lo utilizamos con un regulador de voltaje, ya que en la programación introducimos la variable, luego lo leímos, lo imprimimos en un tiempo de retardo, y finalmente cerramos el programa, en la pantalla podemos observar la resolución del convertidor.
·       Analizamos el arduino tienen una resolución de 2^10 =1024(0-1023), lo cual indica que puede hacer 1024 divisiones pero la lectura nos muestra que se da desde 0 a 1023.

·       Evaluamos que el convertidor análogo a la salida tiene una resolución menor de 8 bits que básicamente son números que podemos enviar a la salida del convertidor de 0 a 255 utilizando lo que conocemos como PWM.


6. BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA:

  • https://es.wikipedia.org/wiki/Conversi%C3%B3n_anal%C3%B3gica-digital
  • https://www.arduino.cc/en/Tutorial/AnalogInputPins
INTEGRANTES  

  • Corimanya Castelo Laura
  • Pocohuanca Morocco Liz
  • Quenallata Luque Mishel





domingo, 17 de junio de 2018

Laboratorio NRO 14

PROYECTOS CON ARDUINO
FASE 2:

MATRIZ DE LEDS CON ARDUINO

1. OBJETIVOS:

  • Desarrollar la programación en el arduino.
  • Analizar los posibles resultados de cada programación.

2. FUNDAMENTO TEÓRICO

REGISTROS DE DESPLAZAMIENTO



Grupo de celdas de almacenamiento binario adecuadas para mantener información binaria. Un grupo de flip-flop constituye un registro, ya que cada flip-flop es una celda binaria capaz de almacenar un bit de información. Un registro de n-bit tiene un grupo de n flip-flop y es capaz de almacenar cualquier información binaria que contengan bits. Además de los flip-flop, un registro puede tener compuertas lógicas combinacionales que realicen ciertas tareas de procesamiento de datos. En su definición más amplia, un registro consta de un grupo de flip-flop y compuertas que efectúan una transición. Los flip-flop mantienen la información binaria y las compuertas controlan cuando y como se transfiere información nueva al registro.

Forma de introducir la información

  • Serie: Los bits se transfieren uno a continuación del otro por una misma línea.
  • Paralelo: Se intercambian todos los bits al mismo tiempo, utilizando un número de líneas de transferencia igual al número de bits.
Tipos de registros

Existen cuatro categorías de registro de desplazamiento.

  • Registro serie-paralelo



Es aquél que convierte un string (cadena) de datos binarios en formato serie a un formato paralelo donde dichos datos se encuentran sincronizados con una señal de reloj externa. Un uso popular es dentro de la parte de recepción de un MODEM de comunicaciones donde la señal recibida es un tren de bits los cuales deben ser pasados a un formato paralelo a fin de poder ser procesados convenientemente por un microprocesador, el cual sólo trabaja con señales binarias en dicho formato paralelo. Está basado en una cadena de Flip-Flops tipo “D”. Si el RD es de“N” bits, el string de bits se hace entrar por el primero FF y luego de “N” ciclos de reloj se tiene en las “N” salidas de los FFs el dato ya convertido a paralelo.


  • Registro paralelo – serie



Es aquél que convierte un dato en formato paralelo en un string (cadena) de datos binarios en formato serie, donde dichos datos se encuentran sincronizados con una señal de reloj externa. Un uso popular es dentro de la parte de transmisión de un modem de comunicaciones donde la señal recibida proviene de un microprocesador, el cual sólo trabaja con señales binarias en formato paralelo. Dicha información es convertida por el RD en un tren de bits.

Un RD de “N” bits está basado generalmente en una cadena de “N” Flip-Flops tipo “D” para la conversión de datos y un latch de “N” bits para la carga del dato binario al comienzo de cada sesión de transmisión. Respecto a la carga de datos en paralelo, el RD puede ser del tipo “carga asincrónica” ó “carga sincrónica”.



EJEMPLOS:



3. VÍDEO DEMOSTRATIVO:


  • PROMETEC.NET


  • TECSUP.



4. OBSERVACIONES: 

  • Se observo en las conexiones con el arduino, la matriz presentaba una estructura diferente a la antes vista, y que para poder seguir con la conexión, se debía probar que tipo de matriz era.
  • Se logro observar que para la programación de dicho ejercicio, se debía primero saber cuales eran los códigos o números a seguir en el arduino, y posteriormente nombrarlos en la programación.


5. CONCLUSIONES:


  • Logramos desarrollar la programación en el arduino, teniendo incluso ,al inicio unas pequeñas fallas, las cuales nos permitieron analizar más el problema y darle una solución efectiva a este.
  • Analizamos los posibles resultados de cada programación, llegando a la conclusión que el programar y hacer la conexión es bastante interesante y muy sencillo, todo con los conocimientos necesarios.
  • Realizamos el armado en físico del laboratorio , para que asi se pueda visualizar las distintas palabras programadas en el arduino uno.
  • Realizamos la programación en el arduino de las palabras PROMETEC.N y TECSUP :).
  • Identificamos la matriz correspondiente para poder realizar una buena conexión y el programa pueda funcionar con normalidad  .
  • Evaluamos lo programación del programa la cual para formar la palabra TECSUP, tuvimos que reemplazar las letras PROMETEC.N por TECSUP :) , y también añadir algunas como la O ,S y U, mediante la codificación aprendida en clase .

6. BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA 
  • Mandado, Enrique (1996)Sistemas electrónicos digitales. México D.F. : Alfaomega
  • Hermosa A (2004) Electrónica Digital Fundamental. España: Marcombo
INTEGRANTES
  • Corimanya Castelo Laura
  • Pocohuanca Morocco Liz
  • Quenallata Luque Mishel