arduinoy código de programación

Upload: ricardo

Post on 07-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Arduinoy código de programación

    1/14

    MATERIAL REQUERIDO.

    Arduino Uno o similar . Esta sesión acepta cualquier otro modelode Arduino.

    Una Protoboard .

    Cables de protoboard

    Un Potenciómetro.

    Un display LCD, de 16× o 16×!.

    LOS DISPLAYS LCD

    http://www.prometec.net/categoria-producto/arduinos/http://www.prometec.net/producto/protoboard-830/http://www.prometec.net/producto/cables-dupont-macho-macho/http://www.prometec.net/producto/protoboard-830/http://www.prometec.net/producto/cables-dupont-macho-macho/http://www.prometec.net/categoria-producto/arduinos/

  • 8/18/2019 Arduinoy código de programación

    2/14

    Los displays LEDs de 7 segmentos !"e #imos en las sesiones ante$io$es est%nm"y &ien son &a$atos y p$%'ti'os pe$o tienen el in'on#eniente de !"e nop"eden most$a$ mensa(es de te)to sino solo n*me$os.

    Se e'+a de menos alg*n sistema pa$a most$a$ mensa(es de te)to sen'illos ypo$ eso se 'ome$'iali,an los displays LCD. Son -a'iles de en'ont$a$ en di#e$sos-o$matos /012 3/0 'a$a'te$es ) 2 l4neas5 o LCD /016 3/0 'a$a'te$es )6l"nes5.

    LCD #iene del ingl s Li!"id C$ystal Display o sea Pantalla de '$istal li!"ido.

    Son "na op'i8n m"y sen'illa de "sa$ y adem%s dan "n to!"e m"y p$o a#"est$os p$oye'tos y po$ eso en los *ltimos a9os los displays LCD +an ganadom"'+a a'epta'i8n en p$od"'tos 'ome$'iales de todo tipo.

    :%si'amente po$!"e

    ;Son &a$atos.

    ;Est%n disponi&les en #a$ios tama9os y 'ona,te a la idea. C"al!"ie$ ot$a sol"'i8n

    a'a&a$a -"n'ionando mal o di$e'to$amente 'on el display !"emado.

    C"ando lo tengas listo pin'+a el display en la p$oto&oa$d de(ando sitio pa$a el$esto de 'omponentes y 'a&les $e'"e$da !"e +a&$% m"'+os as4 !"e segene$oso 'on el espa'io !"e de(as.

  • 8/18/2019 Arduinoy código de programación

    3/14

    DIA?RAMA DE CO@E IB@

  • 8/18/2019 Arduinoy código de programación

    4/14

    Esquema para protoboard

    Cone'ta tensi8n y ?@D a la p$oto&oa$d.

  • 8/18/2019 Arduinoy código de programación

    5/14

  • 8/18/2019 Arduinoy código de programación

    6/14

    Si todo +a ido &ien ya podemos en'ende$ el dispay y p$o&a$lo. Cone'ta elUS: a t" A$d"ino y #eamos. Si #as gi$ando el poten'i8met$o en alg*nmomento tienes !"e #e$ "nos '"ad$aditos en la pantalla en 'aso 'ont$a$io$e#isa las 'one)iones. @o sigas si no #es esto.

    Si ya #eis las mat$i'es de p"ntos en la pantalla podemos seg"i$.

    amos a 'one'ta$ ya los pines de datos y 'ont$ol. Sin ent$a$ en m"'+osdetallas no #amos a "sa$ todos los pines disponi&les po$!"e no losne'esitamos. Solo "sa$emos dos pines de 'ont$ol RS y E@ y los 6 pines dedatos D7 D0 D y D6 . @o ne'esitamos mas po$ a+o$a.

  • 8/18/2019 Arduinoy código de programación

    7/14

    amos 'on las 'one)iones de 'ont$ol del display

    RW, LCD pin 5 GND

    RS, LCD pin 4 Arduino pin 7

    EN, LCD pin 6 Arduino pin 8

    Y ya solo nos !"edan los 6 'a&les de datos.

    DB7, LCD pin 14 Arduino pin 12

    DB6, LCD pin 13 Arduino pin 11

    DB5, LCD pin 12 Arduino pin 10

    DB4, LCD pin 11 Arduino pin 9

  • 8/18/2019 Arduinoy código de programación

    8/14

    EL PRO?RAMA DE CO@TROL

    amos a "sa$ "na li&$e$4a de 'ont$ol del panel LCD !"e #iene in'l"ida enn"est$o A$d"ino. Pin'+ad en

    \\ ro!r"#"\$#por%"r Li&r'ri"\Li(uidCr)*%"+

    Y a+o$a podemos impo$ta$ "no de los e(emplos o es'$i&i$ el n"est$o'omentando el '8digo.Lo p$ime$o es !"e al impo$ta$ la li&$e$4a nos +a es'$itoesto

    in-+ud' .Li(uidCr)*%"+/

    Desp"es +ay !"e ini'iali,a$ la li&$e$4a. C$eamos "na instan'ia llamada l'd dela 'lase Li!"idC$ystal y le pasamos 'omo pa$%met$os los pines !"e +emos"sado

    Li(uidCr)*%"+ +-d 7, 8, 9, 10, 11, 12 RS, EN, d4, d5, d6, d7

    • '"idado po$!"e los pines !"e +emos "sado no 'o$$esponden a lose(emplos de A$d"ino as4 !"e pod is 'a$ga$los pe$oaseg"$a$os de'am&ia$ la l4nea de de

  • 8/18/2019 Arduinoy código de programación

    9/14

    +-d/prin% #i++i* 1000 prin% % ' nu#&'r o: *'-ond* *in-'

    r'*'%=

    <

    GC"idado Como siemp$e la p$ime$a linea la s"pe$io$ es la linea H y laseg"nda la linea /.

    Estos display son m"y pesados de 'a&lea$ pe$o m"y sen'illos de "tili,a$.

    amos a p$o&a$ sa'ando "n $elo( 3m"y sen'illo de momento5. Si $e'o$d%is las-"n'iones !"e "samos en las "ltimas sesiones podemos $e'"pe$a$ alg"na pa$ap$esenta$ el #alo$ de millis35 'omo "n $elo(

    in-+ud' .Li(uidCr)*%"+/

    Li(uidCr)*%"+ +-d 7, 8, 9, 10, 11, 12

    oid *'%up

    +-d/&'!in 16, 2 i "#o* '+ nu#'ro d' -"r"-%'r'* )

    :i+"*

    +-d/prin% ; ro#'%'-/n'%; A(i " '+ #'n*" '

    <

    oid +oop

    +-d/*'%Cur*or 6, 1 on%' 'n +" +in' 1, po*i-ion 6

    S%rin! * > r'+o

    +-d/prin% *

  • 8/18/2019 Arduinoy código de programación

    10/14

    <

    S%rin! r'+o

    in% n > #i++i* 1000 Lo p"*"#o* " *'!undo*

    in% *'!undo* > n ? 60

    in% #inu%o* > n 60

    S%rin! S > S%rin! #inu%o* @ ;=; @ S%rin! *'!undo*

    r'%urn S

    <

    Me$e'e la pena 'omenta$ alg"nas 'osas de este '8digo. En p$ime$ l"ga$ en la-"n'i8n $elo( 'al'"lamos los min"tos y seg"ndos a pa$ti$ del $elo( inte$no deA$d"ino en miliseg"ndos no +ay nada n"e#o en esto. Pe$o

  • 8/18/2019 Arduinoy código de programación

    11/14

    +-d/prin% *

    Pa$a sa'a$ el mensa(e de te)to. Todo lo !"e ya sa& is de Se$ial.p$int35 se "sae)a'tamente ig"al 'on esta inst$"''i8n. Y po$ *ltimo tenemos "na l4nea 'omoesta

    +-d/*'%Cur*or 6, 1 on%' 'n +" +in' 1, po*i-ion 6

    Q"e lo !"e +a'e es posi'iona$ el '"$so$ del panel en la posi'i8n 0 de laseg"nda l4nea pa$a es'$i&i$ la +o$a 'ent$ada. A!"4 os de(o "n mini #ideo 'on el$es"ltado.

    La li&$e$4a LCD #iene 'on #a$ios e(emplos m"y inte$esantes !"e os 'on#ienep$o&a$. Re'o$dad simplemente !"e ten is !"e 'am&ia$ las de

  • 8/18/2019 Arduinoy código de programación

    12/14

    &)%' !r"do 8 >

    0&00001100, Lo* d':ini#o* -o#o &in"rio* 0&

    0&00010010,

    0&00010010,

    0&00001100,

    0&00000000,

    0&00000000,

    0&00000000,

    0&00000000

    <

    Para montar los caracteres de"inidos usamos#

    +-d/-r'"%'C "r 0, 'uro

    +-d/-r'"%'C "r 1, !r"do

    $ a%ora ya estan disponibles. &ened en cuenta que solo podemos de"inir ' caracteres

    especiales en un momento dado ( Aunque podemos de"inir )* arrays, de caracteres y crearlos

    y matarlos sobre la marc%a+.

    Aqui tenemos un e emplo del pro-rama#

    in-+ud' .Li(uidCr)*%"+/

    Li(uidCr)*%"+ +-d 7, 8, 9, 10, 11, 12

    &)%' !r"do 8 >

  • 8/18/2019 Arduinoy código de programación

    13/14

    0&00001100,

    0&00010010,

    0&00010010,

    0&00001100,

    0&00000000,

    0&00000000,

    0&00000000,

    0&00000000

    <

    oid *'%up

    +-d/&'!in 16, 2 ") (u' ini-i"+i "r '+ LCD

    +-d/-r'"%'C "r 1, !r"do

    +-d/*'%Cur*or 0, 0

    +-d/prin% ;E*%"#o* " 25;

    +-d/Fri%' 1

    <

    oid +oop

    <

    Y a!"i teneis "na -oto del $es"ltado

  • 8/18/2019 Arduinoy código de programación

    14/14