miércoles, 17 de junio de 2015

LABORATORIO #7


Controlar desde el Arduino, un Display LED de 7-Segmentos, a través de un IC 74HC595, para mostrar un número de 0 a 9, dependiendo de la posición del Potenciómetro.


MATERIALES

  • 1 ARDUINO UNO


  • 1 CABLE

  • 1 PROTOBOARD

  • CIRCUITO INTEGRADO DE REGISTRO DE DESPLAZAMIENTO 74HC595




  • 1 DISPLAY 7 SEGMENTOS


  • CABLES JUMPERS

  • RESISTENCIAS



DIAGRAMAS USANDO FRITZING

  • EN PROTOBOARD

  • ESQUEMA




LABORATORIO #8

Manipular en la pantalla del computador un objeto gráfico usando Processing, con los datos leídos en el Arduino desde un Joystick shield



MATERIALES

  • 1 JOYSTICK SHIELD

  • 1 ARDUINO UNO

  • CABLE


JUMPERS


GRAFICO PARRAFO MANIPULAR EN PANTALLA



PROCEDIMIENTO

1. TOMAMOS LOS ELEMENTOS Y LOS COLOCAMOS EN LA MESA



2. ACOPLAMIENTO DEL ESCUDO CON EL ARDUINO UNO


CODIGO EN ARDUINO






  1.  * En el Procesamiento, utilizando la ONU escudo joystic.
  2.  * Autor : Carolina Hurtado Arboleda
  3.  /
  4. Char Button0 3 , El Botón 4 , button2 5 , button3 ;
  5. void setup ( Vacío )
  6. {
  7.   pinMode ( Button0, ENTRADA      // pin de entrada al Botón 0
  8.   digitalWrite ( Button0, ALTA ;  
  9.   pinMode ( button3, ENTRADA      // pin de entrada al Botón 3
  10.   digitalWrite ( button3, ALTA ;  
  11.   Serial. Comenzar á 9600           // Activamos El Puerto de sèrie baño 9600 bps
  12. }
  13. void loop ( Vacío )
  14. {
  15.   // Envia DATOS Procesamiento un, dependiendo de la accion Realizada en el joystickShield
  16.   si ( analogRead 800 )
  17.    {
  18.       Serial. de impresión ;
  19.    }  
  20.     Otra Cosa si ( analogRead 200 )
  21.     {
  22.        Serial. de impresión ;  
  23.     }
  24.   si ( analogRead 800 )
  25.    {
  26.       Serial. de impresión ;
  27.    }  
  28.     Otra Cosa si ( analogRead 200 )
  29.     {
  30.        Serial. de impresión ;  
  31.     }
  32.    
  33.     si ( digitalRead ( Button0 == )
  34.    {
  35.       Serial. de impresión ;
  36.    }  
  37.    
  38.    si ( digitalRead ( button3 == )
  39.     {
  40.        Serial. de impresión ;  
  41.     }
  42.    
  43.   // ESPERAMOS 10 ms Seguir parrafo el bucle
  44.  de retardo 10 ;
  45. }


CODIGO EN PROCESSING



  1.  * En el Procesamiento, utilizando la ONU escudo joystic.
  2.  * Autor : Carolina Hurtado Arboleda
  3.  /
  4. Importación controlP5. ;
  5. Procesamiento de Importación. de serie. ;
  6. Img PImage ;
  7. int EW2, IH2 ;
  8. int posX, posY ;
  9. int velocity, el ángulo ;
  10. Serie de serie ;
  11. void setup {
  12.   // Tamaño de la Ventana
  13.   Tamaño 800 , 600 ;
  14.   // Carga la imagen en la variable de de
  15.   img = loadImage "spaceship02.gif" ;
  16.   EW2 = . img Anchura ;
  17.   IH2 = . img altura ;
  18.   posX ( Anchura - EW2 ;
  19.   posY ( altura - IH2 ;
  20.   Velocidad ;
  21.   ángulo ;
  22. }
  23. void draw {
  24.   // Limpia la ventana
  25.   fondo ;
  26.   posX = velocity * sen ( radianes ( ángulo ;
  27.   si ( posX - EW2 ) posX = Anchura ;
  28.   si ( posX - EW2 > ancho ) posX = EW2 ;
  29.   posY = velocity cos ( radianes ( ángulo ;
  30.   si ( posY - IH2 ) posY = altura ;
  31.   si ( posY - IH2 > altura ) posY = IH2 ;
  32.   // Dibuja la imagen
  33.   pushMatrix ;
  34.   translate ( posX - EW2, posY - IH2 ;
  35.   rotar ( radianes - ángulo ;
  36.   imagen ( img, - EW2, - IH2 ;
  37.   popMatrix ;
  38. }
  39. void keyPressed {
  40.   si ( clave == CODIFICÓ {
  41.     si ( keyCode == UP )
  42.       velocity ;    
  43.     si ( keyCode == ABAJO )
  44.       Velocidad ;
  45.     si ( keyCode == IZQUIERDA )
  46.       ángulo ;    
  47.     si ( keyCode == DERECHA )
  48.       ángulo de ;
  49.   }    
  50. }


DIAGRAMA USANDO FRITZING

  • EN PROTOBOARD

  • EN ESQUEMA

  • EN PCB





VIDEO DEL FUNCIONAMIENTO




LABORATORIO #9

Controlar desde una interfaz en Processing, el patrón de movimiento y colores en un módulo de 8 LEDs RGB controlado con un Arduino

MATERIALES


  • 1 ARDUINO UNO

  • MODULO LEDS RGB


  • INTERFAZ EN PROCESAMIENTO
  • JUMPERS

  • CABLE USB


PASO A PASO


1. DISPONEMOS LOS MATERIALES EN LA MESA


2. CONECTAMOS LOS CABLES AL ARDUINO





DIAGRAMAS USANDO FRITZIN

  • EN PROTOBOAR

  • EN ESQUEMA
  • EN PCB


VIDEO DEL FUNCIONAMIENTO








LABORATORIO #10

Mostrar un mensaje desplazándose de izquierda a derecha en una matriz LED 8x8 a través de IC MAX7219 enviado desde un Arduino, pueden usar una interfaz Processing.

MATERIALES

  • 1 ARDUINO UNO

  • 1 CABLE USB

  • 1 MATRIZ 8x8 LED

  • 1 INTEGRADO IC MAX7219

  • PROTOBOARD

  • JUMPERS




PASO A PASO

SE PONEN LOS MATERIALES EN LA MESA Y SE MONTA LA MATRIX




DIAGRAMAS EN FRITZING

  • EN PROTOBOARD

  • EN ESQUEMA

  • EN PCB


CODIGO EN ARDUINO


  • Lab 10: Mostrar un mensaje desplazándose de izquierda a derecha en una matriz LED 8x8 a través de IC MAX7219 enviado desde un Arduino, pueden usar una interfaz Processing.
    1. Autor: Carolina Hurtado Arboleda
    2.  
    3. * /
    4. // Siempre tenemos que incluir la biblioteca
    5. #include "LedControl.h"
    6. Texto Cadena = "Ingrese Texto:" ;
    7. / *
    8.  Ahora necesitamos un LedControl trabajar.
    9.  ***** Estos números de pin es probable que no funcione con el hardware *****
    10.  pin 12 está conectado a la DataIn
    11.  pin 11 está conectado a la CLK
    12.  pin 10 está conectado a CARGAR
    13.  Tenemos un solo MAX72XX.
    14.  * /
    15. LedControl lc = LedControl ( 12 , 11 , 10 , 1 ) ;
    16.  
    17. / * Siempre esperamos un poco entre las actualizaciones de la pantalla * /
    18. sin firmar larga DELAYTIME = 30
    19. ;
    20.  
    21. void setup ( ) {
    22.   Serial. comenzar ( 9600 ) ;
    23.   / *
    24.    El MAX72XX está en modo de ahorro de energía en el arranque,
    25.    tenemos que hacer una llamada de atención
    26.    * /
    27.   lc. apagado ( 0 , false ) ;
    28.   / * Establecer el brillo a un valor medio * /
    29.   lc. setIntensity ( 0 , 8 ) ;
    30.   / * Y borrar la pantalla * /
    31.   . lc clearDisplay ( 0 ) ;
    32. }
    33. char abcMAY [ 36 ] = { 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' , 'K' , 'L' , 'M' , 'N' , 'O' , 'P' , 'Q' , 'R' , 'S' , 'T' ,'U' , 'V' , 'W' , 'X' , 'Y' , 'Z' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' } ;
    34. char abcMIN [ 36 ] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' , 'k' , 'l' , 'm' , 'n' , 'o' , 'p' , 'q' , 'r' , 's' , 't' ,'u' , 'v' , 'w' , 'x' , 'y' , 'z' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' } ;
    35. letras byte [ 36 ] [ 5 ] = { { B11111110 , B00010001 , B00010001 , B00010001 , B11111110 } , // A
    36.   { 0xFF , 0x89 , 0x89 , 0x89 , 0x76 } , // B
    37.   { B01111110 , B10000001 , B10000001 , B10000001 , B01000110 } , C //
    38.   { 0xff , 0x81 , 0x81 , 0x81 , 0x7e } , // D
    39.   { 0x7e , 0x89 , 0x89 , 0x89 , 0x89 } , // E
    40.   { 0xff , 0x09 , 0x09 , 0x09 , 0x01 } , // F
    41.   { 0x7e , 0x89 , 0x89 , 0x89 , 0xF2 } , // G
    42.   { 0xFF , 0x18 , 0x18 , 0x18 , 0xff } , // H
    43.   { B00000000 , B10000100 , B11111101 , B10000000 , B00000000 } , // I
    44.   { 0x71 , 0x81 , 0x7f , 0x01 , 0x01 } , // J
    45.   { 0xff , 0x10 , 0x2c , 0x42 , 0x81 } , // K
    46.   { 0x7f , 0xC0 , 0x80 , 0x80 , 0x80 } , // L
    47.   { 0xff , 0x06 , 0x0c , 0x06 , 0xff } , // M
    48.   { B11111111 , B00000100 , B00001000 , B00010000 , B11111111 } , N //
    49.   { B01111110 , B10000001 , B10000001 , B10000001 , B01111110 } , // O
    50.   { 0xff , 0x09 , 0x09 , 0x09 , 0x06 } , // P
    51.   { 0xBE , 0x41 , 0xA1 , 0x81 , 0x7e } , // Q
    52.   { B11111111 , B00010001 , B00110001 , B01010001 , B10001110 } , R //
    53.   { 0x86 , 0x89 , 0x89 , 0x89 , 0x71 } , // S
    54.   { 0x01 , 0x01 , 0xff , 0x01 , 0x01 } , // T
    55.   { B01111111 , B11000000 , B11000000 , B11000000 , B01111111 } , // U
    56.   { 0x3f , 0x40 , 0x80 , 0x40 , 0x3f } , // V
    57.   { 0x7f , 0x80 , 0x70 , 0x80 , 0x7f } , // W
    58.   { 0xE3 , 0x14 , 0x08 , 0x14 , 0xE3 } , // X
    59.   { 0x03 , 0x04 , 0xF8 , 0x04 , 0x03 } , // Y
    60.   { 0xE1 , 0x91 , 0x89 , 0x85 , 0x83 } // Z
    61.  
    62.   , { 0x00 , 0x82 , 0xff , 0x80 , 0x00 } , // 1
    63.   { 0xC2 , 0xA1 , 0x91 , 0x89 , 0x86 } , // 2
    64.   { 0x81 , 0x81 , 0x85 , 0x8B , 0x71 } , // 3
    65.   { 0x18 , 0x14 , 0x12 , 0xff , 0x00 } , // 4
    66.   { 0x8F , 0x89 , 0x89 , 0x89 , 0x71 } , // 5
    67.   { 0x7c , 0x8A , 0x89 , 0x89 , 0x70 } , // 6
    68.   { 0x01 , 0xf1 , 0x09 , 0x05 , 0x03 } , // 7
    69.   { 0x76 , 0x89 , 0x89 , 0x89 , 0x76 } , // 8
    70.   { 0x06 , 0x89 , 0x89 , 0x89 , 0x7e } , // 9
    71.   { B01111110 , B11100001 , B10011001 , B10000111 , B01111110 } , // O
    72. } ;
    73. / *
    74.  Este método mostrará los caracteres para el
    75.  palabra "Arduino" uno tras otro en la matriz.
    76.  (Se necesitan al menos leds 5x7 para ver todo el caracteres)
    77.  * /
    78. void writeArduinoOnMatrix ( Cadena mensajea ) {
    79.   / * Aquí es los datos de los caracteres * /
    80.  
    81.  
    82.  para ( int j = 0 ; j < . mensajea longitud ( ) ; j ++ ) {
    83.    para ( int k = 0 ; k < 36 ; k ++ ) {
    84.  si ( mensajea. charAt ( j ) == abcMAY [ k ] || mensajea. charAt ( j ) == abcMIN [ k ] ) {
    85.  Palabras ( letras [ k ] ) ;
    86.  }
    87.  }
    88.  }
    89.  
    90. }
    91. void Palabras ( listd byte [ ] ) {
    92.   para ( int j = 7 ; j > - 4 ; j - ) {
    93.    
    94.   para ( int i = 4 ; i > - 1 ; i - ) {
    95.   . lc setRow ( 0 , j + i , listd [ i ] ) ;
    96.   }
    97.   retardo ( DELAYTIME ) ;
    98.   para ( int o = 0 ; o < 8 ; o ++ ) {
    99.   lc. setRow ( 0 , O , 0 ) ;
    100.   }
    101.   }
    102. }
    103.  
    104. void loop ( ) {
    105.   writeArduinoOnMatrix ( texto ) ;
    106.  
    107. }
    108.  
    109. void serialEvent ( ) {
    110. mientras que ( de serie. disponible ( ) ) {
    111. texto = de serie. readString ( ) ;
    112. }
    113. }

    CODIGO EN PROCESSING



  • Lab 10 : Mostrar UN MENSAJE desplazándose de izquierda a Derecha del una matriz de 8x8 LED un Través de IC MAX7219 Enviado from ONU Arduino, pueden USAR Una Interfaz de procesamiento.
    1. Autor : Carolina Hurtado Arboleda
    2.  
    3. /
    4.  Procesamiento de Importación. de serie. ;
    5. Importación controlP5. ;
    6.  
    7. CP5 ControlP5 ;
    8. Textarea myTextArea ;
    9. Cadena textValue "" ;
    10. Serie de serie ;
    11. void setup {
    12.   Tamaño 700 , 400 ;
    13.  
    14.   Fuente PFont = CreateFont "arial" , 20 ;
    15.  
    16.   CP5 = nueva ControlP5 ( this ;
    17.  
    18.   CP5. addTextfield "entrada" )
    19.      . setPosition 20 , 100 )
    20.      . setSize 200 , 40 )
    21.      . setFont ( fuente )
    22.      . setFocus ( Verdadera )
    23.      . setColor ( de Color 255 , 0 , )
    24.      ;
    25.                  
    26.  
    27.        
    28.   CP5. addBang "clear" )
    29.      . setPosition 240 , 170 )
    30.      . setSize 80 , 40 )
    31.      . getCaptionLabel ) . alinee ( ControlP5. CENTRO ,. ControlP5 CENTRO )
    32.      ;    
    33.     myTextArea = CP5. addTextarea "txt" )
    34.                   . setPosition 20 , 70 )
    35.                   . setSize 200 , 20 )
    36.                   . setFont ( CreateFont "arial" , 12 )
    37.                   . setLineHeight 14 )
    38.                   . setColor ( de colores 128 )
    39.                   . setColorBackground ( de colores 255 , 100 )
    40.                   . setColorForeground ( de Color 255 , 100 ;
    41.                   ;
    42.                  
    43.     myTextArea. setText "Solo Letras de la AZ y Numeros Positivos"
    44.                     ;
    45.  
    46.      serie = nueva serie ( ESTO, de serie. Lista ] , 9600 ;
    47.   textFont ( fuente ;
    48. }
    49.  
    50. void draw {
    51.   fondo ;
    52.   llenar 255 ;
    53.   texto ( . CP5 CONSEGUIR ( . TextField clase , "entrada" ) . getText ) , 360 , 130 ;
    54.   texto ( textValue, 360 , 180 ;
    55. }
    56.  
    57. pública Vacío claro {
    58.   . CP5 CONSEGUIR ( . TextField clase , "entrada" ) . claro ;
    59. }
    60.  
    61. anular ControlEvent ( ControlEvent TheEvent {
    62.   si ( TheEvent. isAssignableFrom ( TextField. clase {
    63.     serie. Escribir "" + TheEvent. GetStringValue  ;
    64.     }
    65. }


    VIDEO DEL FUNCIONAMIENTO







































      No hay comentarios :

      Publicar un comentario