Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

download Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

of 47

Transcript of Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    1/47

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    2/47

    DISEÑO

     

    PROYECTOS

    BÁSICOS CON

      RDUINO

      íctor

     Santiago anzano

      illafuerte

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    3/47

    DISEÑO DE PROYECTOS BÁSICOS CON ARDUINO

    Víctor Santiago Manzano  Villafuerte

    ISBN:

     978 9942 13 437 0

    IEPI CERTIFICADO No QUI 042567

    Impreso: Editorial  PIÓ XH

    Teléfono:

     2

     421806

    Ambato

    Noviembre

      2013

    Primera Edición

    INTRO U IÓN

    Este libro está pensado

      para

      aquellas

      personas  que

      siempre

    han tenido un apego por la programación de microcontroladores

    pero

      por la

      complejidad

      en el  aprendizaje  de

      estos quedaba

    relegado todos

      sus

      deseos

      por

      incursionar

      en

      este campo.

    Gracias  a la  nueva tecnología  que  está revolucionando  la

    electrónica digital se presenta una solución a este problema de

    aprendizaje en

      cuando

      a la

      facilidad

      del

      lenguaje

      de

    programación y el armado de los circuitos esta tecnología se

    llama

      Arduino.

    Arduino

      se

      basa

      en

      hardware libre

      y

      código abierto

      con la

    posibilidad

      de

      utilizarlo

      sin

      conocimientos previos

      de

    electrónica permitiendo el desarrollo de proyectos electrónicos

    co n

      gran facilidad.

    Además existe gran cantidad

     de software

     para

     la implementación

    y  simulación  de  circuitos electrónicos  y  microcontroladores

    destacando

     Proteus

      VS de

     Labcenter Electronics

    el

     cual

      ofrece

    la

     posibilidad

      de

     simular

      la

     placa

      de

     Arduino.

    Por otra

     parte

     para  la creación de diagramas físicos existe el

    software  Fritzing

    el

     cual permite tener

     un

     esquema

     del

     prototipo

    real  a ser

      implementado.

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    4/47

    DEDI TORI

    A

     Dios por ser mi luz y sabiduría

    A   mis   padres: Manuel y Ro sita.

    A   m i

      esposa:

      Elizabeth a m i  hijo: Josué

    A

     mis hermanos:

     Irene

    Enrique

    Andreita.

    a mi

      cuñado Mauricio

     y a mis

      sobrinos.

    Por   todo  el  amor cariño  y  sobre todo   el

    apoyo  incondicional.

    También a mis  amigos  por  haber

    compartido   su  t iempo y sus  conocimientos.

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    5/47

    ÍN I E

     GENER L

    CAPÍTULO  

    11

    Programando Arduino

      1 1

    1 1  Entornodel IDEdeArduino  1 1

    1 2 Introducción a la programación  15

    1 2 1 Comentarios  18

    1 2 2 Bloques  1 9

    1 2 3 Tipos de datos  19

    1 2 4 Constantes 19

    1 2 5

     Variables

      20

    1 2 6 Operadores aritméticos  20

    1 2 7 Operadores  21

    1 2 8 Funciones 21

    1 2 9 Estructuras de control  22

    1 2 9 1 Sentencias condicionales 22

    1 2 9 2 Bucle o Estructuras de repetición 24

    1 2 9 3 Saliendo de los bucles 26

    1 2 10

     Siringo cadenas de caracteres 27

    1 2 11

     Entradas

     y

     salidas digitales

     y

     analógicas

      28

    1 3 Librerías  29

    1 3 1

     Otras Librerías

      31

    CAPÍTULO II 33

    PROTEUS  33

    2 1  Introducción  33

    2 2

     Entorno Gráfico ISIS 33

    2 3

     Manejo

     Arduino en Proteus  36

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    6/47

    CAPÍTULO

     III 39

    Proyectos  39

    3.1

     Proyectos

     con

     Leds

      39

    3.1.1-EncenderunLed  39

    3.1.2 Encendido Progresivo y Apagado

     de Led 42

    3.1.3 Secuencia de Leds con un pulsador. 44

    3.1.4 Cruce de Semáforos  47

    3.1.5  Contador

     de O a 99 con dos

      display

     de 7

     segmentos

    50

    3.2

     Proyecto

     con

     Frecuencias

      53

    3.2.1

     Zumbador. 53

    3.2.2 Variación de Frecuencias 55

    3 2 3

     Sonidos

      57

    3 3  Proyectos Entradas y Salidas  61

    3.3.1. Control de Temperatura  61

    3.3.2 Control de luz con

     AC 66

    3.3.3 Control de Motores DC 69

    3.3.4Teclado

      72

    3.4 Transmisión serie Protocolo

     de

     Comunicación

      I2C y

    Almacenamiento

     en la

     memoria

     EEPROM  78

    3.4.1 Leer Datos desde Puerto

     Serie  78

    3 4 2

      Protocolo

     de

     Comunicación

      I2C 81

    3.4.3 Transmisión serie del valor de temperatura

    utilizando el Protocolo de Comunicación I2C y

    Almacenamiento en la memoria EEEPROM 84

    Bibliografía 90

    ÍN I E

     DE FIGUR S

    I  ir uuA

     1.1:  INTERFAZ   ID E A R D U I N O

      12

    I   K I I U A   1 2   VENTANA  DE  COMPILACIÓN   15

    FIGURA 1.

     3 :  IDEARDU INO   17

    FIGURA 1. 4 :  FORMATO D E UN A   FUNCIÓN   22

    F IGURA 2. 1: IDE DE

     PROTEUS

      34

    FIGURA  2 2:   INTERFAZ  DE  ISIS  PROTEUS   36

    F I G U R A

     2.3:  INTERFAZ

     ARDUINO MEGA2560  37

    F i G U R A 2

    4:

      CONEXIÓN

     D E

     DISPOSITIVOS CON

     ARDUINO

     MEGA2560

      37

    FIGURA 2

    S:CARGAR

     CÓDIGO  AL

     ARDUINO

      38

    F IGURA 2 6:   S IMULACIÓN   DE  PROGRAMA  E N  SIS  PROTEUS   38

    F I G U R A S

    1:  PROGRAMA ENCIENDE  UN LED 40

    F I G U R A S

    2:   ESQUEMA D E  CONEXIÓN   ISIS PROTEUS  ENCENDER   UN

     L E D

    41

    F I G U R A S 3 :  ESQUEMA CONEXIÓN F ÍS ICA PARA ENCENDER  EL LED 41

    F I G U R A S

    4:

      ESQUEMA

      DE

     CONEX IÓN

     ISIS

      PROTEUS ENC ENDER

     U N L E D 4 3

    F I G U R A S 5 :

      ESQUEMA CONEXIÓN  F Í S I C A   PARA ENCENDER

     EL LED 43

    F I G U R A  3 6:

     E S Q U E M A D E

     C O N E X I Ó N D E

     L A S E C U E N C I A

     D E

     L E D S C O N U N

     P U L S A D O R

      4 6

    F I G U R A  3 7:

     E S Q U E M A

     D E  C O N E X I Ó N

     F Í S IC A S E C U E N C I A

     D E

     L E D S

     C O N  U N  P U L S A D O R   46

    F I G U R A

      3 8 :  C R U C E   E N U N A  I N T E R S E C C I Ó N   4 7

    F I G U R A  3 9:

      E S Q U E M A

      D E

     C O N E X I Ó N

     E N  ISIS

     P R O T E U S

      C R U C E  D E

     S E M Á F O R E S

      4 9

    F I G U R A S 1 0 :

      E S Q U E M A C O N E X I Ó N F ÍS IC A C R U C E S E M Á F O R O S

      4 9

    F I G U R A S 11 :

      E S Q U E M A

     D E

     C O N E X I Ó N C O N T A D O R

      D E L O A L 9 9 5 2

    F I G U R A S

    12 :

      E S Q U E M A

      D E

     C O N E X I Ó N F Í S IC A C O N T A D O R

      O A L 9 9 5 2

    F I G U R A

      3 13:   E S Q U E M A   E N  ISIS  P R O T E U S Z U M B A D O R   5 4

    F I G U R A

      3 1 4 :   E S Q U E M A

      Físico

      Z U M B A D O R   5 4

    F I G U R A  3 15:

     E S Q U E M A

     E N  ISIS

     P R O T E U S V A R I A C IÓ N

      D E

     F E C U E N C I A S

      5 6

    F I G U R A

     3 16:

     E S Q U E M A

     Físico

     V A R I A C I Ó N

      D E

     F R E C U E N C I A S

      5 6

    F I G U R A

      3 17:

      E S Q U E M A

      E N

     ISIS

      P R O T E U S S O N I D O S

      C O N

     L I B R E R Í A

     P I L C H E S H

    6 0

    9

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    7/47

    F I G U R A

     3 18:

     E S Q U E M A

     Físico

      S O N I D O S  C O N L I B R E R Í A P I T CH E S . H  61

    F I G U R A   3. 19:  E S Q U E M A  L M 35 6 2

    F I G U R A   3 . 20:  E S Q U E M A   C O N E X I Ó N   S S P R O T E U S S E N S O R

    T E M P E R A T U R A   6 5

    F I G U R A   3. 21:  E S Q U E M A C O N E X I Ó N   F Í S I C A S E N S O R  T E M P E R A T U R A   6 5

    F I G U R A   3. 22:  E S Q U E M A

      C O N E X I Ó N

      L D R 6 6

    F I G U R A   3. 23:  E S Q U E M A   S S P R O T E U S S E N S O R   D E  L u z  6 8

    F I G U R A   3. 24:  E S Q U E M A   F Í S I C O

      S E N S O R

      D E L U Z 6 8

    F I G U R A   3. 25:  D I A G R A M A  D E C O N E X I Ó N

     CIL293D

      69

    F I G U R A   3. 26:

      E S Q U E M A

      S S P R O T E U S S E N S O R   D E L u z 7 0

    F I G U R A

      3. 27:

      E S Q U E M A   F Í S I C O S E N S O R

      D E L U Z 7 1

    F I G U R A   3. 28:

      E S Q U E M A

      T E C L A D O   7 2

    F I G U R A   3. 29:  I N S E R T A R L I B R E R Í A  K E Y P A D   . H 7 3

    F I G U R A   3. 30:  E S Q U E M A   S S P R O T E U S C O N T R O L   P O R   T E C L A D O . . . .

      77

    F I G U R A

      3. 31:

      E S Q U E M A

      D E

      C O N E X I Ó N   F Í S I C A  C O N T R O L   T E C L A D O

      7 7

    F I G U R A   3. 32:  V I R T U A L S E R I A L P O R T  D R I V E R  78

    F I G U R A

     3 33:

     E S Q U E M A  D E CO N E X I Ó N P U E R T O S E R I E ISIS P R O T E U S  79

    F I G U R A

      3. 34:

      S A L I D A

      D E L

     P U E R T O

      C O M 2

      80

    F I G U R A   3. 35:  E S Q U E M A F Í S I C O D E C O N E X I Ó N P U E R T O S E R I E  80

    F I G U R A S .  36:  E S Q U E M A CO N E X I Ó N D E L S E N S O R C O N A R D U I N O  83

    F I G U R A S . 37 :

      E S Q U E M A

      D E

     C O N E X I Ó N F Í S I CA

      D E L

     S E N S O R

     Y

     A R D U I N O

      83

    FIGURAS 38 :

      ESQU EMA C O N EX IÓN

     ICTC7 8

    F I G U R A

      3. 39:

      E S Q U E M A C O N E X I Ó N

      E N  S S

    P R O T E U S

      8 9

    F I G U R A 3 . 4 0 :  E S Q U E M A   D E

      C O N E X I Ó N

      F Í S I C A D E A R D U I N O Y

    TC74A05 89

    1

    CAPITULO

     I

    Programando Arduino

     

    I Entorno de l IDE de Arduino

    l i l

      E ntorno de P rogramación Integrado ID E )  de A r duino,  es un

    1 1 1  i m ultiplaforma,  disponible para descargar d irectamente para

    W i n d o w s ,

     L inux y M ac O S . E s un a aplicación gratuita desarrollada

    en

      J a v a  y

      deriva

      d e l I D E d e

      Processing

      y

      Wiring, sencilla

      de

    instalar

      y a la vez muy  fácil  de

     utilizar.

     

    la  s ido  diseñado teniendo  en  mente  que sus  usuarios  no son

    e x p e r t o s  desarrolladores y sean capaces de familiarizarse con él

    d e  u n a  manera intuitiva.

    I n c l u y e  un editor de código que resalta la sintaxis, esto es

    resaltando

      las palabras claves y funciones de otro color, además

    permite

      ver si

     están bien

      emparejadas las

     llaves

      de las

      funciones

    de

      condición y ciclos de repetición.

    A d e m á s

     el entorno incluye todo lo necesario para com pilar gracias

      l

      compilador avr-gcc),

      q ue

      trasforma

      el

      código legible

      por el

    se r

      humano a instrucciones legibles para la má qu ina llamado s

    lleneros  objeto), el proceso de com pilación es transparen te para

    el  usuario. Todo  lo que  tiene  que  hacer  es  pulsar  un  botón.  S i

    existen   errores en el código de programación, el compilador

    mostrará

      un

      m ens aj e

      de

     error

      en la

      parte inferior

      del

     IDE

      y

    resaltará  la línea de código que parece tener el problema.

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    8/47

    El código que se desarrolla es C/C++, aunque las funciones que

    gobiernan el program a son setupQ y loop().

    Los archivos  se guardan con la

     extensión

      .ino.

    El

     IDE de  arduino consta  de  cinco menús:  File, Edit,  Sketch,

    Tools, Help

     y una

     barra

     de

     herramientas

      que

     permite verificar

     el

    proceso  de  carga, creación, apertura  y  guardado  de  programas,

    además de la monitorización serie (ver Figura 1.1 .

      ii l

    <

     

    «

     1 . • - • «

     

    Figura  1 1:  líe faz IDE  rduino

    1. Barra de Menús: Son cinco m enús: File, Edit, Sketch, Tools,

    Help. Los menús se activan cuando

     existe

     una tarea que se pueda

    realizar en este.

      2

    Sketch

    Tools

    Copy for Discourse  : Copia el código con un

    formato

     para incluirlo

     en

      foro.

    Copy

      as

      H T M L :  Copia el código con un

    formato

     HT ML pa ra incrustarlo

     en una

     página

    Web.

    Verify/Compile:  Comprueba errores  en el

    código.

    Import Library:  Inserta una l ibrería al

    program a, incluyendo la sentencia include en

    el código.

    Show

      Sketch Folder: M uestra

      la

     carpeta

     en

    donde

     se

     almacenan

      los

      programas

    A dd

      File. . .:  Inserta un archivo  fuente  al

    programa.

    Auto

      Format:

      ordena en código.

    Board:

     Selecciona la versión de arduino que

    se  está usando.

    Serial Port:  En  este menú  se  presentan  los

    puertos serie real o virtual.

    13

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    9/47

      Burn Bootloader: Graba un gestor  de

    arranque en el arduino.

    2.

      Barra

      d e Herr am ientas: Con este menú se permite

    verificar,  cargar y controlar el funcionamiento del

    programa.

    Comprueba

     los errores  del  código.

    Compila el código y lo vuelca en la placa E/S de

    Arduino.

    Crea un nuev o archivo.

    Muestra todos los programas que se encuentran

    en

     el

      Sketchbook

    Guarda el

     programa.

    Permite comprobar el funcionamiento del código

    por medio del puerto de Serie.

    3.  Editor  de código:  En este espacio  se escribe  el código.

    4.

      Área

      de

      mensajes: Espacio

      en

      donde

      se

      indica

      si la

    compilación del program a fue exitosa o indica la línea en

    donde puede existir un error.

    5.  Consola: Área en donde se presenta el lugar en el que se

    guardó el  programa compilado.  En el  caso  de  existir

    errores  en el código  del programa muestra  las  posibles

    causas de

     éste ver Figura

     1.2).

    14

      o n

    ompl

    C;\Uaers\Sanciago\ílppData\Locil\l«ip\bttild3i38BlíJ21441lifli?l.^

    \ l n c e n d e  r _ L e d . c p p h «

      i n a r y

      s k e t c h   s i z e

    1 63 2   f o f   b y t e Miiací

    Figura

      1 2 Ventana de Compilación

    1 2

     Introducción a la programación

     

    ,a

     estructura básica del

     lenguaje

     de programación de A rduino se

    compone

     de dos

     partes. Estas

      dos

      funciones

     son

     vitales para

     el

    liincionamiento

     del programa.

    void

      setupQ

    sentencias;

    15

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    10/47

    Curación

    void loopQ

    sentencias;

    En donde

     setupQ

     es la parte encargada de recoger la

     configu..^*^*

    y loopQ es la que contienen el programa que se ejecutará

    cíclicamente.

    Ambas  funciones   son necesarias para que el programa  trabaje.

    La función de configuración setup ) debe contener la declaración

    de las variables, establecer el estado de los pins, inicializar librerías,

    etc.

     Es la

     primera

      función   a

     ejecutar

      en el

     programa,

      se

     ejecuta

    sólo una

     vez,

     y se

     utiliza para

     la

     configuración

     de la

     comunicación

    de

     entrada/salida y serie entre otras.

    La  función   bucle loop) contiene el código que se ejecutará

    continuamente lectura

      de

      entradas, activación

      de

      salidas, etc)

    Esta función  es el núcleo de todos los programas de Arduino y la

    qu e realiza la mayor parte del trabajo.

    Para realizar la programación se abre el IDE de Arduino, que

    por defecto abre un archivo en blanco ver figura

     1.3)

    16

      MI  hjullUJl Arruino

    r t i b Ü l Q i

    Figura 1 3: I Earduino

    I n ra

     compilar

      el

     programa pulsar

     en el

     botón

      ,

     sino existe

    errores deberá presentar  en la   parte inferior  un  mensaje  de

     on Compiling

    I

      í la

     consola indica

      la  dirección en la  cual se

     guardó

      el

      archivo

    compi lado

     con la extensión

     .hex

      y el tamaño del fichero. Copie

    17

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    11/47

    este archivo en una carpeta en donde se tenga el proye cto a

    desarrollar; en el caso de que no se visualice esta dirección dirijase

    a  File >Preferences  y activar la opción com pilation.

    En este capítulo se describirán los elementos más básicos y

    esenciales para comenzar

     a

     programar.

    1.2.1 Comentarios

    Los com entarios no son considerados com o líneas de código en

    el program a, sirve para docume ntar ciertos aspectos importantes.

    Existen 2 tipos de com entarios:

    El comentario de bloque, abarca todas las líneas contenidas entre

    los símbolos / y  /, Ejemplo:

    / Hola aquí se com enta acerca del programa,

    y del proceso que realiza cada línea.

     

    Línea

      de

      comentario:

     con los

      símbolos

      // se

     comenta

      una

      línea.

    Ejemplo:

    // Comentario para una línea.

      8

    1.2 .2 H i n q u es

    I a i a

     agrupar

      un

     conjunto

      líneas se utiliza los  símbolos

    1.2.3  Tipos

     de

     datos

     

    í n

      la programación de

      arduino existen diferentes tipos

     de

     datos:

      Hyte.

     Almacena 8 bits.

      I n t . Almacena 16 bits.

    • I ,ong. Almacena 32 bits.

    •  Float.

     Almacenado 32 bits.

      Arrays

      Alamecena varios valores de un mismo tipo, el

    primer valor se encuentra  en índice O

    1.2.4

     Constantes

    Son

      variables

     a las que no se puede modificar el valor. Ejemplos:

    true/false

    HIGH/LOW

    INPUT/O UTPUT

    19

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    12/47

    1.2.5  Variables

    E j e m p l o s :

    Es una porción de mem oria que almacena valores de acuerdo al

    tipo de declaración y que es conocido en el programa por un

    determinado  identificador

      y por lo

      tanto puede variar

      en el

    recorrido

      del

     programa.

    Una variable puede tomar una  infinidad  de valores pero en un

    mom ento particular tendrá uno solo.

    Ejemplo:

    int p; // variable p disponible para todo el programa

    void setup() {

    void loop()

     {

    for (int i=0; i

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    13/47

      e de  ¡d

     ruñe

     ion

    inf  Int  nt y {

    P., ,s, r,*4r«

    25»

     

    ívivr. .ik:

    retum

    pt,s rsc.ctr.

    Figura   1 4:  ormato  de una función

     

    1 2 9 Estructuras de control

    Son aquellas estructuras que permiten modificar el flujo de

    ejecución

     del

     programa,

     es

     decir,

     el

     orden

     en el que se

      ejecutan

    las  sentencias.

    1 2 9 1 Sentencias condicionales

      entencia

      if

    Ejecuta un código si se cumple la condición y otro distinto si no

    se  cumple

    if (condición)

    //

     código

     si se

     cumple

    2 2

    ilie

     

    código

      si no se

     cumple

      e n t e n c i a switch

      >

    |

      c i

     id  icnd o d el valor  de una variable  ej ecutará  un  código

     distinto

    : ¡ \ h  (var)

      {

      I  i j

     ce

     uta si var es 1

    break;

    case

      2 :

     

    Ejecuta

      si var es 2

    break;

    default:

      si  nada concuerda, default

     

    defau l t

      es  opcional

    23

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    14/47

    1 2 9 2

      ucle o

     Estructuras

     de

     repetición

    Una estructura de repetición indica que se va a realizar varias

    veces un mismo proceso existiendo varias maneras de representar

    una

     estructura de repetición dependiendo mucho de 3 parámetros

    principales  como son:

      el iniciar un

     contador,  tener

     un

     número

    tope

     de

     repeticiones

     de proceso,

     parámetro modificador

      de uno

    de

     los parámetros anteriores los mismos que deberán actuar como

    elementos para comparación o condición.

    Existen

     3

     tipos

     de

     bucles:

      ucle  for

    La  declaración for es usada para repetir un bloque encerrado

    entre llaves.

      Un

      incremento

      de un

      contador,

      es

      usado

    normalmente para aumentar

     y

     terminar

     con el

     bucle.

     La

     estructura

    fo r

      es muy útil para la mayoría de las operaciones repetitivas, y

    habitualmente se usa para operaciones con vectores, para operar

    sobre conjuntos

     de

      datos/pines.

    El bucle for tiene tres partes o argumentos en su inicialización:

    for  inicialización ; condición ; incremento) {

    //sentencias;

    La inicialización, se

     produce sólo

      la

     primera vez. Cada

     vez que

    se

     va a repetir el bucle, se revisa la condición: si es cierta, el

    bloque

     de

      funciones

      (y el

     incremento

     del

     contador)

     se

      ejecutan,

    24

    )

      l i «

      ondu- ión vu el ve a ser

     comprobada

     de

     nuevo.

     Si la

     condición

    i .  l . i l ; ; : i ,  el  bucle termina.

    l ' i

      i

      l e m p l o :

    l » i  ( M I

    i  );i

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    15/47

    do

    {

    //sentencias

    } while  condición);

    1 2 9 3

      Saliendo

     de los

     bucles

    Se

     puede salir de un ciclo usando las siguientes

      instrucciones:

    •break //

      sale

     del

     bucle

    •continué // salta el paso actual del bucle

    •return  //  sale de la  función

    •gotolabel  //salta

     a la etiqueta label

    for inti=0;i0)

    continué;

     // Se

     salta

     el

     código

     del

     resto

     de la

      iteración

    else

    break;

     //sale

     d el bucle

      2 O

     Siring

     o

     c den s

     de

     c r cteres

    l n n i

      l a r i l i l a r e l   trabajo concadenas

     d e caracteres, existe

     laclase

    S l i

      n i ) 1 , .  T iene  lo s siguientes métodos

    F u n c i ó n

    c o m p á r e l o ] )

    c o n c a t ( )

    r n i l s W i l h O

    c i j i i a l s f )

    t ' ( | i i ; i l s ] ¡ ' , i i 0 r c C a s e ( )

    n i i h O Í O

    l a s t l n d e x O f O

    I c n g l h O

    i ' c p l a c c ( )

    s l a r t s W i l h O

    s i i b s l r i n g O

    l t i L o w c r C a s e ( )

      o l l p p c r C a s e ( )

      i i i n )

    D e t a l l e

    C o m p a r a

      d o s

      c a d e n a s

    C o n c a t e n a

    C o m p r u e b a   s i  t e r m i n a

      p o r . . .

    C o m p r u e b a s i s o n i g u a l e s

    C o m p r u e b a i g u a l d a d i g n o r a n d o m a y ú s c u l a s y

    m i n ú s c u l a s

    D e v u e l v e l a p r im e r a p o s i c i ó n d e l c a r á c t e r q u e

    s e p a s a c o m o a r g u m e n t o

    D e v u e l v e l a ú l t i m a p o s i c i ó n d e l c a r á c t e r q u e l e

    p a s a m o s

    L o n g i t u d   d e l a   c a d e n a

    R e e m p l a z a

    C o m p r u e b a s i e m p i e z a p o r

    D e v u e l v e

      u n f r a g m e n t o d e l a

      c a d e n a o r i g i n a l

    C o n v i e r t e

      a

      m i n ú s c u l a s

    C o n v i e r t e   a  m a y ú s c u l a s

    E l im i n a l o s e s p a c i o s i n i c i a l e s y f i n a l e s

    27

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    16/47

    1 2 11

     Entradas

     y salidas

     digitales

     y

     analógicas

    Fundón

    pinMode p in , m ode )

    digi talRead pin)

    digitalWrite pin, valué)

    analogRead pin)

    analogWrite pin, va lué)

    Detalle

    C o n f i g u r a r

      un p in pa ra com por ta r s e com o

    entrada

      INPUT)

     o

     salida OU TPU T).

    Esta   f u n c i ó n   se utiliza dentro de  s e t u p ) ,  por

    d e f e c t o

      en arduino todos los pines es tán como

    salidas.

    E j e m p l o

    pinMode p in ,

     OUTPUT);

    Devuelve un valor en a l to

      HIGH)

      o en   b a j o

     L O W ) ,

      de un p ing

      digital determinado.

    E j e m p l o :

    =

     digita lRead Pin);

    Introduce un nive l a l to HIGH) o   b a j o   L O W )

    en el pin digital especificado.

    Ejemplo:

    digitalWrite pin,HIGH);

    Devuelve

      un

      valor desde

      el pin

      analógic

    señalado con una resolución de 10 bi ts . Es ta

    f u n c i ó n

      solo   f u n c i o n a

      en los

     pines analógicos

    E l   valor resultante   e s u n   entero   d e O a   1023

    Los pines analógicos ,

      a

      diferencia

      de los

    digitales no necesitan declararse previamente

    com o INPUT  o  O U T P U T .

    E j e m p l o :

    = digita lRead Pin);

    Ésta   f u n c i ó n   solo puede ser usada en pines

    analógico. Escribe

      u n

      dato pseudo-analógico

    utilizando   P W M ,

      e l

     dato está

      e n e l

     rango

      O -

    255,   e l O  genera   O V y e l 2 5 5   genera  5 V e n l a

    salida  del pin especif icado.

    Ejemplo:

    analogWrite pin, v );

    m l l l l i O

    F u n c i o n e s

     d e t i e m p o y

     m a t e m á t i c a s

    n i » )

      ? / £ > '   • . • i i >   v ' j -

    0

    i . y ) ,   max x , y)

    Permite

      real iza

      u na   pausa  en e l  programa,

    especif icando  en  t iempo  en

     mi l i segundo.

    Existe  u n  error  en   esta  función,  y a que  cuando

    se

      ejecuta es ta  instancia  produce

      que e l

    programa   se   detenga excepto  la s

    interrupciones)

      con lo

      cua l

      no lee

      sensores,

      n i

    real iza cá lcu los

     en e l  t iempo especif icado.

    Para t iempos mayores   a  decenas  d e

    mil isegundos

     no s e

      recomienda es ta función.

    Retorna

      u n

     va lo r

     e n

     m il isegundos

      qu e

      Arduino

    se

      encuentra ejecutando  el  programa.

    Retorna

      el

      m í n i m o

      y el  máximo entre  su s

    parámetros .

    Funciones

      de

     generación

      aleator ia

    nl jirrd)

    u »

      ) ,

      i : i i i d o m ( m i n ,

     m a x )

    Determina un valor de inicio como e l punto de

    part ida para  l a   f u n c i ó n

      r an d o m Q .

    Entrega   u n

      valor aleatorio   e n t r e

      e l

      rango

    indicado.

    P u e r t o

     s e r i e

    n l . b i H ¡ n ( r a te )

    i i l . p r i n t l n ( d a t a )

    u l . r e a d Q

    i i l . a v a i l a b l e O

    P e r m i t e

      e l u s o d e l

      p u e r t o s e r i e

     y

     d e t e r m i n a

     l a

    v e l o c i d a d   d e   t r a n s m i s i ó n .

    P e r m i te e n v i a r d a t o s  a l   p u e r t o s e r ie

    L e e l o s   d a t o s   d e l  p u e r t o

      s e r i e .

    D e v u e l v e

      e l

     n ú m e r o

      d e

     c a r a c t e r e s p r e s e n t e s

      e n

    el   p u e r t o

      s e r i e .

    28

    l i

     Librerías

    I

      1 1 1 1 1 1

     h r c r í a n o e s m á s q u e u n   c o n j u n t o   d e códigos empaquetados

    v   1

      lo s

      c | i i e podemos llamar desde nuestro programa,

      f a c i l i ta n d o

    t i

      d e s a r r o l l o

      d e l programa, puesto  q u e aprovecha  u n código  y a

    ixiltente.

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    17/47

    Para usar se tiene que im portar a nue stro código con la palabra

    reservada

      include 

    Si se requiere instalar una librería hay q ue descargarla y copiarla

    en

     la carpeta  libraries del directorio, don de se guarda n nuestros

    sketches  de  arduino.

      ibrerías básicas

    L i b r e r í a s

    E E P R O M

    E t h e r n e t

    F i r m a t a

    L i q u i d C r y s t a l

    S D

    S e r v o

    S P I

    S o f t w a r e S e r i a l

    S t e p p e r

    W i r e

    D e t a l l e s

    P e r m i t e

      l e e r

      y

      e s c r i b i r

      e n   a l m a c e n a m i e n t o

    p e r m a n e n t e

    P e r m i t e c o n e c t a r a i n t e r n e t .

    C o m u n i c a c i o n e s u s a n d o

      u n

      p r o t o c o l o

    c o n c r e t o .

    P e r m i te e l m a n e jo   d e   L C D .

    L e c t u r a y e s c r it u ra e n t a r j e t a s S D .

    C o n t r o l d e S e r v o s .

    C o m u n i c a c i o n e s   c o n  d i s p o s it iv o s u s a n d o  S P I.

    P e r m i t e   c o m u n i c ac io n e s  ser i e  p o r o t r o s p i n e s .

    C o n t r o l d e m o t o r es p a so a p a s o .

    c o m u n i c a c i o n e s I 2 C

     

    O l í a s

      ibrer ías

    M

    r r

    n i i i i i i c i i l i o n

      ( n c t w o r k i n g

     a n d  p r o t o c o l s ):

    e n g c r

    S o f l S c r i i l

    I V I r e

    v c y b o i i r d

    i l c

      l y i c s s i i g c  S y s t e m

    l lI J M o b l lc

    i l i i l i m

    K i i n l r o l

    P r o c e s a   m e n s a j e s  d e   t e x t o   p r o v e n i e n t e s d e l

    P C .

    V e r si ó n m e j o r a d a

     d e

      S o f t w a r e S e r i a l .

    P e r m i t e   la   c o m u n i c a c i ó n   c o n

      d i s p o s i t i v o s

      d e

    D a l la s (f a b r i c a n t e d e d is p o s i t iv o s e l e c t ró n i c o s )

    q u e u sa n e s t e p r o t o c o l o .

    L e e c a r a c te r e s d e s d e u n  t e c l a d o  P S 2 .

    E n v i a r m e n s a j e s e n t re a r d u in o y e l P C .

    E n v í a m e n s a j e s   d e   t e x t o   y

      e m a i l

      d e s d e e l

    m ó v i l ( v ía c o m a n d o s A T ) .

    S e r v i d o r

      w e b

     p a r a u s a r

      c o n

      a r d ui n o E t h e r n e t .

    E n v í a s e ñ a l e s

      d e l

      p r o to c o l o X I

     0

      u s a n d o

      lo s

    c a b l e s e lé c t r ic o s d o m é s t ic o s .

    C o m u n i c a c i o n e s X B e e s

      e n

     m o d o A P I.

    C o n t r o l r e m o t o d e o t r o s A r d u i n o s p o r m e d i o

    d e  c o m u n i c ac io n e s   ser i e

    S r i m l n g :

    (   i i | i u c i l i v c   S e n s i n g

    D v b o u n c c

    P e r m i t e u s a r d o s e n t r a d a s c o m o s e n s o r s

    c a p a c i t i v o s .

    P e r m i t e u s a r a n t i - r e b o t e

      e n

      e n t r a d a s

    l ' u i i l u l l í i s \s

    I m p n r n - t l   L C D

     l i b r a r y

    ( L C D

    M e j o r a   la

     l ib rer ía

      L C D

      l i b r a r y

    P e r m i t e m a n e j a r L C D s g r á f i c a s b a s a d a s

    c h i p

     K S 0 1 0 8  o

      e q u i v a l e n t e .

    en   e l

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    18/47

    L e d C o n t r o l

    L e d D i s p l a y

    M a n e j a

      m a t r i c e s d e

      l e d s

      c o n c h ip s M A X 7 2 2 1

    o M A X 7 2 1 9 .

    C o n t ro l a p a n t a ll a s b a s a d a s e n H C M S - 2 9 x x

    c o n  s c r o l l.

    M o to re s y P W M :

    T L C 5 9 4 0

    P e r m i t e

      e l u s o d e l

      c h i p   T L C 5 9 4 0 1 6 c a n a l e s

    c o n P W M d e 1 2 b it PW M .

    M a n e j o   d e l t ie m p o :

    D a t e T i m e

    M e t o

    M s T i m e r l

    A y u d a

      c o n e l

      t r a b a j a r

     c o n

      f e c h a s

     y

     h o r a s .

    A y u d a a m e d i r in t e rv a l o s t e m p o r a l e s f i jo s

    P e r m i te e j e c u ta r t a re a s c a d a N m i li se g u n d o s

    ( u s a 2 t e m p o r i z a d o r e s ) .

    L i b r e r í a  S e r v o

    P e r m i t e   c o n t r o l a r   h a s t a   1 2   s e r v o s   e n u n   a r d u i n o   U N O y 4 8 e n u n   a r d u i n o  M e g a

    a t t a c h ( p i n )

    w r i t e ( a n g u l o )

    r e a d O

    a t t a c h e d O

    d e t a c h O

    C o n e c t a e l   o b j e t o s e r v o  c o n e l p i n d a d o .

    E s t a b l e c e

     la p o s ic ió n d e l

     s e r v o .

    D e v u e l v e

     la p o s i ci ó n d e l

     s e r v o .

    C o m p r u e b a  s i

     e s t á  c o n e c t a d o .

    D e s c o n e c t a  e l p i n d e l  s e r v o .

    C P I T U L O

      II

    P R O T E O S

      I

      I n t r o d u c c i ó n

    32

    l i o i r u s

      es un  software para  el  diseño  de  circuitos eléctricos  y

      •  I r r  i  m i l icos

     con los

      cuales

     se

     pue de realizar proyectos com pletos

    un

      sle

     ám bito.

     Proteus

     es

     desarrollado

     po r

     Labcen ter Electronics

    i | i n -

      ronsta

     de los dos

     program as principales: Ares

      e

     Isis

    • \

    I

    S

      Advanced

     Routing

     and

     Editing

     S oftware)

     es la

     herram ienta

    d i

      r u m i ad o , ub icación

     y

     edición

     d e

     componentes,

      se

     utiliza para

    l n   I , i l n

     icación

     de placas de  circuito im preso.

    I .   I

    i

      ( 1 1 1 1  c 1 1

     i

     gent S chematic Input S ystem) perm ite diseñar el plano

     

    l <

     •  1 1  i ro de l circuito que se  desea realizar con  componentes  m uy

    v   i i i , i d o s .

    I

      u . i   de

      las

     prestaciones

     de

     Proteus, integrada

      con

      I S I S ,

     es V SM

    i

      V n

      1 1   u i l

     S ystem

     M odeling), con la cual se puede sim ular en tiem po

    i   r a l l óe l a s  las  características  de  varias  f a m i l i a s  de

    m u   u n  on iroladores, así com o  la  simulación d e  arduino.

    /

      n I o n i o  Gráfico

      S S

    I   u

      i

      , 1 . 1   he r r a m ie n ta  se

      p ue d e n

      crear

      diseños

      de

      circuitos

      l i

      i

      i i o i i i i   os y se  puede probar  su  funcionam iento gracias  a la

    • • m m l i u

      i o n .

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    19/47

    En

     este libro

     se

     explicará

     de

     manera rápida sobre

     la

      utilización

    de  esta herramienta así como la colocación de componentes en

    la  hoja   de

      trabajo.

    Para

     comenzar

      se

     debe abrir

     el

     programa Proteus desde

      el

     icono

    ISIS presentándose una ventana con un entorno de trabajo  como

    el

      que se

     indica

      en figura

     2.1 conformado

     por

     varias barras

      de

    herramientas.

    I -   V K I N T A N A

     DE

     VISTA PREVIA vista previa d el circuito o

    •   l i  los

      e l emen tos

     del   diseño.

      SULKCTOR   DE  OBJETOS en  esta ventana aparecerán

     

    > : ;

     com ponen tes

     y

     otros elementos disponibles dependiendo

      l e |

      m o d o

     seleccionado

    y

     desde allí podremos elegirlos para

    co loca r lo s en el

     diseño.

     

    lt > K I E  DE

     HOJA la  línea de  color azul determina e l límite

    de

      la  hoja   de trabajo;   debemos colocar  el circuito dentro  de

      VENTANADE EDICIÓN es la ventana donde dibujaremos

    l o : c i r c u i t o s  electrónicos colocando  lo s  componentes

    i in conectándolos

    y

     agregando también otros instrumentos

    v

      herramientas.

    J   1 1 A  K  RA DE

     ESTADO

    aquí aparece información útil

      de lo

    i | i i c   tengamos

     seleccionado

      o del

      elemento sobre

      el

     cual

      se

    encuentre  el

     cursor

      de l

     mouse

      en ese

     momento.

    i

    I t AKRA D E

     COORDENADAS en esta barra podemos  ver

    l . i s   coordenadas donde

      se

      encuentra

      e l

      cursor

      en

      todo

    i

     noinento mientras  lo  desplazamos por la ventana de edición.

    /  S IMULAC IÓN :  aquí podemos encontrar  lo s  controles  de

    simulación

    Figura 2 1: I E E PROTEUS

     

    5

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    20/47

    2 3 M anejo Arduino en  Proteus

    Para la  simulación abrimos el ISIS de Proteus,  el  cual muestra

    una pantalla como la que se

     indica

     en la figura 2.2

    1  J :   i.

    i

      UJUJU.1..1

    Figura

      2 2:

     Interfaz

      de

     ISIS

     Proteus

    En la

     paleta

     de

     dispositivos, agregar

     el microprocesador a

     utilizar,

    en  este caso es el ardu ino MEGA 2560, com o indica en l figur

    2.3

      6

    p [»  

    t  _

    l í i r t f t t

      „

      - f e »

    i^^Mt

    s « i » f e u «   «« ¿i,;?

    Figura   2 3:  Interfaz Ardu ino MEGA 2560

      > I .

    misma

      forma como

      se

      añadió

      el

      arduino,

      se

      tiene

      que

    Idlcionar los diferentes dispositivos a utilizar en el circuito, como

    II

      i n d i c a

      la figura  2.

     4.

     

    Figura

      2 4:

     Conexión de

     d ispositivos

     c on

     Arduino  MEGA2560

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    21/47

    Cargue  e l programa en el micro haciendo doble click sobre el

    micro

     de

     arduino

     y

     seleccionar

      el

      archivo.

    Figura  2 5:

     Cargar

      Código

     a l

     Arduino

    Para

     comprobar

     el funcionamiento del

     programa pulsar play

    >¡? í

    QX QI

    • • • • • • •   i .;«»

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    22/47

    una pausa en este estado se utiliza la función   delay

    la

     cual espera la cantidad de  milisegundos indicado.

    delay 5000);

    El

     programa completo

      deberá

     quedar como

      se indica en la

    Figura  3.1

    í C  £ i

    ,L«i

     t   feíih- a 1

     

    S

    » • *«4i«

    Wi

      Í

    „ ,= {33603;

    i

    t

     

    1

     I

     

    Figura 3 1:

     Programa enciende

     un Led

     

    1   i l i i e i m i   de  conexión del circuito en  ISIS Proteus se muestra

    n ur

    3.2 y la

     conexión

      física se

     nuestra

     en la figura 3.3

     • «•« 3 2:  Esquema de

     conexión ISIS

      roteus

     encender

     un Led

    Figura

      3 3

      squema conexión

     física

     para encender

     el led

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    23/47

    3 1 2 Encendido Progresivo y  pagado de Led

    El

     programa va encendiendo progresivamente un

     led

     y luego lo

    va apagando poco a poco.

    El

     código

     del

     programa queda

     de

     esta manera:

    intledPin=9;

    void setup () {

    pinMode(ledPin,OUTPUT);

    }

    voidloopQI

    for(inti=0;i0;i—){

    analogWrite ledPin,i ;

     

    delay lOO ;

    Tcjíf^J.;-: r̂ ? »-

    l£O I _

    • •  »:-«

      ,L»J.«•*»»(

    Figura 3 4: Esquema de conexión ISIS Proteus encender un Led

    Figura

      3 5:

     Esquema conexión física para encender el led

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    24/47

    3 1 3   Secuencia

     de Leds con un

     pulsador

    El

     programa enciende

     los

     leds

     de

     manera

     secuencial,

     como

     si

    se

     tratara de las luces del auto fantástico, siempre que se

    presione el pulsador.

    El

     código para

     su

     funcionamiento

     es el

     siguiente:

    int leds[]={5,6,7,8}; // Vector de puertos de salida

    intpulsador=9;

    inttiempo-20;

    int

     n=0;

    void

      setupQ

     {//comienza la configuración

    for  n=0;n

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    25/47

    Figura 3 6:

     Esquema

     de

     conexión

     de la

     Secuencia

     de

     leds

    con un pulsador   ~ 3 7: Esquema  d e conexión  física Secuencia de leds

    con u n pulsador

      6

    I  

    Hice

      d e

      Semáforos

    l   p i o i . r a i n a

      controla

      lo s  semáforos

      para

      el  cruce  e n u n a

    iel

     sección.

    Figura

     3 8: Cruce

     en una

      intersección

    I

      I

     i ó c l i g o

     para

      su

      funcionamiento

      es el

      siguiente:

      U  x

     

    ={2,3,4,5,6,7};

    m i  irmpo=3000;

    m i

      l n . i n p o l = 5 0 0 ;

    \ t i i d

     setup(){

    l » > r ( i n t n = 0 ; n < 6 ; n + + )

    I

    pinMode(x[n],OUTPUT);

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    26/47

    void

     loop )

    {

    digitalWrite x[0],HIGH);

    digitalWrite x[3] HIGH);

    delay tiempo);

    digitalWrite x[3],LOW);

    digitalWrite x[4],HIGH);

    delay tiempol);

    digitalWrite x[4],LOW);

    digitalWrite x[5],HIGH);

    digitalWrite x[0],LOW);

    digitalWrite x[2],HIGH);

    delay tiempo);

    di

    g

    italWrite x[2],LOW );

    digitalWrite x[l],HIGH);

    delay tiempol);

    digitalWrite x[l],LOW);

    digitalWrite x[5],LOW);

    48

      i i   « I   p i o i c u s  insertamos las librerías  de  arduino mega2560  y el

      M i l u -   h j J U s .

    I

      luura  3 9: Esquema  de conexión en   ISIS Proteus Cruce de Sem áfores

    Figura  3 10: Esquema conexión  física  Cruce Semáforos

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    27/47

    3 1 5 Contador

     de O  a 99 con dos displ y de 7 segmentos

    El  programa cuenta  del O al 99   utilizado  dos   displays  de 7

    segmentos.

    El código para su  funcionamiento es el  siguiente:

      >

    in t disp[] =  {2,  3 , 4 ,

      5,

     6 ,7 ,8};

    in t displ[]

      =  {22,23,24,25,26,27,28};

    bytedigi ts[10][8]=

     {

    / / a b c d e f g .

    {   1, 1, 1, 1, 1, 1, O, 0},  // O

    { O, 1, 1, O, O, O, O, 0},  // 1

    {  1, 1,0,  1,

     1,0, l , 0} ,/ /2

    { 1, 1, 1,

     1,0,0,

      1,

     0 } , / / 3

    { O, 1, 1,

     0,0,

      1, 1,

     O } , / /

      4

    { 1, O, 1, 1, O, 1, 1,   O } , / /  5

    {  1,0,  1, 1, 1, 1, 1, 0 } , / / 6

    {1,1,  1, O , O, O, O,

     0},

      // 7

    { 1, 1, 1, 1, 1, 1, 1,  0 } , / / 8

    {   1, 1, 1, 1,0,  1, 1, 0}  II

    I i

      u n í

      x l  0 ;  x l 

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    28/47

    Figura  3 11: Esquema   de  conexión Contador del O al 99

    Figura 3 12 Esquema

      de

     conexión

      física

      Contador

     O al 99

    5

    »

      Proyecto   con  recuencias

    \ l \r

     

    I

      p i o j ' . i í i m a

      consiste

      en

      generar

      un

      tono, como

      una

      señal

      de

     

    I N O .

      n   i ; ; U programa  se  utiliza  la  función tone  ( ), en la  cual  se

     

    i

      i l ilr cc el pin de  salida,  la  frecuencia

     y

      la  duración de  esta.

    i j ' . o   para su funcionamiento es el  siguiente:

      lil

    ( " K m i   ();i < > ,  (.60,

      100);

     

    I .

      \ ,\ \

    / . S ) ;

    53

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    29/47

    Figura

      3 13: Esquem a

     en

     ISIS Proteos Zumbador

    Figura 3 14:

     Esquema F ísico Zumbador

    5

    . . ¿  ariación de  recuencias

    I   u

      . 1   u n   B u c l e   d e   Re p r o d uc c i ó n   d e   so n i d o s ,   en el que la

    l u í i i i - n c i a   sea  cada   v ez   menor   y   aumente   la   longitud,   es   decir:

     

    1 1 .

     

    ( I i

     n,

      I  recuencia_baj

     a,longitud_aumenta)

    ||  ü i

      > < l i ; ; o   para

     su

    funcionamiento

     es el

     siguiente:

    n i l

      1 m S o n i d o

     =11;

      i i i d   :,ckip )

      {

    I

      n i  iMode(PinSonido,OUTPUT);

     

    \ |   loopQ   {

    m i

      l i ccuenci a

      =   4978;

    m i

      lon gi tu d

      = 3 0 ;

    \ \ l n l e   (frecuencia  > 3 1 )

     

    lone(PinSonido,   frecu encia, longitud);

    dclay(longitud);

    l iccuencia   =

      frecuencia

      - 95;

    lon gi tu d

      =

      longitud

     +10;

     

    hoTonc(PinSonido);

    d i l u y ( 2 0 0 0 ) ;

    55

    t  onidos

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    30/47

     R Í

     

    Figura 3 15:

     Esquema

    en

      ISIS Proteus Variación de Frecuencias

    Figura  3 16: Esquema Físico Variación de Frecuencias

    56

    i

      n

      . u i o n   d e  s o n i d o s

      c o n  nota musicales  p o r

      m e d i o  d e

      la

      l i b r e r í a

      l l

    Ill K.ll

    i  

    n l i j o   p a r a  s u

      funcionamiento

      e s e l

      siguiente:

      h u í

      l u i k pitches.h

    n i i . : ;   i n   th e melody:

    m i  m . - l t ) d y [ ] =  {

    N O T E _ D O , N O T E

      R E ,

      N O T E _ M I ,  NOTE_FA,

    N <

      >   I

      l

    SOL, NÓTENLA,

      N O T l i

      S I } ;

    n o l c

      durat ions: 4

     =

     qua r t c r

      n o l c ,

      8 =

     eighth

      note, etc.

    l u í

      no lcDura t ions [ ]

     =  {4,8  } ;

    M i u l

      setupQ

     

    mi

      pausa_ent re_notas

      1 0 0 0 / 8 )

      *

      1.30;

    | ) i nMode 1 0 ,  O U T Í M I I ) ;

    p i n M o d e l l,  O U T I H I I ) ;

      l i g i t a l W r i t e 1 0 , H I i l l ) ;

    l b r i n t i = l ; i < 4 ;

     ü  

    )

    i

    l u ii e l l ,N O T E J v V S ) ;

    i l c lay pausa_ent rc   n o i i i s ) ;

    l o n e l l, N O T E _ l) 0 , X ) ,

     

    i   . . . . . ( I

      I . N ( ) l l ;

      I (   A , S ) ;

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    31/47

    delay pausa_entre_notas);

    tone ll,NOTE_FA,8);

    delay pausa_entre_notas);

    tone ll,NOTE_SOL,8);

    delay pausa_entre_notas);

    tone ll,NOTE_LA,8);

    delay pausa_entre_notas);

    tone ll,NOTE_LA,8);

    delay p

     ausa_entr

     e_notas);

    tone ll,NOTE_SOL,8);

    delay pausa_entre_notas);

    tone ll,NOTE_SI,8);

    delay pausa_entre_notas);

    tone ll,NOTE_LA,8);

    delay pausa_entre_notas);

    tone ll,NOTE_SOL,8);

    delay pausa_entre_notas);

    tone ll,NOTE_FA,8);

    delay pausa_entr e_notas);

    tone ll,NOTE_FA,8);

    delay pausa_entre_notas);

    i l .   l , i   i   | i . n i . . , i  m i r e

      notas) ;

      í

      i

      I I   . N O T I Í M I , 8);

     

    I

    l . r ,

      ( p . n i s i i

      cnlrcjiotas);

    i   . . . . .   i   I   I .N ( ) T l í _ R E , 8 ) ;

     

    I .   l . i \ ( | ) ; u i s a   cntre_notas);

      l l l o l

      I  I .N O T E _ D O , 8 ) ;

    d >   lny(pausa_ent re_notas) ;

    I . . M .   ( I   I , N ( ) T E _ S O L , 8 ) ;

    i k l , n   (

     pausa_entre_notas);

    . . . . . . - ( I I , N O T E _ S O L , 8 ) ;

    i l «

      i is lpausa_entre__notas) ;

    l M i i f ( l l , N O T E _ D O , 8 ) ;

    i | c lnv(pausa_entre_notas) ;

    | M I I , (

      I 1, N O T E _ D O ,8 ) ;

    1 1  r  I  a v  (

     pausa_entre_notas)

     ;

    i i . n . - ( l l , N O T E _ R E , 8 ) ;

    i d   luy(pausa_entre_notas);

     

    I r

      l n y (  pausa_entre_notas);

    i n i i l - ( l l , N O T E _ F A , 8 ) ;

    59

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    32/47

    delay pausa_entre_notas);

    tone ll,NOTE_FA,8);

    delay pausa_entre_notas);

    }

    noTone ll);

    digitalWrite 10,LOW);

    }

    void loop() {

    //  Loop  s i gn i f i c a  el buc l e a repetir, siempre

      Üt

    Figura

     3 17:  squema en

     ISIS  roteos

     Sonidos

    co n

     librería

     pitches h

    60

    Figura 3 18: Esquema Físico Sonidos co n librería pitches h

    \

    \s

     Entradas

     y

     Salidas

    V  \ I ontrol  de  Temperatura

     

    u

     o) -. r am a

     consiste

     en

     tomar

     la

     temperatura

     del

     sensor LM35

    \

      I M

      s e n t a r este

     dato en un LCD.

    I

      I I

      M

      í 5

     e s un

     sensor

     d e

     temperatura con una precisión calibrada

    i '  I  < ' .  Su rango de medición abarca desde -55°C hasta 150°C.

    I

      , i

      ' . a l id a e s lineal y cada grado centígrado equivale  a  l Om V,  por

    l i I , m í o :

    I M ) " C   = I S O O m V

    40°C = -400mV

    61

    \r  analógico de

     tensión.

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    33/47

    TO 22

    Plástic  Pacfcage

    O

     M

     56

    S

     U U U

      %y<

      N

    Figura  3 19: Esquema LM 5

    Arduino proporciona varias patillas con capacidad para leer valores

    analógicos. Cuando

     se lee un

     valor

     se

     tiene

     una

     resolución

     de

     10

    bits, lo que quiere decir que podremos obtener valores entre O y

    1023.

    Para leer estos valores se utiliza la  función:

    analogRead(pin);

    Para calibrar

      el

      valor leído

      del

      sensor

      se

     utiliza

      el

     siguienti

    algoritmo:

    sensorValue = ( 5.0 *

     analogRead(sensorPin)

     * 100.0) / 1024.0;

    En

     donde:

    6

    \   i ,   i   I d ) ,   icad  = lectura analógica de  tensión.

    I   u n

      1

      1   Resolución  d e

      lectura

      e n

      microsegundos.

    I

     

      l

      o

      2 10 ,

     valor binario

      de 10

     dígitos binarios.

    I   n*  módulos  LCD se  encuentran  en

      diferentes

      presentaciones,

    I   .....  n

      i n p l o

     2x16 (2 líneas  de 16 caracteres), 2x20, 4x20, 4x40,

    a

     continuación describe en detalle los pines de l módulo

     

    D

    l ' I N

    B BHfc

      J

      -

    »

    1

    1

    /

     

    1

      ' *

     t

    l i

      4

      »

      1 ')

    SÍMBOLO

    vss

    V D D

    v o

    R S f f

    R W »

    E

    D L

    D i

    D2

    D3

    D 4

    D5

    D6

    D7

    L E D +

    I E D ~

    Nombre

      y

      función

    b : ; £   (

     ríe

     ira  ? v )

    Al imer.t ac i

     

    n

      - r T - V

    Ar.:.-'te

      del : _ r - i

      t - i -

    G i - l e -

      : i > - n

      DATO

      ^ I I T F

      L

    I- ~ '  la o  e o c i i * ~  r- i

      -i  L ' D

    r. -,'  i l- tací  r.

    D   rit  ner.

      c .

      ' i ' . f i r s r i v

    D «

    D 2

    D 3

    D 4

    D5

    D 6

    D 7

      bit  más  sigificativo

    Ánodo  de LED backlight

    Cátodo  de LED backlight

    Ñ u t a ;  #  significa  negado.

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    34/47

    El código para el funcionamiento del programa quedaría de la

    siguiente manera:

      include 

    LiquidCrystal lcd 12,  11, 5, 4, 3, 2);

    int sensorPin = A O ;

    int sensorValue = 0;

    void

     setup ) {

    lcd.begin 16,2);

    }

    void loop )

     {

    sensorValue = 5.0 * analogR ead sensorPin) * 100.0) /

    1024.0;

    lcd.println sensorValue);

    delay 3000);

      i\inia 3 20: Esquema cone xión ISIS Proteus S ensor Te mperatura

     

    Figura  3 21: Esquema conex ión física Sensor Tem peratura

     

    I

     iste sensor está configurado para

      funcionar

      cuando

     no

      exista

     la

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    35/47

    3 3 2   Control de luz con AC

    El programa consiste  en utilizar un sensor  LDR para controlar

    un   foco  de  H O v .

    El LDR es un componente electrónico cuya resistencia disminuye

    con el aumento de intensidad de luz incidente

    Al

     utilizar

     el LDR

     como resistencia inferior

     del

     divisor

     de

     tensión,

    se obtiene la tensión máxima cuando se tenga el LDR en plena

    oscuridad, ya que opondrá el máximo de su resistencia al paso

    de la corriente derivándose esta por

      Vout.

      Si se utiliza como

    resistencia superior, el resultado será el inverso, la tensión  será

    máxima cuando  esté  completamente i luminado,

      ya que se

    comportará prácticamente como un cortocircuito, con una

    resistencia  de

     50Q

     o 100

     Q

    in rior

     out

    Figura  3 22: Esquema conexión LDR

     

    presencia de

     luz,

     el

     cual envía

     una

      señal

     al

     micro

     y

     este prende

    una  lámpara  de HOv.

    l

    ;

      l

     sensor está conectado

     a la

     entrada analógica

     Al de

     arduino.

    I

      ; i  salida

     se

     produce

     en el

     ping 13, salida digital,

     con la

     ayuda

     de

    u n   transistor para amplificar  la  señal  y  disparar  un  relay  que

    funciona  a 5v, el  cual activa  el  paso  de la  corriente  ac  para

    encender la

     lámpara.

    n sensorPin

     = Al;

      n t

     sensorValue = 0;

      n t

      Foco=13;

    void  setup() {

    pinMode(Foco,OUTPUT);

    void

     loopQ

     {

    sensorValue

     = ( 5.0 * analogRead (sensorPin) *

     100.0)

     /1024.0;

    /* Valores leídos Max= 499 en ausencia de luz

    Min=166

     iluminado com pletamente

    */

     

    (sensorValué

     >=

     495)

      i

     gitalWrite(Foco,HIG H );

    dse

    il¡gitalWrite(Foco,LOW);

    67

    3 3 3

      ontrol

     de

     Motores

     DC

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    36/47

      igura  3 23: Esquema ISIS

     Proteos  ensor  de

     Luz

    13 24:

     Esquema

     físico

      Sensor

     de luz

      8

     

    í

    este proyecto  se   controlará  el giro  de un motor  de  comente

    direc ta  DC).

    Para

      realizar

      el

      control

      de

      giro

      se

      utiliza

      el

      circuito integrado

    1 293D el cual posee un Puente  para cumplir con su cometido.

    f

    vea

      igura

     3 25: Diagrama

     de

     conexión

     CIL 93D

     

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    37/47

    intDerecha-2;

    intlzquierda=3;

    voi setup Í

    voidloopOl

    l

    UalWnte Derecha,LOW ,l

    Figura

     3 26: Esquema

    ¡ Proteus Sensor de  uz

    70

    Figura

     3 27:

      squema

     físico

      Sensor de luz

    71

      4

      eclado

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    38/47

    En este proyecto se utilizará un teclado 3 X 4, de 12  teclas (0-

    9,*, ) para

     el

     control

     de

     acceso

     por

     clave.

     El

     esquema

     del

     teclado

    se

     indica a continuación:

    Figura

    3 28 :

      squema Teclado

    Para

     realizar este prog ram a se utilizará la librería  ,

    la cual permite leer los datos de un teclado matricial. Esta librería

    hay que descargar desde  el sitio http://playground.arduino.cc y

    guardarla

     en la carpeta libraries del IDE de arduino.

    Reiniciar el IDE del arduino y la barra de menú insertar esta

    librería al program a, como se indica en la figura 3.29.

    Archivo   tdter

      Ssíícn

      Hciramientas

      Ayuda

    • er i f icar

    Compilar

    Ctri R

    M ostrar la

      C a r p e t a

     de Sk etch  Ctri K

    Aoriíid?   A , c h ; v o , , ,

    impor tarL íbr toa . . .

    Figura  3 29: Insertar  Librería

      Keypad h

    El código para el funcionamiento de la aplicación es el siguiente:

      include

     

      include

    73

    72

    //  initialize  the library with me num bers of the interface pins

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    39/47

    LiquidCrystal lcd(12, 11, 25, 24, 23, 22);

    const

     byte

     numFilas = 4;

    const byte

     numColumnas = 3;

    //Matriz que

     contiene

      los

     números

      de l

      teclado

    const char teclas [numFilas] [numColumnas]  = {

    {' ', '2',

     '3'  } ,

    {'4', '5',

     '6'  } ,

    {'7',

     '8',

     '9'  },

    { '*',  'O ' , '#'  }

    //Fines

     de

     entrada para

     la

     Filas

      y

      columnas

    byte filaPins [numFilas] =  { 2, 3, 4, 5 };

    byte columnaPins [numColumnas] ={6,7,8};

    //Crear el teclado

    Keypad keypad

      =

      Keypad(makeK eymap ( teclas) , f i laPins,

    columnaPins, numFilas, numColumnas);

    Stringingreso= ;

    void

      setupQ

    Serial.begin(9600);

    // Establece e l número  de filas y columnas  en el LCD:

    lcd.begin(16,2);

    for  (int fila = 0; fila < num Filas; fila++ )

    {

    pinMode(filaPins[fila],INPUT);

      ;

    digitalWrite(fílaPins[fila],HIGH);

    }

    for  (int column = 0; column < numColumnas; column++ )

    {

    pinMode(columnaPins[column],OUTPUT);

    digitalWrite(columnaPins[column],HIGH);

    }   . : .

    lcd.setCursor(0,0);  1 ' ^

    lcd.println( Ingrese

     la

     Clave );  :

     

    lcd.setCursor(0,

      1);

      ;

    lcd.príntln( +* );

     

    } .

      v

      • • .

    void

      loop(){

     

    75

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    40/47

    char key

     =

     keypad.getKeyQ;

    icd.clear();

      Serial.println(key);

    lcd.println(key);

    ingreso

     +=

     key;

    if key

     

    '*'){

    if(ingreso== 1234* ){

    Icd.clearQ;

    lcd.println( Puerta

     Abierta );

    ingreso= ;

    }

    else{

    Icd.clearQ;

    lcd.println( Clave Incorrecta );

    ingreso= ;

    í íSí|

    9

    Figura 3 30: Esquema ISIS

     Proteus

     Contro p

      r

     Teclado

     

    Figura

     3.31: Esquema de conexión física Contro

    Teclado

    77

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    41/47

    C O M 2

    3 4 2 Protoco lo de Comu nicación I2C

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    42/47

    ¡o

     serie

    puerco

     serie

    jswsrt» serie

    pBeziSQ aerie

    poertx

    13O

    írto serie

      ot i»

    Rwtsstea ptierto

      ís ri

    stelwsl&a

     puerto

     a«.rie

    PxKudba

      pu»r tx>

     «trie

     x t d k  poerto  sfeZ-le

    ppKaseilB*

     s««rto

     s«ri 137

     gjAutoswe É̂lŜ SfeS..̂  ̂ :

    9

    ?

    OÍ>

    Figuro

     3 34:  So/ido

     del  uerto

     comZ

    Figura

     3 35:

     Esquema

     físico

      de conexión Puerto serie

     

    El  protocolo  d e  comunicación  I2 C  consta  de l as  s igu ien tes

    características:

    B u s de comu nicaciones  en  serie.

    Velocidad d e  lOOKbits por segundo en el mod o estándar.

    Dos

     líneas

     d e

     comunicación b id ireccionales

    SDA(SignalData)

    SCL (Signal Clock)

    Comunicación

      Master—

     Slave.

    l ibrería W ire permite comu nicar con d isposit ivos I2C y

    Arduino.

    Para

      la

     lectura

     d e

     datos desde

     el

     sensor

      al

     ardu ino

      se

     presenta

    el sigui ente programa:

      inc lude 

    int dirección = 0; //dirección: la localización en donde escribir,

    desde  O

     a

     511  (int)

    int pinlectu ra=l

     3;

    int d ireccion_sensor=77;

    int temperatura=0;

    byte envio=0;

    81

    void  setupQ

     {

    W

    jj.¿SSÜÍÍÍ Í

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    43/47

    W ire.beg in );//Inicializa la librería W ire

     

    void  loopQ

     {

    //sensor de

     temperatura

    Wire.beginTransmission direccion_sensor);/*Comienzala

    transmisión al dispositivo I2C esclavo con la

    dirección */

    envio=0;

    W ire.write env io);/*Escribe datos desde un dispositivo esclavo

    en

     respuesta

      a una

     solicitud

     de un

    Maestro*/

    W ire.endTransmission );//Finaliza una transmisión a un esclavo

    W ire.reque stFrom direccion_sensor,l);/*Solicitabytes

     de

     otro

    dispositivo, se p one 1 para

    pedir

      al

     sensor

      de

     tem peratura

      qu e

     envíe

    los

      datos*/

    while Wire.available )==0);

      //Devuelve el

     número

     de

     bytes

    disponibles para recupe rar

    temperatura=Wire.read ); //Lee   lo s byte que  fueron

    transmitidos

     

    Q¡;|;.;̂ ĵ l¡||.̂

    fl:t:F-í+

    ASK

    ípe

     

    Figura 3 36: Esquema conexión del sensor con arduino

    Figura 3 37: Esquem a de conexión   física  de l s nsor y arduino

     

    Dfriuras.» .

    3 4 3 Transm isión serie

      del

      valor

      de

      temperatura

    En las

     líne s

     de com unicación se conectan resistencias con una

    configuración  pull-up de 10KÚ , con lo que provoca que en el

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    44/47

    utilizando

      el

      Protocolo

      de

      Comunicación

      I2C y

    Almacenam iento en la

     memoria EEPRO M

    En

     el proyec to se utiliza un sensor de temp eratura que permite la

    comunicación con Arduino por medio del protocolo I2C. Para el

    almacenamiento

      de los

      datos adquiridos

      se

     utiliza

      la

      memoria

    EEPR OM de Arduino y además se realiza la transmisión de los

    datos

     por medio del puerto serial.

    El sensor de temperatura I2C utilizado es el TC74A5 que tiene

    una

     dirección por

     defecto

     de 77 en decimal, ésta dirección permite

    conectarse por m edio del protocolo I2C que posee Arduino m ega

    (Ver  figura  3.38)

    TO 22

    Figura 3 38: Esquema conexión

      IC

     TC74

    84

    mo men tos que no exista com unicación con los dispositivos de la

    red se

     mantenga

     la

     línea

     de

     com unicación

     con una

     tensión

      de 5

    voltios.

    En proteus se hizo la simulación del puerto serial com 3 por

    medio del programa

     Configure

     V irtual Serial

     Port

     Driver, el cual

    permite

      la

      simulación

      de un

      puerto

      serie  en el

      caso

      que la

    computadora

     no disponga de éste.

    Para control del almac enam iento de los datos se usa un switch el

    cual  cuando está desactivado guarda los datos en la memoria

    EEPRO M, m ostrando la temperatura en el LCD y enviando los

    datos

     al

     puerto serial com3.

    Cuando está activado lee los datos de la memoria EEPRO M de

    arduino, mo strando en el LCD y enviando los datos al puerto

    serial com3 .

    El código para el funcionamiento de la aplicación es el

    siguiente:

      include

     

      include

      include

    // la dirección actual en la EEPROM // (p.e. cual es el

    siguiente byte

     a

     escribir)

    in t

      dirección

      = 0;

      //dirección:

      la

      localización

      en

      donde

    escribir, desd e O a 511 (int)

    int pinlectura=

     13;

    int direccion_sensor=77;

    85

    int temperatura=0;

    Wire.requestFrom(direccion_sensor,l);/*Solicita bytes de

    otro dispositivo, se  pone  1 para  pedir al sensor de

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    45/47

    byte envio=0;

    LiquidCrystal

     lcd(12, 11, 5, 4, 3, 2);

    void

     setupQ

     {

    lcd.begin(16,

     2);

    Serial.begin(9600);//Establece la

     velocidad

     de

     transmisión

    Wire.begin();//Inicializa la librería Wire

    Serial.println("Inicio

     del

     programa");

     loop {

    //sensor

      de

     temperatura

    Wire.beginTransmission(direccion_sensor);

    /*  Comienza la transmisión al dispositivo I2C esclavo con

    la

     d irección*/

    envio=0;

    Wire.

     write(envio);

    /^Escribe datos desde un dispositivo esclavo en respuesta

    a una solicitud de un maestro*/

    Wire.

     endTransmissionQ;

    //Finaliza

     una transmisión a un esclavo

    86

    temperatura que envíe los datos*/

    while(Wire . available()=0) ;

    /*Devuelve

     el

     numero

     de

     bytes disponibles para

     recuperar*/

    temperatura=Wire.read();

    //Lee

      los

     byte

     qu e

     fueron  transmitidos

    S erial.print(temperatura)

     ;

    Serial.println("C");

    delay SOO);

    dirección = dirección + 1

     ;

    if

     (dirección

     ==

     512) dirección

     = 0;

     delay lO O );

    EEPROM.write(direccion,  temperatura);

    //Guarda los

     datos leídos

    if(digitalRead(pinlectura) =

     HIGH

     )

     {

    //Comprueba

     el

     estado

     del

     switch

    Icd.clearQ;

    lcd.println(temperatura,DEC) ;

    lcd.print("C");

    87

    else{

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    46/47

    Icd.clearQ;

    lcd.println( Lectura de Datos );

    delay SOO);

    lcd.clear();

    int valor

     = EEPROM.read(direccion);

    lcd.print(direccion);

    lcd.print( \t );

    lcd.print valor, DEC);

    Icd.printlnQ;

    dirección

     =

     dirección

     + 1;

    //incrementa la

     dirección

     de

     memoria

    if

      dirección 512)

    dirección

     = 0;

    delay SOO);

    }

    Icd.displayQ;

    delay SOO);

     

    88

    Figura  3 39: Esquem a conexión  en  ISIS  Prote>

      u

    Esquema de conexión

      física

      de Arduino y TC74A05

     ibliogr fí

  • 8/16/2019 Libro- Ing. Santiago Manzano Diseño y Proyectos Básicos Arduino

    47/47

    >

      http://arduino.cc/es/Guide

     

    http://fritzing.org

    >   G a r c í a

      Breijo

      E d u a r d o .

      2008).

      C O M P I L A D O R   C C C S Y

    S I M U L A D O R

      PROTEUS

      PARA

      M I C R O C O N T R O L A D O R E S   PIC.

    MÉXICO.

     A L F A O M E G A .

    > Grupo

      Sabika.  2010).  EJERCICIOS

      D E

     A R D U I N O   RESUELTOS

    [en línea].