Está en la página 1de 114
MICROCONTROLADORES, Fi Y TELECOMUNICACIONES MICROCONTROLADORE: (BR eoanne LENGUAJE BASIC (BASCOM AVR) TLATITTIT TELLTALE LETT TSE Eres TULATTITIIUIas i he procramacin ave’s alae APLICACIONES FLECTRONICAS CON MICROCONTROLADORES AVR LECTRONICA ¥ TELECONURICACIONES (Ef. ZEN’ AUTOMATIZ SSADOS (EP.N QUITO, 2006- /ERSIDAD TECNICA DEL NORTE (LBARA 2008) GERERTE MICROTEL —_(MICROCONTROLADORES, — REDESY ‘TELECOMUNICACIONES) amino Vato Distr 208 AIT VUSSSSSTTTSTTTTTSGTTLCVCE CTT S STITT SSTTT AIT IGT LTT IIa yan Ese inTRopUCCIGN: Los micrncontroiadores AVR, Son las herramientas mas actuales y potentes que existen en el mercada, ademds su difusién no ha sido muy profunda, y es ast que la siguiente presentacién intents proyectar una idea muy clara acerca de les herramientas de programecién qua existen para utiizar los AVR'S. EI paquet, computacional BASCOM AVR, permite progremar toda clase de microcontroladores AVR, de manera ripida y estruciurada en alto nivel (Lenguaje Basic), con lo cual se fa ha utlizado para realizar tocios los proyectos ‘que se encuentran en este ibro, El lector podré encontrar ciferentes proyectos, que le ayudaran a facilitar el manejo y aprendizaje de los microcontroladores AVR, como el ATMEGA 48, ATMEGA 8, ATEMEGA 16, ATTINY45. Ademés podra encontrar un CD adjunto con esta presentacin en el cul se encuentran los programes y sus regpectves simulaciones, Es importante recalcar, que se ha intentado explicar el principlo. de funconamiento de cede uno de los elementos de hardware que pucden interactuar con un microcontrolador, con fa finelidad de aprender no solo ta parte de programacisn, sino que también la parte de conexién y manejo ce hardware, El agradecimiento a Dios y para todas las personas que colaboraron para la publicecién de este libro, ya sea con sus dnimos é experiencia profesional, entre las al Ing. Juan Galarza (ATR, Distribuldor y Conocedar de las AVR), al ing. Xavier Rosera (Inganiero Automotriz y desarrollador ¢e proyectos con tmicracontroladores FIC, MOTOROLA, AVR), al Ing. David Vereas (ngeniero en Sistemas, deserrollador de proyectos con bases de datos y lengueje visual), ‘aderids una dedicacién especial para mis Padres por su apoyo incondiclonal, a Gaby ya mi hermano Fer, Dedlicado a FER. zando tangas un suefio; lucha por él y'cuando més te cigan que no puedes; esfudrzate, porque estas més cerca de consequirio” Ramiro. Reamive Valencia 8 Diesenibve 2008 sii Micracontrotador AVE a Areca 13 ATHECAS.. La ATHEGAIS., 2 "BASCOM AVR 24 INICIO. oe 22 COMPILABOR snus 23 sIMuLaDo} oa 2A EMULADOR SERIAL caso 25 CONEXIONES PRINCrPALES. 26 _GRABANDO AL MICROCONT) 3, INSTRUCCIONES BASICAS DE BASCOM AVR. Seu. ws ‘crystal Song. Wait, Waits, Weitus Bo Loop. Bo= Loop Until. Toggle Dim. Alia DDRx, PORT, PINx ap. THEN; ELSE. FOR- WEY. 112 SELECT — CASE scr 3.14 SINBOLOS OPERADORES. 3.15 ESTRUCTURA DE UN PROGRAMAEN BASIC... PROYECTO 1 “ENCENDIOO ¥ APAGADO DE UN UFO". FUNCIONANTENTO DE HARDWARE E INSTRUCCIONES AVANZADAS DE BASCOM AYR sess 4.1. Displays de 7 segmentas. PROYECTO 2°CONTADOR 0-9 EN DISPLAY DET SEGMENTOS A.C 4.2 Taclado Matricial axa PROYECTO 3 °TECLADO 0-9 CON VISUALIAAGION EN DISPLAY DE 7 SEGHEANTOS ALC sunsninn . oe 43” PROYECTO 4° CONTADOR SECRECIENTS PROGRAMABLE MODULO 99°. ‘4d Matiz de Leds 725. PROYECTO 5 VISUALIZACION DE LETRAS EW NATRIZ De LEDS" 45 LOD (Display de Cristal Liquido) ‘454 Config Led, im 45.2 Contig ledpin. . 453. Config ledbus, 454° Led" 255 Locate xy ~ 456 shifdled, “ PROYECTO 6 VISUALIZAGOR DE NUMEROS 0-15 BN LCD nn 2.6 Comunicacién ceria! con ef PC... ‘4.6 Cable Null ~ MODEM. 35.2 Shout Rainire Vatoscs seein "5 _Inverrupeion del Pévlice Serial 466 _ Contuaicacisn par hardware... PROYECTO 7 “150 ne PRINT = INET PROYECTO 8 "INTERRUPCION bel, FORTICN SEAIAL” 3.2 _Seiisares tnfrarvojos, Opto ~ Swhe, Sensnras de oa PROYECTO 9 “CONTADOR DC Q’I=TOS MEDLANTE SERSORS lti-KAROWS moouts 100)”, - 4.0 Motores a Faces y Servo Hatorct.. ‘LBL Motores a Pasos ef PROYECTO 10 "CONTROL DE PARGUED CON MUTaR A bAGdEN 48.2 Serva Motores PROYECTO 11 “PRORADOR CE SEAUCHOTORES Ke $9 HlectrOnica de Potenc’a.. 440 RTC (Res Time Clock).n. 440.1 "Config Date = May , Separator = / 440.2 Config Clack = Soft... B02 Dab Bann 4104 “Times. 4195 — Enable Inierrupe. : PROYECTO 12 *RELO) COnmGURABLE EW Led dans” ‘nu Meno Sera EEPROM... aaa ERam $422 Rendesprom. 4.123 Writeeenrom a PROYECTO £8 “CoVTAnOR COW WEMONIA EEMROM 42 Bluetooth ii 4421 500 (Sincrono Grientade a in Conexién) 442.2 ACL (Asineron Sin Conexion)... se 4423 Médulo Bluetooth "KC-21°" 4.424 Comandos AT. PROYECTO 44 “COMUATCACLON SERIAL FAN Me tale Recon SoA dent ain por adi raven) 4131 Codigo WIEGAND... 4.13.2 2cémo funciona Ia RFIG? 4.14 Comunicacién 126. 4i44.1Contig Se 4.24.2Config Sc... PRE ag PUN AUNTIE SEP ay 415 CONVERSORES ADC......, a5 Config ade. 4.152 Getadc( PROYECTO 16 “CONTROL OF CaL:Dht De alse" PROYECTO 2? “CONTROL OE TEMPERATURA CON EL LAGE" 4.16 "GLCD (LCD GRAFICO}.... : PROYECTO 28 “yisuAlizAclon EN rich stad" 4.17 _ Sensor ce Ulerasonid. BATA Paigoout un 4372 Paleein 4173 bitwatt, : PROYECTO 'NEDIDOR GE DISTINCAS”. Frenette AVR 6 BAB DTME nnn 4484 binfout PROYEGTO 20 *MARCADG! DE TE SROND Calais 418 Interrupcionas externas ioe 439.1 Onin, 4192 Enable Intervupts 4393 Enable Into PROYECTO 28 *CO¥TAOOR DE PULSOS) 4.20 | Mensajeria de Texto {Méduio GSM) 420.2, Comandos AT. 4.20.2 Comando3 para transmision de S¥S.. ‘Comandes para recepcion de SMS. 4203 PROYECTO 22 ‘COTRGLADOR DE FOCD REMDTO™ 4.24 Emulacion Pustto USB-RE22 ven PROYECTO FINAL "CERPADURA ELECTRONICH Diciembre 2098 P items pregponsnenin AVL 4, Hicrocontiotador AVR Dara We les mbklsies familias de wricroconteotsteresy Ios AVR'S san las mas actiales, cerlentes y versétles del mercado, venten iichas ventajas e relzciba_ a [9 micracantmiaane=s cannes come kg MCS51-82, Microchip 1! otras, ya que oSeeN herrarentas iaentiay sue Fecitan tents el oftware camo el hardware Five ls fiewremiontes que poseen estén: fa cormumicectin © manejo ce interfacce SPL, 12C, UART, USB, IWIRE, 2WVIRE. Ademae estan Intagraccs enn conersores anéloges digialee, RTC (ol interno en tiempo real, sarin kt inveme, merseria na volatl EEPROM interna, entre otro. Dentro ce ete presentzcién se trataré princpalmerte les rierocentroladores IIMEGAS, ATMEGAS y ATMEGMG, los cuales o¢ ullluarén cependiendo de In ‘liacion due se pueda realizar. 2A ATMEGASS Bantre de tas saracteristicss de los riferacontre!adores gus. usareios, <2 Siemere primordial que sepemus por fo mcs [a dlsbibucion d= wines ¥ les ‘eresicnes principales para su covecto funclnamiento. waretastoct tee ireamrrera Fo wenrursa rot rposanire Poa 2 lam ancannanony 0 iapaancorcia Kepler ancorenray 2:firencannore nim wert fata. age pane peices mogen Pa mpuice (eenciormaosca rt teiers cKO?) ‘pena rocib 1 POS fofares prearenia an soeesne FOE ars funcoeaN row) FLATMEGAGY posce préclicemente 4 puettas (3, Ser ueados Inependicrtemante coin entratag 0 saldas de d. Fl puesto B guste princinaiments los plwis SCK, MISO 7 MOSE que sirven pare prcqramar # microcontialodor. et Paton 1 fe programaciin AVR's oe El puerto C posee 6 entradas para conversores Andlogos Digitales de 10 bits. Y en ef puerto D se encuentra principalmente los pines de RX y TX para fa comunicacin serial UART. ‘5 disposiciin es pareciéa a la dol ATMEGA, fo Gnico en lo que se diferencian sla cantidad de memoria de programa que poseen, ya que el ATMEGASE tiene “kbytes y ol ATMEGAB posee 8kbyts. | continuacién se muestra las caractersticas mas importantes cel rmierocontrolador ATMEGA48. = 32 reglstros de propésko general ‘4KBytes de Memoria de Programa 256 Bytes en memoria no volstil EEPROM 512 Bytes en memoria interna SRAM 6 Canales PWM 6 Canales ADC de 10 bits CComunicacibn USART (Osalador interno RC de 128KHH2 y BMHZ. RIC interno con cristal de 32768 He Voltsje de operacién de 2,7V 2 5,5V 1.2 ATMEGAS I ATMEGAS es simiar aI ATMEGA4S, principalmente en su distribucién 40 pines, y se diferencian en las caractersticas interna de fos misrn03. bresvocssca curous—ureaonsson Perens sees noon Gerorced]s — sprcemnca Simro: beBroiqeen ocrrapocs pron anosoere ‘rieosqn iovreed 2 A continua IRTMEGAB: Ramiro Valencia B. B= programaciin AVR's = 32 resistros de propésito general = BkByias de Memoria de Programa 512 Bytes en memoria no votstl EEPROM = IkBytes en memoria interna SRAM + 6 Canales PWM 6 Canales ADC de 10 bits = Comunicactin USART Osclader interno RC de 1MHe, 2Miz, fit y MHz BRC interno con cristal de 32768 Hz = Voltaje de operaciin de 2,7V a 5,5V 1.3 ATMEGAI6 El microcontrolador ATMEGALG, se puede decir que es el inicio de un rricrocontrolador completo, ya que pose més puertos de entrada y salida de datas; 10 que proporcione mas funcionalidades pera la elaboracién de cualquier proyecto a outa; po 1S 40 Brea ane Pat Bra woes eran) Pa 3. Bre aoco (Saunas 2 Bs goe rads sepa aewucy Ss) pases me foc ee ror far poh Raat d § a xd 1 Fer osc nef eo no8e" moron ee aad & 708 Oh ar Poa] a ae {ta Pos 1S B ree to ecw eo ts 23 B pot oA) {eeu nbs G13 en fon rose]2e 31 B por aca, Figura 3. Diagram de pines cet ATHEGAISK : EI ATMEGALG posee 4 puertos (A, B, C, D) que pueden ser usados independientemente como entradas 0 Salita El puerto A posee fs can jes de conversin And loga a Digital verto B tiene como pines relevantes, a los de programeciin del fr, camo: SCK, MISO y MOSK. =" Programacion AVR's En ef puerto C presenta caractersticas primordiales para comunicacién 12C, con los pines SDA, SCL, Y en el puerto D se encuentran pines de Transmisién y Recepclén de datos seriales. A contiquacién se muestra las caractersticas més importantes del Imicrocontrolador ATMEGAL6, ~ 32 registros de propdsita general = 16KBytes de Memoria de Programa 512 Bytes en memoria no vostil EEPROM = KBytes en memoria interna SRAM + 4 Canales PWM + 8 Canales ADC de 10 bits = Comunicackin USART ~ Ostilador intemo RC de tie, 22, dt y BMH RIC intemo con cristal de 32768 Hz = Voltafe de operaciin de 2,7V a 5,5V Dentro de! “mercado de micfocontroladores, el ATEMGAI6 est slenda reamplazado por el ATMEGAL64P, pero las diferencias son minimas @ inter: ebido a a presencia de registros de contrat mucho mas avanzados. ‘A pesar de que el fenguaje exacto y nativo de los microcontroladores es Jenguaje ensamblador, este curso trata de dar una visién més simple de Dpragramacién de microcontroladores mediante programaciin estructurada Ce ‘ato nivel como Basic, mediante le herramienta BASCOM AVR, Romira Vale 2. BASCOM AVR La herremienta BASCOM AVR desartoliada por la empresa MCS Electronics, sinve para realizar programas en alto nivel para mcrocontraladores AV, el cual posee un compllador yun ensamblador que traduce tos instrucciones festructuradas en leguuje de maquina. as i) Figura 4. Diag de Bloque de programaiin estructura Luego de instalar el paquete computacional, el cual se puede consaguir como DEMO en ja pagina princlaal de MCS Electronics, podemes apreciar Ia siquiente pantalla nical Bejaaiely ules 9] sigelane| Figura 5, Ambiente del BASCOM AVL Dentro de ais podemos ver claramente una farra de herramientas, um ff dea de trabajo, A contirwacion se explicaré os cones 0 atojos importantes para menejar la herramienta BASCOM AVR, Mil progrumaciin AVR's 2.4 INICIO [EXEEES) Presionando NEW, nosotros podemes abrir un archivo en blanco [G85 92a empezar a trabajr en suestro proyecto. 22 COMPILADOR FE eran «toro de tara de nara oF, mie “| podemos complar nuestro proyecto y obtener un archivo .HEX, el cual V2.2 ser grabado en el microcontrolador. Una vex que se ha compliado el proyecto puede aparecer el sigulente cuadra de canfirmacié, Figura 6, Cuacro de Corpiacion da un programa en BASCOM AVR En ef cual se puede comprobar el porcentaje de memoria utlizada en ol rmicrocontrolador. 2.3 SIMULADOR Una vez que se compila un proyecto, se puede simular con ayuda de BASCOM SIM, fo cual se realiza presionando el icona de simulacion ce [a barra de herramientas 0 F2. Una vez que se presiona el simulador, aparece una pantalla donde se puede apreciar el programa principal, espacios de memoria, emuladores de ‘comunicacién serial, emuladores de LCD, etc. ‘Fgura Cuodro de Sinan en GASCOM AVR Ramiro Valencia B. Es preferbie al momento de usar este simulador, que se vaya realizando proceso paso 2 paco mediante FB, con fo cual observaremos una flecha azul en la parte izqulerda de programa, que nos indicaré el avance de le simulacon, 2.4 EMULADOR SERIAL [HF con este icono se puede hacer uso de un emulador de comunicaciin = serial, entre el microcontrolador y un PC, en el cual padremos cbservar fa siguiente Aura, que emula un Terminal no inteigente, e cual recibe 0 transmite caracteras. igure 6 Emuibdor de Conunicacon Sos) 2.5 CONEXIONES PRINCIPALES Dentro de las conexiones principales de un microcontroiador estén: ol programador, el oscilador, Ia alimentacién y el reset. Para lo cual se recomienda tomar en cuenta fos siguientes aspectos al momento de armar un circuit, jinx PRocmanADeR 2.6 GRABANDO AL MICROCONTROLADOR, Una vez que obtenemos nuestro archivo hexadecimal ".HEX", procedemos a —_Escoger el valor interno para el osctador Deshabiltar WatchDog ATMEGAL6 > Escoger el valor Interno para el oscitador Deshabiitar JTAG para hebillar el Pus Luego de habilitar fos fuse bits, se los puede graber con el botdn WRE espacio "lock value”. = ar fri Una ver grabado correctamente lus Fuse Bits, saldré un mensafe de “Lock Bits written Sucesflly" Luego para poder cargar el archivo .HEX al microcontralador, se pret FLASH y se busca la direccidn dal archiva a ser grabado, cond) Una vex que se ha cargado el archivo, se presiona AUTO y 2e espera que se termine el praceso de grabecién aie Es recomendable, que cuande tenemos un AVR nuevo, se grate en nivel bajo “LOW", definido por el movimiento de un “jummper” centro del gratador pregispt67, Adlemés es importante tener en cuenta el error mis vsual que ee susle dor en el proceso de grabacién, ya que si conectamos aigin pin de diferente marere 6 ‘no almentamos blen e! circuit, saldré un mensaje de CHIP ENABLE ERROR, el cual nos indica que no se detecta ning mictocontroleder 6 el micrecontroladar esté datiado, Hh prooraastn AFR ‘ay 3. INSTRUCCIONES BASICAS DE BASCOM AVR. para iniciar a descubrir cada una, de las instrucciones que posee esté ‘herramienta, empezaremos realizando la respectva explicacion y un proyecto {de ejemplo con su simulacién, Mas adelante expliearemos opciones mas avanzadas y el funcionamiento de harcvare especico come led’s, sensores, motores, et 3.1 Sregfile Esta instruccién va siempre al inicio de cualquier proyecto que realicemos, ya ‘que es Is encargada de direccionar el respectivo microcontrolador que vamos 2 usar. Por elemplo si vamos a usar: ATMEGA 48 > Sregfile = "m48cer.cat” ATMEGA 8 > $regfile = “mBdef. dat” ATMEGA 16 Sregfile = *misder. cat” 3.2 Serstal Esta instruccién va @ especicar la frecuencia de oscilacién con la que va a functonar e! microcontrolador. Por ejemplo: ‘gerystal = 1000000 para 1MHz $erystal = 8000000 pata SMH $erystal = 11059200 para 11.0592MH2 3.3 Config Esta instruccén ‘especiica la configuracién de un pin, un puerto 6 un disposttivo, ya que pueden ser configurados como entrada 6 sala de datos Por ejemplo: Config port = output Puerto B como saa Config pina.0 = input Pin AO como entrade Config Lcd = 16" 2 LOD de 16 caractores y 2 linens Romine Valence 8. ae 2.4 Walt, Waitms, Waitus Esta instruccidn sive pera crear un retarda, ya sea en segundos, miiscqundos Y microsegundos respectivamente. Por ejemplo: wait 3 Espera 3 segundos Waitms 700 Espera 700 milisequndos Waitus 509 Espera 500 micresegundos 32.5 Do- Loop Esta instruccién es un tazo cerredo, en cl cusl se efecuta un conjunto de instrucciones de forma indefinds. 3.6 Do- Loop Untif Es Un fazo definido por la condicién de una variabla que est’ dentro dal 1az0, 1a ual define cuando termina de ejacutarse el conjunto de instrucciones. Por ejemplo: Do Asati Loop until Termina el azo Cuando a=10 3.7 Toggle Este comando sive para complementar el estado anterior de alguna variable 0 pin de alain puerto. or ejemplo: Toggle Porth. Complementa el porth.0 38 Dim sive para dimensionar el tipo de variable qu tipos de variables estan los siguientes! se va a utllzar, entre los Bm progeamacién AVR \dlmmes [Were [oadsis = (ong a a TBAT integer “32768 292767 ‘Shale Hisxig? a3aKi0 Sting | Cadena de craceres mii Frog | oe ei [Doub [50x10 3 17i0™— 3.9 Alias Sirve para da un nombre general dentro de un proyecto, ye sea a un pusrto 0 pin de un puerto. Por ejemplo: Foco Alias Portb.0 1 ports.0 ahora se tama foco 3.10 DDRx, PORTX, PIN DDR, PORT Y PIN son registros que nos permiten uttlizar ef puerto coma entrada 6 salida de datos. DDR: Configura al pin como entrada 6 salida de datos. PORT; Es ol registro de salida de datos. PIN: Es el registro de entrada de datos. Las siguientes combinaciones, hacen que los pines funcionen en cconfiguracion especial, como se explica a continuacién. Derb.x=0 Entrada alta impedancia Portb. Ddr.x=0 Entrada pull up Port, Darb.x=1 Salida a cero (OL) 20 mA Porth: Ddrb.x=1 Salida a vino (1L) 20 mA Porth.x=1 Es importante recalcar que cuando se configura un puerta coma.salida, se ‘ocupar la palabra PORT y si se lo configura como entrada se usa la palabra PIN, fe rogramaciin AVR's Sak TF THE; ELSE ‘Son sentencas condicionales, las cuales responden a un estado de voltois (OL, 11), de contenido (Caracteres), et. Flgura 14. Condclén igen IF ELSE 3.42 FOR- NEXT ‘Son instrucciones de repeticién, ya que ejecuten un conjunto de instrucciones, ‘cependiendo de une variable incremental que sa encuentra dentro del Ise. Figura 15, condi de repeiiin FORNEXT 343 SELECT CASE Son sentencias que se pueden efecutar, dependiendo del eatado de una variable de seleccién. DDentro de este esquema se puede tener un conjunte de casas que pueden cor efecutados, dependiendo de fa variable en juego. Bho progranaion AR ame 3,14 SIMBOLOS OPERADORES Dentro de los operadores, pueden utilizarse los mateméticos, de relacian y I6gicos. Ades se debe tomar en cuenta que bascom nos permite realizar operaciones Uinicamente con dos variables a la vez. ‘A continuacién podremos observar los operadores més comunes. Operadores matematicos suma: Resta: a=b-c Muttiplicacion: a=b*c bivision: X = a \D Residuo = a MOD b Operadores de relacién = igual = X"¥ <> noes igual X <> ¥ = menorque X<¥ > mayor que X > ¥ mener igual mayor Igual Operadores 16: NOT Complemento (Negacién) AND Gonjuncién (Y) OR Disyuncién (0) XOR Or exclusiva Representacién de légi digital Para la representacién de un numero binarlo 6 hexadecimal, dentro de BACOM AVR, es necesario anteponer el simbolo "&”. fn el caso de de niimero decimals, no es necesario anteponer ningtin simbolo. Ejemplo: Porta= &HFS Numero hexadecimal Portb= 8610001100. Numero binario Portas 129 Numero decimal 3.15. ESTRUCTURA DE UN PROGRAMA EN BASIC ste tema es importante tocar, ya que cuando se estructura un programa en fato nivel, es necesaro llevar un orden y vinculacién de las instrucciones que se realizan AVES estructuradas 4 partes dentro de un programa en CConfiguraciones y Dimensionamiento de varlables y subrutinas. Programa Principa + Subrutinas. + Tablas de datos. El siguiente es un ejemplo de como se puede estructurar un programa on alto nivel, con tinos de instuciones que se pueden realizar en su respecthn orion Scheer soweon sons { ton E [= PROYECTO 1 "ENCENDIDO Y APAGADO DE UN LED" slguone poyeco tat de utiar hs tunéones bias para pode encendery pagar Cunfed conn reuencia de 1 Rt us EREPPEPE 4 = gq = a = 4 We "msde. dt" MICRO & USAR ES AIMEGRE = 8000800 {CRISTAL INTERNO DE OSCILACION ivB.0 COMD SALIDA ow AllasPot.0 Pin. mamedo FOOD Fre 0 bo “Toggle Foco CCompusmenTo a FOO Wait! "ESPERA 1366) Loop end (GR weracies eromesros 4. Renlizar ct cambio alternada de encendide y apagado de 2 leds, ceonectados at PLOY Pb | 2. Reatizar un programa para un seméforo que controle 2 vias simples, onde le duracian del verde 20a 20 eg, la durecion dl rojo sen 8x09, Yin del amaio sea 3 seq. 4, FUNCIONAMIENTO DE HARDWARE E INSTRUCCIONES AVANZADAS DE BASCOM AVR 4.1 Displays de 7 segmentos El display de 7 segmentos es un canjunto de leas tunidos ya sea par su dnodo (AC) 6 cBtodo (CC). Ademés posee un etiquetado para cada segmenio desde la letra" hasta la" Generalmente son usados con ecndiicadores ca BCD a 7 segmentos como las compuertas 74.547 741348; pero cuanda se trabaja con un ‘microcontrolador, la decodificacion o Ia Informacién que va hada ‘el alsplay, so Ja puade hacer intemamente, Cuando se va a utilizar el microcantrolador como generadér de rumereciin decimal en un display de 7 segmentos, primero se debe generar una table de codiicacién para ceda niimero o carécter, dependiendo del funcionamiento del display, ya sea como énodo o cétoda cam, La tabla 2 muestra la codticaciin respectiva para un display de dodo comin, y2 que su encendido es con ceroslégicns (0's). Pe. Pxé | Pes [Px et t oe ie fe TT fecal peer] teal | ao fl i ities I 17 Ose 9 he a a ea oe 1 fo fo fo a OE a | a a 1 fo. fo fo geo fo 1 fo fa To, feo = a a i Fabia 3 iohejoae ay Romivo Vndeneia 8 » Thom ragonnin TRS = Le PROYECTO 2 “CONTADOR 0-9 EN DISPLAY DE 7 SEGMENTOS A.C” Ei precete proyecto ica un contador del O a9 con un delay de7 stamens de Anda Comin sregte = "nade it" IMBCRO A USAR ES ATER ‘$orystal = 8000000 “CRISTAL INTERNO DE OSCILACION. Serta vont = Ostet PUERTO @ COMO SALIDA DBepiay Alias Prt ‘PUERTO 8 coMO ALAS DIEPLAY Diplay ae oeoS Los seaMEnTOS 192GA0S bo i ply = 811000000 ‘oni80 no. i wae! ; Daly = 8623821001 100160 No.1 : ‘tan! Deploy = ar0100100 coo1g0 wo. 2 ; ware! Dophy = 451010000 “cporco no.3 wae! Dopey « Rosoo1z01 ‘c00160 No.4 wate! : Dply = 861010010 O01 No.5 ‘ wait! Deploy = 9510000010 c00ic0 Na 5 j wait! Deploy = 8031331000 ‘0010 No.7 i wat! Deply = 8810000000 ‘co01co ta & i wat! Denby = aes0010000 ‘co0160 No.9 : wae! f Loop j fa 2 Gy owaces PROPUESTOS ‘ Realizar contador apara un display de 7 segmentos, pero con un Uiccouticsdor 741347, de maner que ta decodiicacion no sea hecha por el microcontotador. raciin APE 4.2 Teclado Matricial axa Jntemamente un teclad es un confunto de pulsantes, fos cuales estén unos fen comtin por fias y columns, 213 [al 5A races de deteein de tla oe lo puede 5.[.6:[ | | teotar por mecio do‘un tonite we feet column el al eons en pone sb nae [7181 9['C] Sorvae)y cetsctaro en fa o eotunnn mete tee| Sacco Eb f| EE: al al of ol En fa figura se muestra la aisposiciéa Interna de un tedlado, en el cual se puede ‘precare! harrido por files, Figura 17, srucra nto por pulses del aca Herod La tabla 3 muestra ta codificacién respectiva para un teclado matricial 6 hexadecimal, por medio de barrido por filas y detecckin en calumnas, Pe? [hed [Pes Tend oles “ter “Tabla 3. manejo de tecado mediante cdo ———— Ra Valencia 8. PROYECTO 3 "TECLADO 0-9 CON VISUALIZACION EN DISPLAY DE 7 SEGMENTOS A.C” proyecto 3 muesre en un doy de 7 segments de Ano Com ‘pesonods eo ted mare =a latcts que a sido $reofile = msde dt ‘crystal = e000000, ‘contig Portd = Output aro = as0000111! Porth = aolincitt) Diy Aline ord alia Per. 3 Alias Post.2 Aline Peth Ya Alig Pt 2 Alias Pts Sali Pes vantage? Dien Teds As Byte Display = Ait bo edo HYi= ohn Tec = 7 M2 = 0 hen Tech = 8 13-0 Then Teds ~ 9 AF V4 = 0 Then Teck = 10 x= 6 ro Valet THICRO AUSAAES ATIESES TCRSITALINTERNO DE OSCILACAEN UERTO 8 COM ENTRADA FURL UP S108 SEGHENTOS PAGRDOS SCION EN COLIN hem" programactin AVR’s aI v0 WY; = 0Then Tec Y2= 0 Ten Teca = HY3= OThen Tec = 6 TEYA> O Then Teea wet x Tvs OThen Ted L TEY2= 0 Then Teva = 2 HYS=OThen Tec = 3 HFY4 = OThen Teca = 2 wont m0 WYt= 0 Then Teca = 13 uY2= OThen Tesla =O HY =0hen Teco = 14 HY4 = OThen Teco = 15 Maei Ie Tocle < 167m atin $00 Ese ener Tees = OThen DDepiay = 8011000000 Ena than ‘bi1t11008, ‘pay = 8810310000, Enait Wrecks = 4Then Display = 6910011001 Ena It a¢Teca = 9 Then Depa = 8510010010, ena amino Valevela B 0 EN LA FILA 2 ¥ DETECCION EN COLUMNA (CERO EN LA FILA 3Y DETECCION EN COLUHTIA "CERO EN LA FLAY DETECCION EN CDLUMA "RETARDO SI NO HAY TECLA PRESIONADA ‘CoDI6D Ho. 5 *CODI60 Ne "00160 Na. 2 ‘CODD No.3 ‘COOLS No. 4 ‘CoD Ho at Teea = 6 hen Diplay = 4810000010 End it a¢Teca = 7 Then pay = 4801711000 tat 16 Tec = 8 Then spay = wei0000000 enait I Tece = 9 Then Depay » 4810010000 End it Loop nd : Now Ramiro Voteaco 2 ‘cODIKO Wo. 5 ‘coptce wo. 7 ‘CODIGD Ns. 8 ‘cooIG0 Ha. 9 s nportante reakar que cuando se va a tata un Puerto como ends, = cesar lomeslo come PIN saa Ser ado emo Sls debe lamar cs PORT. \ GR wmncrios reovvesvos 1, Realizar contador Up-Down de® a @ por medio de 2.pulsantes qve : funcionen como mandes para un splay de segments Bh Prowramuciin AVR'S 4.3. Display’s Multiplexados Un display multipiexsdo es un conjunto de 20 mis displays simples, que Intemamente tienen unidos sus segmentos comunes y su habiltacién es separada, para cada uno de los csplays. I principio de funcionamiento de un display multiplexado, 3¢ basa en un tiempo de visualzaciin muy pequefio, debido al tiempo minimo que el ojo homano puede detectar las imagenes en moviniento. EI bartido de displays es similar al barrido de tecledo, ya que se trata de habilitar por softwere et dispay elegido y enviar el dato que le cotresponce. SI bien es certo, todos los displays reciben fos datos desde el microcontrolador, pero solo Uno los va a mostrar, debido a que el mismo microcontrolador elie a cual display habiftar. Dicha hatiltaeién se realize por madio de Vcc (en displays AC) y Gnd (en splays CC), con la ayuda de un transistor en corte saturacién. A we Figura 18, Conesén de depts de 7 segments para mutiplecié por habitaco. VUREESTATT TALL LULLLUL LURE RESUME RRR ULL RLU USTs c PROYECTO 4 "CONTADOR DECRECIENTE PROGRAMABLE MODULO 99" Cone presente proyst, ee puede etear on nero de 0-9 y por madi del pul life avanca un cortadrdecrelete asia Bear. ede ‘Sreafile = “nde cas Seryetal w en00ec0 Din Unidad As Integer Dim Decora As Integer Dim IAs integer Dim } As tateger Dim Hur(i0) AS Byte Cong Parts = Output Config Perth = Output ITRADAS A PULL UP Declare Sub Cuenta() CECIARAR SUBRUTINAS Deciare Sub Viswaia() Declare Sub Espera(), Fort=0709 uni 1) = Look, Mureros) amir Folenci s 2 aime: ete: Unisad = 1 Decent = 1 bo Goeu Vewtra Pine = Then PULSANTE DE UNIDADE ‘W Unica = 10 Then tnigad = 0 Ena tf ier Unga Gosub Epera eat nea = 0Then (RASANTE DE DECERAS 13 Decona = 10 Then Dacsna = 0 raat ner beceno Gonub epers eat affine 2 = 0Then PULSANTE DE INICIO DE CONTE Centar: rosea Goto neo ent {Gosut Cuenta ‘Gosub Tiempo ‘Goto conar “ Ende Loon pera SSUBRUTINA ESPERA TrPinc.0 =0 Or Pine. = Othen ‘Gow vewiza Goto eer , enait etuen ‘And Unidad = 1 Then cuenta SUBRUTINA CONTA LOS NUMIERDS Dect no 1 undes = O Then Dear Decena Uniéad = 10 osu Visto 1 Decens = OTHER Decenia = 1 sad = 2 Goat Vuwiza oat endif Ramiro Valence B 28 CIITITIIIIILITITISTI TIC ITETECCETELT ES TITTY 3 Viuata SUBRUTINA PARA VE Perth = 4: Porta = Hum(unind) Wate Port = 2: Pert = num(decens) Woaltras 5 Return “Terr SUBRUTINA DE TEMFO Dm Tenp As Integer ForTemp = 4730 Woartms 20 Gosut Visalia Next Return end “TABLAS DE NuMEROS Numerost Data 6HCO, AHFO, GHAS R50, BHSD AHO? SHAD, AND, BMOD, ee GR erscacios meavvesr0s 1 Reallzar un velo} que sirva como contador para ajedrex, el cual ppermita configurar minutos y segundos de juego: Adomar vba tance Bulzaates para cl paro de unJugacar y conten del otro jugador i 4.4 Matrizde Led’s 7 «5 ‘Una matriz de leds es un conjunto de led’s unidos en comin ‘por su Snado 0 cétado. Dicho punto comin, generalmente son las columaas (5) y los demas puntos son los datos (7) principio de funcionamiento es similar a 1s de un éicplay rmultiplevado, ya que se debe activar Ia columna deseada y Juego enviar el dato correspondiente a esa columna. ora poder visualizer caracteres en una matriz de led's, es recomendable realizar una tabla de datos. Ca SrFreR BERR S eas S hy gi = , A g| gl 2 ay f i SEFFPR Serer eR alee iz SEER Rp Serer i _[ B0_[ CBaigo | Cardcter 1H 36H 36H D EH to fo. OOH Teas pra et mane de mate de ees PTS mielelg Pe a i i 1 | | } ! i | } | i Mont Programa AUR’ PROYECTO 5 "VISUALIZN | proyecto § permite vaaloar Sepondieno def coibinacn ON DE LETRAS EN MATRIZ DE LEDS" Se ponga ene dp ste. 0 und ate da dls AS, BS HAE A, B,C y 0, $regfe = “rsde d Serystal = #000000 Contig Pod = Output Contig Pe Contig Pet Declare Sub Lete() Declare Sub Leth) Declare Sub Letc() Declare Sub Leta) 0 Pine 0 = 0 And osu tcta inc. 0 = 0 And Fie. osu Leto Encit WeeincO= t And pipet OTHER oN Gowub Let enalt 1 Pine = 1 And Pn Enait oop Rania Valence Then Then AUSAR ES ATHIEGAS: (COMBINACION PARA LETPA A NPA LETRA B Bh programacion AVR’ eta “CARACTERES PAPA LETRA A Ports = 8500001 Perea = 880 ‘Waits 10, Ports = asn0010 Portd = 8137 Waftes 10 Porth = ascai00 Portd = 8437 Wists 10 Ports = 01000 Bae = 88157 ‘Wests 10 waitin 10 Reture Let *CARACTERES PARA LETRA 8 Fort = asoc001 Porta = 800 Watts 10 Port = aso0010 ortd = B36 Waites 10 Ports = apo0100 Bored = 8835 Wrolome io Porth = asoto00 Portd = 8526 ‘waltms 10, s Port = €010000 Portd = 8199 Watts 10 Return ete CARACTERES PARKLETRAC orth = R500001 Portd = 8:1 Waits 10 Pore = ssoa0i0 Pored = Si Wats 10 ores = 800300 Portd = 136 ‘waite 10 orth = 4801000 Romiro Vetere B Watieas 10 Ports = 481000! Porta = 838 Return ete Porto = aooo01 Portd = aH00 Wits 10 Port = ae00030 Portd = 856 Wattme 10 Porth = ae00300 Porta = RE Weaitms 10 Porth = 4202000 Portd = GH3E Waits 10 Ports = £20000 Portd = 612 Waits 30 Return ene EIR Bata cies raorEss LANE RACTERES PARA LETRA C 4. Reallzar un letrero mensajero con 2 matrices le feds 725, em et cual se visalice constantemente fa palabra ‘esplazando de deracha a laquierd. HOUR; fa eval se debe estar Bln" Prosramactin AVR's 4.5. LED (Display de Cristal Liquido) Un display de cristal lfquido (LCD), 5 un dispasitiva que nos permite mostrar informacion alfanumérica 6 caracteres dlsefados, presentando, tuna ventaye sobre los dlsplays de 7 segmentas. I manejo de un LCD, se basa en luna secuencia nical de comandos que deen ser enviados desde el microcontrolador, durante un tiempo predeterminado por el fabricante, Pero cuando se trata de programacion an alta ive, este proceso es realizado internamente por el compilador 6 por librerias (que estén previamente hechas en el sofware. En al caso del bascom AVR, podemos controlar al LCD de dos maneres: por ‘camandos © por configuraciin en cuacro de dialogo, Medionta comandos tenemos: 4.5.4 Config Led Sirve para configurer fa clase de fed que vamos a utilizar, puede ser de 16 ‘aractares por 2 ineas (162), de 20 caracteres por 4 lineas (20%4), et. Por elemplo: Config ed = 16%2 (Display de 16:0) 4.5.2 Config ledpin Sirve para configurar las pines por los cuales se va 8 manejar a informacion la clase de led que vamos a utlizar, puede ser de 16 caracteres par 2 lineas (18:2), de 20 caractores por 4 lineas (20%), etc. Por ejemplo: Config Lcdpin = Pin , Db4 = Porta.4 , DoS = Porta.5 , Db6 = Porta.6 , Db? = Porta.7 , = Porte.7 , Rs = Portc.6 4.5.3 Config ledbus Esta instrucein sirve para configurar cual serd el modo de envio de datos, ya ue puede ser hecho gor 4 pines u 8 pines Por ejemplo: Config Ledbus = 4 (4 pines de datos) Bumiro Valencia 8. 4 45.4 Led” Sitve para escribir cuakquier frege en et led, sin imgo cursor. locanzacion det Por ejemplo: Led "HOI 45.5 Locate xy SSive para localzar el cursor en la linea y columna adecuada, para poder ‘empezar a escribir ene! Ic. or ejemplo: Locate 1,3 (Localzacién del cursor en a fla, columna 2) f 4.8.6 Shiftice Sirve para mover todo el texto del led, ya sea para la izqulerda o derecha, con las instrucclones: Shifted left Shifted rigth | Mediante cuadro de diatogo tenemos: Bascom AVR, nos permite interactuar con el hardware, mediante cusdros de dialogo, a los cuales podemos ingresar mediante el Menti de Opciones, ef mismo que nas aprueba la corfiguracién de los pines que ocuparemnos para realizar la comunicacién con los. distintos cispositves 0 perféricos de un | microcontrolador AVR, I eae sents. foe te Coumanstsn |= ume sear Figura 19, Cunsr cde bg del BASCOM AVR para coniguar un LD. La siguiente pantalla nos muestra como podemos canfgurar los pines y et tipo de LOD que uiiizaremes, Shem programacion AVR's es Sst ope Na Po Shonen teunatiod Figura 20, cvsro ce diigo el BASCOM AVR para escoger Funan Es recomendable realizar todas las configuraciones de dispostives madiant= cdigo y mediante cuadros de dialogo; de esta manera nos aseguramos qua la informacién de las interfaces de salida estén dablemente esertas y no se pierdan en ningtin momento. PROYECTO 6 “VISL ZADOR DE NUMEROS 0-15 EN LCD" Fe mreyeco, ras pores vuliar nimeres dsl © al 15 en wi LOD, ma ‘ambiance eres en el di ow oe mo (ee Dien As Byte It (Config Pres = Input t Cenacle Pores Contig cd = 16 *2 Config Letiuss 4 Config espn = Pn 004 otb.2, bbs | Locate 11 {ERADIR EN ELLeD | eeeecrasise oeate 2, 1 Led" PROYECTO 6 1c0* wait? | ae RRA EL cD be Contador = Past TESCRISE L MUIERO EN EL LeD B= contador Locate 1,1 Leas NUKERO Leeste 2,1 oop End GG HeRcacios PRopuEstos: Reallanr una enleulndora deciml (+), <1 fs eual 2 ingrese los “oteres ny tclada y se viewacw on ol LC 1632 4.6 Comunicacion serial con et PC La comunicacin serial ‘= twcarc entre dispostivos, se i: at basa en el [-mecnse intercambio de informacion mediante lineas de trancmision an pit y recepcin. Uno de los Circuits integrados que nos ayudan a realizar 1a ‘comuricacién sonal y a entra un gH microcontroiador es et ee (MAX232, ef cual os un conversor do nivel 5232 a TTL y viceversa, 4.6.4 Cable Null - MODEM Un cable null ~ MODEM sirve para realizar comunicaciones serlales mediante cl puerto DB9 de un computadar. Las sefiales provenientes de un puerto serial del PC, son entre otras: RX {Recepciin), TX (Transmisién), GND (Tierra), RI (Ring Indicator), CTS (Clear to Send), RTS (Regist to Send); pero de las cusles solo se pueden utilzar $ para realizar la comunicaciSn, Dichas sefales son Recepeldn (pin 2), Transmision (pin 3) y Gna (pin 5). Para realizar una comunicacién bidireccional, sea half duplex o full duplex, se daberd realizar un cable en donde se unan a recepcién de un lado y la ‘ensmisién del otro. Las instrucciones que nos pueden ayudar a realizar la comunicacién serial mediante un microcontrolador y un PC, pueden ser de tres tipas: con retomo (por software), por interrupcién y coa retorno (por hardware). Las lestrucciones. gor reterno necestan como ccaformaciin de ervic 0 recepcién de datos, ef carécter ASCII No. 13 (ENTER) y las instrucciones de ‘nterrupcién habilitan una subrutina que ejecuta [2 trensmisién © recepcién serial Runa Valencia B 38, 4.6.2 $baud Esta es una Instruccién de configuracién principal, que sive para det idad de transmisién ala que se van a comunicar ls dlspostvos. Por ejemplo: $baw $bau 4.6.3 Print Sirve para enviar datos en forma serial, desde el microcontroladar hacia otro dispostivo, como por efempl un PC. Usando con ef Comando “input generaimente es una instruccién con retoino. Por ejemplo: Print "HOLA" (Transmisin de letras y varlabies) 4.8.4 Input Sirve para recircarecteres desde otro dlspostv hacia el microcontrolador. Un inconveniente que presentan “print” © “input, es que nevesitan camo confirmacién de datos el cardcter ASCIE (13) “ENTER” antes mencionado. Para ello es mejor o recomendable trabajar mediante fa interrupclia del pdrlico serial, 12 cual es activada ya sea por la recepciin o la transmisién desde el ‘microcontrolador. Por ejemplo: Input A (Recepcién de datos en la variable A string”) 4.6.5 Interrupclén del Pértico Seriat Mediante fa Interrupcién del puerto seria, serd un poco més sencilo el mane} global del programa, ya que al menos no deberios preacupamos en que instante nos puede llegar un dato; sino que simplemente realzamos una subrutina, la cual se encargaré de almacenar dicho dato, proventente de una fluente serial externa, tag instrucciones usadas para realzar una interrupcién de recepcién det puerto setal, son + On Urxe Serial: sive para actvar la caso de recibir un dato, brutina Hamada SERIAL, en + Enable Interrupts: Sve pera habiltar las interrupciones presentes fen el mlerocontralador Fem Propramucién AVR's + Enable Urxe: Sirve para habiltar la interupcién de secepeidn del puerto serial + Inkey(): Sine guardar un dato recibido por comuniacin serial en una variable declaraa 4.6.6 Comunicacién por hardware Ls comunicacién por hardware, es similar a la comunicacién con retorno por sofware, con la dnica diferencia que se deben abrir pines para transmisiin y recepcién definidos por el usuario. Las inetrucelones utlizadas para abrir un puerto serial por hardware sons + Open: Sirve para habiitar cualquier pin det microcontrolador, para que Funcione como entrada 0 sada de datos. Por ejemplo: ‘Open "comd.1:9500,8,n,1" For Output As #1, Para transmisién (Open "comd.0:9600,8)n,1" For Input As #2, Para recepcon + Close: Sive cerrar la utilzacién de los pines de racepeién y transmisin, Por ejemplo: Close #4, Para cerrar la transmisién Close #2, Para cerrar la recepcién + Print #2: sive para tranemitir por el pin de transmisén virtual + Input #2: sirve para recibir por el pin de recepcién witual. CCon la ayuda de estas Instrucciones, se puede tener la versatilidad de 2 puertos serales dentro de un mismo microcontrolador. Ramiro Valence 8 PROYECTO 7 "USO DE PRINT € INPUT 1 presente projet, permite Hgreser ak nner ede comkeegn seta fiaponcend Gl numero, iva una sscrc erent pas Ia ova da eds. Dim A As String” 1 Pate =0 Declare Sub Unot) Dacire Su Doo) Declare Su Tree() "CONFIGURACION DAL LCD = Port. , O25 = Ponb.5, B96 » Penh , C7 = Pet? Locate 1 \ tess fnicnor.ee toeatez, 1 i tear mivecto7 + ' : be Pint nese unter 2 scot DOE EL EROK Tepe 2 Sfononnn was" Then as tocate 11 ted" ESCOGIO OPCION = Locate? 8 Led ‘ost Uno trait MA="T° Then ds Locate tt ted" ESCOGIO OFCION Locate, 5 Led ‘Goeu 005 Ena aA "2° Then ae toeate tL ted" EScDGIO oFCION oeate? teas SGosub Tes ena Loop ne: Porte = 4: Waitms 500 Porte = 1 Waitms 500 Pere =0 Return os: Porte = 17 : Waltms $00 Porte = 40: Waitms 500, Porte = 4: Waitms 500 Porte = 10: Waltms 300, Porte = 477 Waits 500 Pone = 0 re Porte = 31: Waitms 500 Porte = 0: Waltms 500 Porte = 31: Waltms 500 Pot =o Poogramacion AVR's {COMBINACION 1 DELA BARRA DE LEDS ‘COMBINACION 2 DE CA BARRA DE FOE ‘COMBINACION 3 DE LA BARRA DE LEDS SECUENCIA 1 ceeuencia? t Programaciin AVA's PROYECTO 8 "INTERRUPCION DEL PORTICO SERIAL” con ete peysct, se pute hgresar desde un FC on nlm de 0 25, pare reste en un diay de 7 segrertos AC. La venaja & que el programs noe diane Pata acd elaimero, soo quel espera ls terre Srl para saree, = rode it” TWICRO A USAR ES ATIESRS eann000 ‘000 VELOCIDAD DE TRANGMESION See Contig tet = 152 ‘Config Prt = Output ‘Confog Parte = Output ; Port = SiFF Dim Carder As Sting * 2 ‘CARACTER A RecN ‘On Uric Suber ‘ACTIVA LA SURUTINA DE SNTERRUPCIO Enable Interrupts ‘RETIVAR TODAS LAS INTEARUPCIONES Enable Urxe NCTA LA TNTERRUFCION SERIAL Print grese un quero 0S" be Pruner aL Fore = 3: weltms 420 porte = 7: Walle 400 Porte = 25 Waltms 0 Porte = 0: Wits 460 Loop Bem" propramacién AVR's an. subs THSTERRUPCTON SER-AL ‘Coracer= Inkey() ‘SE ESPERA RECIBIN UN CARACTER Select Case Corecter o.0 to No.2 3 Caco" No. ase 5" ro. § Gace 7" Port) = RHF No.7. (Case 8" Portb = 880 No.8 cage “9 Portb = 890 No.8 nd Select Return End EIERCICIOS PROPUESTOS 1 Realizar una distribucin de feds os cuales puedan ser utlizacos Como letrero mensajero. Una ver realizado ello, escribir un programa que permita ingresar una frase por comunicacién seat Etimlcracontrofndory pueda ser visualize en el etrero. 2. Reaizar un programa mediate Inerrupcién serial, que permits ‘ambjar Ta Secuencia de prendido de un conjunto d® leds, “istribuiow on una figura de Sebol de navids smivo Valencia at UVULUULUL LCC coe sia i 4.7 Sensores Tatrarrojes, Opto ~ Switch , Sensores és Luz Ls sensores de luz, opto-snitch e lfrarrojas, se manejon mediante pulbos que detectan de acuerdo con la sefial de manejo. Lo primordial en estos casos es el cirulto de acandicionamiento, yo que su sefial en recepcién es un poco débi, para lo cual se recomicnds un circuto ‘easado en el mangjo de sensores infrarrojos. Figura 21, Conevanes de sensreswiaroics yeseuue erie Este dreuito puede funcionar de igual manera para las opto ~ switch) per ejemplo para medir las revolucanes de un motor & para los sensores de tux para realizar un robot seguldor de nea negra o blanca, Normalmente co esta disposicon, los leds infrarrojos pueden transmiir hasta tuna distancia de 10 a 20 cm, pero dependienda del crcuito de amplficacién de potencia, estes pueden alcanzar 1 2 1,5m, como para aplicaciones de control remote, Bho propramacién AVE PROYECTO 9 “CONTADOR DE OBIETOS MEDIANTE SENSORES INFRARROJOS (MODULO 100).” {ste proyecto, permite conor cbs que pasen por una banda tranporador, donde fs Teas racic estén 9 le dos de es ets. Per facia en a simulocién whe pus tn pulante, pero en el mantae dl creo se reomienda cmb por elcreuto descrto ‘MICRO A USAR ES ATIEGAS im Unidas As Intoger Dim Decona Ae Tateger Dim As Integer Dirm) As nteger ‘im Rem 0) As Byte ‘contig Pots = Output SNTRADAS PULLUP Dectare Sub cuenta) Declare Sub Vsuoiat) Decare Sub Esser) Rumi + 1) = Lookup(, Nomieros) Next “TaaLA DE DKTOS tea t | | | | ' | 3 Prograractin AVI ba (osu Yeates YE inc = DThen PASH U8 OBIETO CUENTA {Wllssod = 10 Then Uni = 1 boc Etre ner Deceno End Ente Tier Urided osu pera eat boop spa ‘SUORUTINA BPE Pied = 0Then Gate Ears endat Port = 1 Waite 5 Port = 2: Portd = Num(decers) Waites 5 soturn TIN VISUALLEA ort Namunieos) Numeos “LA De HUMEROS Data BHCO, RHFD, BHAA, BHED, GHOD, e102, AED, ANE, BHO , ADD Emacs mmoruesros ~~ ' i 4. Realizar crcuito para hacer un contador é revoluciones SR Programacién AVR's as 4.8 Motores 2 Pasos y Servo Motores ‘Dentro de las aplicaciones para los diferentes elementos que pueden manejar los AVR’s, estén los motores de precisiin, lo nico que debemos considerar primordial dentro del uso de estos motores es su funcionamiento, 4.8.1 Motores a Pasos Los motores @ pasos pueden ser de limén permanente o ce reluctancia variables, Dentro de la dasificecién de iman permanente estan los bipolares 0 unipolares, Figura 22, Earucura Intends metores de paso Los bipolares estan formados por dos bobinas,y la intensidad que circula por ‘las invierte su sentido sucesWvamente (de ahi surge el nombre de bipolores) Sse pueden reconocer externamente porque presentan cuatro conductores, uno para cada extremo de una bobina i Wy AB CD 5 Figura 23. eposién ds boblnas de un motr de paso bipioe Los unipolares presentan un estator que est’ formado por dos botinas con tomes intormedias, lo que equivale a cuatro bobinas. Ramiro Valencia ae hme propranasion AVR tas tomas intermnedias de tas dos bobinas pueden estar interconactaias en interior 0 no, Externamente se apreciarén cinca conductores ei el primer 3:9, yy seis en el segundo, in eb AB GD Figura 24, spon de las bobinas de un moter de paso Ungar ehh Aa? lo esencial es como poder detectar las secuencias de sus polos. He aauf un Consejo recomendable para detectar los polos de un motor a pasos unipow: 1. Conectar los dos cables de igual color hacia el posite de la fuente de voltaje (SV 6 12V generaimente). 2. Conectar cualquiera de los otros cables a tea, a ese la Hamaremas A. 3, Luego canectar secvenclalinente 9 tera otro cable; sf hay un ligero gto en sentido horerio le lartaremos B. 4, Si el gro es antihorario @ ese pol le Harsaremes C. 5, Por Gitmo et que no presente ningtin gro @ ese le lamaremoe D, SECUENCIAS PASO SIMPLE sta secuencia de pasos es la mas simple de todas y consiste en activar cada bobina una a una y por separado, con esta secuencia de fencendido de bobinas no se obtlene mucha fuerza ya que solo es una: bobina cada var la que arrastra y sujeta el rotor del eje del motor. Hh programacién AVR's PASO DOBLE ‘Con el paso doble activamos las bobinas de dos en dos con lo que hhacemos un campo magnético mas potente que atraer3 con mas fuerza y retendré el rotor del motor en el sitio. Los pasos también serdn algo mas bruscos debidos a que la accién del campo magnético ‘es mas paderose que en la secuencia anterior. MEDIO PASO Combinando los dos tipos de secuencias antoriores poremos nacer moverse al motor en pasos mas pequefios y precisos y asi pues tenemos el doble de pasas de movimiento para el recorrdo tatal de 360° del motor. COTE CCC TTT TTT TTT TUL UU UU CCT T TULA Lars b PROYECTO 10 "CONTROL DE PARQUEO CON MOTOR A PASOS proyecto 10, permite ngresor una dave cualgsra por comunincin earl, acinte fsa ve se levonta un ratr a pasos para dejar pasar el 20 eee ES a ee a Sreafile = “msdotat” “MICRO A USAR ES ATHEGAG $erystal» 6000000 Config Path = Output Dim AAs String * Dim Cont as sting * 4 Declare Sub M3000) Pon = 0 Print TGRESE 1) ENTRADA 2) SALIDA’ ‘ESCRIBO DESDE EL MICRO ALP Wats 200 Input a [ESPERO RECIDIR UN CARACTER 3 02 Watts 200 aan 3" Then set Drint"ngroso su Cle, ‘Waits 200 Input Cont Wats 200 Print USUARIOS"; Cont; "-INGRESE™ Gorub tor NCA PARA ENTRADA Ena It SECUENCIA PARA SALION Print “Ingyese su Cave." Inpuecen ‘waits 209 USUMID ; Cont GRACIAS SU VISITAT out Moe end it oop Ramiro Valencio 8 WUCSCCC TTT TT TUT UT UU UU ULC UUs Hi" Programeetin AvR’s eter SUBRUTIN Fort = Waits 100 Pert =2 ‘Walms 100 Penta ‘Walt 100 ror =8 Wales Pert = 4 Wortms 100, Port =2 atime 100 Port = ‘Wat 109 Return RNELMOTOR A PASS nd oo 4 Realizar un control de un motor a pasos mediante 2 bits éon | ‘ireuta integrado MPPC 001. 4.8.2 Servo Motores Los servos son un tipo especial de motor de c.c. que se caracterizan por su capacidad para posicionarse de forma inmediata en cualauier posicién dentro de su intervalo de operacién. Para ello, el servomotor espera un tren de pulsos {que se corresponde con el movimiento a realizar. Estén generalmente formados por un amplfcador, un motor, un sistema reductor formado por rucias dentadas y un circuito de realimentacion, todo en una misma caja de pequefies dimensiones. Figura 27. Fura de un seremotr comer] HITEC HS (1 Kom) EI esténdar de esta sefal controladora para todos los servos de este tipo, (Clegido para facitar el uso en radiocontrl), es un pulso de onda cuadrada de 1,5 milsegudos que se repte a un rite de entre 10 2 22 ms. Mientras el pulso se mantenga en ese ancho, el serva se ubicaré en la posicién central de su recorrida. $1 el ancho de pulso disminuye, el servo se mueve de manera proporcional hacia un lado. Stel ancho de pulso aumenta, e! servo gira had el ‘tro lado. Generalmente el rango de giro de un servo de éstos cubre entre 90° +7 180° dé fa circunferencla total, 0 un poco ms, segtin la marca y modeto. Figura 28. Diagrams de teipos paral urcenamiento de un serwometor no truncado Fn general, les servomotores pueden ser truncados, para facitar Su uso cama tun motor de DC con contro! de posicién, Pamiro Vafeneta 8 s pUSUTUULU Lea He" Programncion AVR’: PROYECTO 14 "PROBADOR DE SERVOMOTORES Nc” proyecto 13, permite realiar et oto normal ¢ Inverse de un serorcer, mainte 2 partes bend ‘grogfle = "seta TWACRO A USAR ES ATONE ‘erysta = 00000 Declare Sub Fnuerd) Declare Sub Dares) Dare = 0: Porte = 1 ENTRADAS PULL UP Dae = 0: Porte.t = 1 Contig Pat. = Output Config cd 16 *2 boente 11 ted" PRODBDOR DE * locate 2. | Lea" SeyomoTORES * Wit Porta bo ein = 0 Then, ‘ toeate 1,1 Lea” SERVOMOTOR * Locate 2,1 Led” GIR DERECHA {Gosub Perece end ODERECHA Pine ~ 0 Then ‘no TeQUIERDA Freon p, rogramacin AVR's Locate? 3 Led Gin ZQUIERDAY SGosub Inquersa EndIf Loop Iaguleier SUBRUTING IZQUIERDA, Poth = Waitme 0.3 Pert = 0 ‘Waltins 25, Pera = 1 ‘watts 2.5 Porta = 0 Waitine 20 eres SUBRLTINA DERECHR, Pet = 1 Waits 15 Port = 0 Wiaitms 20, Pact t= 1 Waits 0-3 Fertst = 0 ‘ate 20, Return ena f Gg emacs reorvistos 4, Realizar ef truncaje de un servomotor, para realizar un robot ‘Sequldor de linea negra, mediante sensores de hz Rarnirs Valencia B. 56 LEI TIS TIRES 49 Electrénica de Potencia Esta seccién trata de combinar la par de! microprocesador y con la ayuda de 'SCR's, OPTOACOPLADORES, C y la parte AC, mediante el control ‘Gementos de potencia como TRIAC’s, El contro de elementos de potencie media ifcer la cantidad de tempo que se mantiene contralaco, ‘microcontrotador, se basa en noendida el dispositva a sr nla siguiente figura se puede apreciar una onda de AC tle GOHE, recifcada en ‘onda completa, la cua ene un perioda 8,33ms. Figura 29. Diegrema de tempos pala deteccisn de ee por cro ee a Sa AC He 6, f= cone ra wet otetses 16 mr me tae” Ss 2290 7 1S 55m Un optoser, optotransistar, opttriac, ef es un elemento de mucha aya en lesacoplr las teras AC y DC y edemas en detectar el cruce par cero pera pocer disparar un elemento de potencia NL TN om, Figura 30 Diagram de emus part actnacién Genin elemento de petenle om; a 7 Le RB a 2 x SAMI pn] Peon Programacin AVR's ane Mediante el siguiente crcuto se puede controlar la intensidad de voltaje que se suministra 8 un elemento de potencia, lo que se debe tomar muy en cuenta €3 el aislamiento de teras diatales y de potencia mediante los optoacopladares. ‘otro aspecto muy importante es el tiempo de disparo 0 dngulo de inicio de disparo, mediante el cuat dos a el tiempo que permenece encendido efectivamente un elemento como por eJempio un foco, un motor AC, etC. Figura 31, Diagrams de conesones par rear el conta fase medane un iereconroador VR | f | TUAVL TTT TUT SSUSTTTULLLL ITE Th ecem p ca cgramacién AVR's 4.50 RTC (Real Time Clock) Intemaments un AVR, se puede decit que cantlene espacios de memoria no ‘volt, en los cuales se actualizan los registros de hora y fecha Para el Reloj en tiempo real que poseen los AVS, es necesaria habitar unas Instrucciones que son primorciales en el funcionamiento de esta terrarienta 4.40.4 Config Date = Mdy , Separator Sirve para user un separador tipo / 4.40.2 Config Clock = Soft Se configura e! reo interno, ya que se dice que serd usado por software. ‘Ademés se puede configurar el rele) como hardware, ya cue se puede usar DS1307 mediante comunicocién T2C. La manera de configurar dich ‘somunicackin es por comands 0 cuadro da diakago al igual qua ef LCD. lie: [oom cao oss eee Stlpot --pgriao a Slsok fartae =] Figura 32, Coofiuracin de comunicacér'12C mediante BASCOM AVR. 410.3 Dates Para poner el data de la fecha en cualquier disposi de sada, ya sea un led o eiPC. 4.40.4 Times ‘ Para pones el dato de la hora en cualquier dispositive da sala, eiPC, sea un lod 0 440.5 Enable Interrups Pra habilitar Ia Intesrupcién para el conteo del tiempo de manera exacta, Aelemés hay que tomar muy en cuenta un aspecto importante, que es el conectar un cristal de 32768Hz entre las pines Toscl y Tosc2, ya que serd éste 21 encargado de generar los pulscs necasaris para que el conteo sea preciso. smacisn AUR's Bhim preg PROYECTO 12 "RELO) CONFIGURABLE EN LCD 20x4" proyecto 12, permite wisualar un ee en tmp real en un ed 204, cual puede ser Ipunlado medisme 2 pabantes. sregfile = “mener da Seryetal = 600000 are.0 = 0: Porte = 1 Dearest = 0 Porte Cambie alias Pret ‘omentar lias nc contig ted = 20° 4 Config tus = 4 Contig Lean Config Date = May, Separator =/ ‘Config Clock = sat Times = "36:45:58 Dates = "06-07-08 [Enable Tnterrupes Dim Minuto As Byte into = rin ‘Led "FELO) EN TIEMPO tea "Real (MICROTEL) Wate ‘im Corbin As Integer MICRO A USAR ATES ENTRADAS POLL UP Portas, O06 = Ports, Ob? = Pan, ;oRMATO DE SEPARADO ALOR INICIAL DE HORA OR NICAL DE FECHA "ACTUALIZR EL RELOF Fo Leena eva Remi Valente B. osu Trip Weambo~o then Cantu = Cambio + SGosub fspera matt Tf Cambiar = 17a Locate 3,7 ea sec" Gota Segundes End if {tconbiar = 2 Then Ende s¢canior = 3 Then cambiar = 6 Than locate? Lea Da Gato Das Eat If carbiar= 5 then Locate 3,7 tea Hox Goto esse Ende If combior = 6 Than, Locate 3,7 et"YEN" Goto Anos nat at cambiar -7 Then End if oto Ince equi: if arent ner se Gosvb Ep see = 60 Than Enat Geto tna Bamiva Vales bi JERUTINA ALSNENT (gouge & . ae rogramacin A ten ssunRUT At rumentar» OThen ner in Gost Esera Thun = 60 Then Ende into =n maar Goto ince Horas LUBRITINA AUBIENTO BE ORAS A Aumentar ner eur CGostib espera Gate Inco is: ‘SUBRUTINA ALIENTO DE DAS Er Aumentar = OThen Incr iy osu Espero St cay = 32 Then ‘bay t nant ena Gots Into eses: SSUBRUTINA AUMENTO DE MESES SE sumantar« 0Then Incr month osu espe ‘ment = 13 Then rent inate ito = enait Goto Inca boos 'SUBRLITINA ALMENTO DE AROS I aumentr = 0Then ner yea" osu espera fear» 100 Then year = 0 Ena ir endif {Goto Irkio Loop na Valencia R. BR" Programaciin AVe 1 comb = 6 Or Aumanar = Then Gosub Temp osu Espers rane return | Tamper “ACTUALIZAR EL RELOD Locate Re FORA: 7 Times toente 2 Led FecHa:*; Dates Return GG Srrcicr0s prorurstos | 4, Realizar un reo} en tiempo real en el cul se pueda coniiguisr & sor horas de alarm para que puss aetivares ud bicwer | a Remiro Valencia bi ESSTTTTTSTTTTSTTSTER LURE RUST TTS AU TALULA LETTE Biko Programaciin Aves (aumes 4.11 Memoria Serial EEPROM Le memoria serial es una de las herramientas que posee Internamente un AVR, rmodiante ésta, se faclita el métedo para guardar un dato que se quede grabado en memoria no voli Pera el uso de la EEPROM intema es necesario conocer principalmente ‘imensionamiento de es variables que pueden ser usadas. 44.4 ERam Mediante esta instruccién se dimensiona una variable para que puede ser usada ‘como puntero para guardar un dato en la EEPROM, Por ejemplo: Dim VAR As Eram Integer (variable entera para fa eeprom) 4.11.2 Readeeprom Sirve para leer 0 aimacenar en una variable, el dato que esté quardado en una irecdién espectfica de la memoria EEPROM. Por eiemplo: Readeeprom Normal , &H00 (Almacena el dato de la direccibn ‘00H en la variable Normat) 4.11.3 Writeeeprom Sirve pare escribir un dato en una direccién especiica de la memoria EEPROM. Por ejemplo: Writeeeprom Normal , &HO0 (Escribe en la direcci6n 00H, el contenido de la variable Normal) ‘Ademés €5 importante recalcar que se puede escribir en memorias EEPROM fexternas como por ejemplo las 24CXX, sino que el métado a emplear seria ‘comunicacin serial 12C. EF siguiente proyecto nos muestra un ejemplo sencilo de utiizacién de la ‘memoria eeprom pare quarder una dato, sin necesidad de tener energia en el sistema. ‘Resiro Velencin 8 SSSTTVLLLELE LECT TULUC UC UCUUL CC PROYECTO 13 “CONTADOR CON MEMORIA EEPROM? 1 scueite proyecto, permite aumentar or center meant el pusate. ds e ceo se v2 querderdo en la EEPROM, Natendo gue e! numero quad guetta tanto se dpague el seme, Sree = "det dt* ‘ceo Aisne ES ATHEGAG ‘crystal = S008 ‘conti ted = 204 ‘conescunacron pet 16> Conti Leabus in, Dba = Port.2 , ODS = Porth DBS = Pert , Do? = Pots, E = Porb.t, Rs ~ Poth. 7 Dectare Sub Esper) Dim Yaroprom As Eram Integer IAUABLE PARA LA Dim Korma Ae Integer WARIABLE TO 20M 7180 ENTERA PARA CAMBIO Cont Pine. = Input Daread =: Ported = t ermal as bo otra = Vaepromm ‘Resdceprom Norma, 00 Locate tea "CONTADOR DE NUMERO * Ned DESDE LA EEPROM hoo programaciin AVR's aus Fe ner Normal Gorub espera Wilteceprom Normal, 800 ESCRISO EN LA EEFRON COM LA VAR: LOCAL Vareprom = Norval "ALHACENG EN LA VARIABLE DE LA EEPROM End If oop fed = 0 Then Wattms 200 osu Epere End Tf End F rncacios paorutsros = 4. eatlzar ana gerradura con teclado matricial y sissy LED, en ta Cal se permita ingresar tas laves para fos usuarios, Ie cules | eben estar guardadas en memoria eeprom, para que de esta ‘manera las claves no se plerdan aun cuando no exista suministro I I 4.42 Bluetooth bluetooth es una tecnologia inalmbrica do corto alcance, depica a fa potenela que ge usa en su transmisor. Ubliza ta bande ISM de 2,4Ghz pare la transmisiin de dates, y su ventaja es que realia retransmisiones constantes en caso de péralda de los datos, de tal manera que es una técnica de envio de datos muy confab. Bluetooth tiene 79 canales para-el envio y recegcién de datos. Sobre un canal de datos se realiza una transmisién, pero sobre otro canal ciferenta se realza tuna rocepcién, de tal manera que si sucede Interferencia sobre ese canal, bluetooti combia slsbamsticamente de canal para realizar una retransmision catos segura, Después de cada paquete, los dispostivos Bluetooth conectados re-sintontzan su radio transmisor a una frecuenca diferente, sattando da un canal da radia 3 otro, a una aka velocidad (1600 saltos/segundo); esta técnica ¢2 Ie conoca como espectro dispersa can saita en frecuencia (FHSS, Frequency Hopping Spread Spectrum); de esta manera, los dispesitivos Bluctooth uitizan tod 12 banda de 2.4 GHz y si una transmisién se interfere sobre un canal, un retransmistin ocurtré sobre un canal diferente siempre y cuando esté libre. Figura 3, Detructn ce canals para la Wansmitn Dstt En cada canal, se realiza una transmisién de datos durante (na ranura de tiempo, cuya duradén es de 625 microsegundos. Los datos enviados por los sposttvos, se Intercalan durante el tiempo en el que dura le conexién entre clos, que puede ser cada 1, 3.6 § ranuras, i aH me | | fees © (Eis) ET" nea | | | Bec Programacin AVR's Existen dos tizos de transferencla de datos entre dispositivos: Los orientados a cconexién de tipo sinorone (SCO, Syncfranous Connection Oriented) y los no fofientadoe a canexién de tipo asincrono (AGL, Asynchronous Connectionless). ‘C$—-Q eae? euace ENLACE: Figura 35. pos de enlaces para ls rarsmstin bbtoat 4.12.1 SCO (Sincrono Orientado a la Conexién) Es un enlace simétrica punto a punto entre un maestro y un solo esciavo en una Pleored, El maastro mantiene el enlace de SCO usando slats reservados, Fl enlace respectiva lleva principalmente informacién de voz y el maestro puede mantener hasta tres enlaces simulténeos; mientres que los esclavs pueden mantener slo dos enlaces de SCO 6 hasta tres con dficultad. Los paquetes de SCO no se retransmiten nunca y se usan para transmisiones de 64 kbps. 4.12.2 ACL (Asincrono Sin Conexién) Es un enlace simétrico punto a punto entre un maestio y un solo eeclavo en ‘una Picored, E| maostra mantione ol enlace de SCO usando slots reservados. E} enlace respectivo lleva principalmente. informacion de voz y ol maestro puede mantener hasta tres enlaces simulténeos; mientras que los osclavos pueden mantener sélo dos enlaces de SCO 6 hasta tees con diftitad. Los paquetes de SCO no se retrenemiten nunea y ga usan pare transmisionos de 64 kbps. 412.3 Médulo Bluetooth "KC-21" Es uno de los tantos médulos de Bluetooth disponibles en el mercado, el mddulo Bluetooth KC - 21 incluye 14 entradas. para toro uso y offece ‘comunicacién de alta velocidad hasta 921 Kops. EL KC - 21, es un médulo de montaje de superficie, que conilene entre sus ceracteistices: una mamaria fash, perfil de SPP de Bluetooth y configuracién ‘rediante comands AT. yee Figura 36, Dstrbucn de pines de un médul Beto (KC-2L coe 2), Eluso del médulo bluetooth se lo puede realizar mediante comunicacién earial ‘ransparente, ya que el sistema microprecesado emite sofiales hacia el modulo {que Gnicamente sive como transceiver. Un ejemplo puede ser un microcontrolador que envia datos hada un PC, 0 una Pockst PC, donde se puede apreciar que la transmisién en wansparenia al e a Usuario Pesket PC Figura 37. Comunicacin enive ispsitvos bluetooth Ademés es importante recalcar que la comunicacién serial entre dispostives bluetooth se debe realizar bajo e! servicio 0 perfl de puerto serie SPP, ya que 5 necesarlo llegar hasta la capa aplicacion en [a comunicaciin entre 2 ispositves, 4.32.4 Comandos AT Commandos de Atencién es el significado para la abreviatura "AT Command, las cuates son instrucciones codiicadas para la ccmunicacién hombre-méquina. La configuracién de los comandos AT en ef médulo Bluetooth KC-21, dependen de un sistema de adaptacién que se realize a través.de un ciculto conversor do niveles RS232 a TTL por medio ce un canaf de comunicackin serial, tal como se 2 en ia figura, home Programaciin AVR'S icra cownieaanaigans corres ae pe ae Figura 38 Sistema de configuracgnmedionte comands AT El propésta de la eJecucidn de fos comandos AT, es causer efecto en el medo de furcionamiento del médulo, cuando éste establezca comunicacisn con otros dispostves. Une vez preparadio ol circuito de configurackin del mxulo Bluetooth KC-24, ¢3 nevesorio que se elaboren los comandos AT con lg ayuda de una interfaz visual {que emule un terminal no Inteligente; como por ejemplo, “Hyperterminal” de Windows, Figura 39, Conewdin dl néduia Beton hed eFC Luego de nciada la sesién de comunicacién, se deberd proceder a activar el Cdreuto con su fuente de alimentacién; en ese instante, se puede apreciar en la pontslia un mensaje de enlace que enviarS cl médulo, una vez que se fencuentre en estado activo. QESTTTTSTTTTASSTATAG LUT SUES T ETT TTT El mensaje correspondda a que e! médulo se encuentra en mado de finea de comandos para ser configurado y que su direccién (BDAddress), es la que se encuentra en pantalla y consta de 12 caracteres que son Gnicos para cod lispostve Bluetooth en el mundo, hacienda una referencia anéloga 2 lo ssucede con las direcciones MAC en fas tatjetas NIC de fos PCS. El propésito de estos comandos es cambiar algin aspecto en la configuraciin Gel tiéiulo KC-21, pero seria un poco extenso nombratios aqui, por elo en el CD adjunto se encuentra el datasheet de los comandos que pueden ser usados, Jo que se quiere con esta introduccién es que e! estuciante tenga en cuenta qua som ¥ para.que siven los comandos AT en un dlspesitivo cualquiera, Rarity Walon 1 SB Programacin AVR'S (ARE PROYECTO 14 “COMUNICACION SERIAL ENTRE 2 MICROCONTROLADORES” Ya que fy comunicacén blstcoth es erly transparente, se puede emulsr una ‘cominacén areca entre des dspestves, come por ejemplo 2 ricrocontoadores. EL frigo arsmitor erwin una sofal de cual pusante foe pesado ye mizo receptor Irosrra on un LCD ach varia, MICROCONTROLADOR TRANSMISOR {regfite = "det dat™ “MICRO A USAR ES ATIEGAS Serystal = sco0000 baud = 9600 VELOCIDAD DE TRANSMISION 9600 bps Declare Sub Esper) Dueb.0 = 0: Portb.0 = 1 ENTRADAS PULL Darb-t = 0: Portb.t = 1 Config Prt = Output Dare ~ 1: Porte0= 1 SALIDA PARA sup Une Aline Pb. 0 Des Aline Pm. be Tmo = 0Then RESIO rin" erat 50 ULSAN 1 005 = 0 Then "PRESIONADO PULSANTE 2 Print Toggle Pat Watt 200, Loop Esper (or Dos = 0 Then miro Valencla B, PRUE LUTIIASI SUT ULC ‘eats 200 Gate Epes ena Fotuen End HICROCONTROLADOR RECEPTOR regfile = "adel cat” Config Pa = Output bared = 1 Port Contig tnt ir i earate Rs Sng * 1 On Urse Getehar Enable interrupts Enable Ure Gs Toggle Parte Waitin 100 Loop cater In-cracer = Tokeyt) Select Case mcracer ‘care Uoeate t 1 ted C6 Locate 21 tea PUlsaNTet © Case" Locate 1,1 ed CG, SERIAL * Locate, 3 ted PULSANTE? * End Select Return mse Ene 1 Realizar In comunicacién entre dos P's, los cuales tenga como Interface. 2 microcontroladores. El_micro TX recibe de_ Is ‘computadora y codfen la sefal en MLT-3 ye! micro RX decodes ig'retal MLT-3 la ervia a otro PC. RO AUSARES ATIEGAS, PARA INTERRUPCTON 'CASO PURSANTE ‘caso potsaaTe2 EXERCICIOS PROPUESTOS Fane rogramacion AVR's 4,13. RFID (Identificacién por Radio Frecuencia) Le tecnologia RFID, es muy utllzada en identificacién de productos, reemplezando un poco lo que son los cAdigos de baras. La identficacién por radio frecuencia utilza cédigos diferentes para cada una de las tarjetas que pueden ser leidas por un lector RF. Dentro de este esquems, RFID usa el protocolo de transmision de datos WIEGAND 25 0 32, dependiendo de la identficacion de la tareta, que se supane que debe ser como la MAC de una Tarjeta de red de un PC. Los sistemas RFID se clasificon dependiendo del rango de frecuencias que san, Existen cuatro tipos de sistemas: de frecuencia baja (entre 125 6 134,2 itz); de alta frecuencia (13,56 MHz); UHF 0 de frecuencia ultraelevoda (666 a 996 MH); y de microondas (2,45 GHz). Los sistemas UHF no pueden ser utitzades en todo el mundo porque no exsten reguiaciones globales para su so. 4.13.1 Cédigo WIEGAND I protocolo Wiegand es una transmisidn serial bit a bit del obdigo RFID, que ‘establece [a transmisién de ceros (OL) y unos (1L), por 2 lineas separadas, pero ‘con duraciones preestablecidas, Es asi que cuando se transmite un 1L, se activa fa nea respectiva durante 200us luego vuelve al estado bajo durante 1,5me. De igual manera sucede cuando se transmit un OL, la diferencia es que © por ciferente linea de datos. En la siguiente figura se puede apreciar la transmision de un cSdigo en funcién del tiempo. ii + Figura 42, Disgrama de tempos do igo Wegard De esta manera se podria dacir que se envio el cSdigo 101100010 mediante el pratocelo wiegand, Ramiro Valencia B Siem roprumaciin AVR's 443.2 é06ma funciona ta RFID? Para que la tecnologfa RFID funcione, son necesarios tres elementos basics: Una etiqueta electrénica 0 tag, un lector de tags y una base de datos. Las etquetas electrénicas llevan un microchip incorporado que slmacena el cécigo nico ldentifcative del producto al que estén adheridas. El lector envia una serie de ondas de radiofrecuencia al tag, que éste capta a través de una poquefia antena, Estas ondas activan el microchig, que, mediante la rricreantena y la radiofrecuenca, transmite al lector cual es e! céxigo (nico del attcuio. En definiiva, un equipo lector envia una sefal de interogeckin @ un Conjunto de productos y estos responden enviando cada uno su niimero Gnico de Identificaciin, Por este motivo, se dice que la tecnologia REID es una tecnologla de auto-identiicaién, Una vez el lector ha recibido el oécigo ‘nico det producto, to ransmte 4 una base de datos, donde se han almacenado previamente las caracteristicas dot artculo en cuestiin: fecha de caducidad, materia, peso, dimensiones, etc. Oe teste mado se hace posible consuttar la Identidad de una marcancia en cualquier momento y facimente durante toda la cadena de suministo. Figura 42. Disgara de tansmisén de datos medion RAID Cuando se tienen las lectoras RFID, uno puede realizar la decoxiicacién de fos datos mesiante un microcontlador, ya que ingresan las 2 lineas de datos y las ‘ransformamos en un sola céigo dentro del microcontrolador.. BA wenciax0s paowvesros - +L. Realizar una cerradara electrénica que permits ingresar medianta| tags RFID, previemente guardados en la memoria eaprom del | ‘microcontrofader. Bf Programaclin AVR’ am. 4.44 Comunicacion 126 La comunicacién 12C, que esta implementada en bascom, permite realizar la configuracién mediante comandos © por cuadro de didiogos al igual que e! LCD, Y sirve primordialmente, para realizar ura comunicacién serlab controlada y sineronizada por un rel maestra. 4441 Config Sda SDA, ¢s lameda también la linea de datos, por la cual | maestro envia peticiones de datos o de identficacién de dispostive esciavo Por ejemplo: Config Sa ortc.1 4.14.2 Config Sel SCL, en este caso es una sefal continua de datos, la cual permite que se ‘mantenga el sincronismo en toda la red 12C. Por ejemplo: Config Set = Portc.0 ‘Ademas es importante acotar que se puede configurar dichos pines por radio {de un cuadro de dlalogo en el mend Options, Comer, UB Casi 20 5P| io fonm. froarag ~~ S. Figura 43. Cusco de dslogo para cenfiqurar 120 mediate BASCOM AVR Valencia 16 rid APRS PROVECTO 25 "ATC IGULADLE MEDIANTE te proyecto permis igutar lb en tempo rent madante el FC, Ele es ecero, cae grad 051307, oss200. 300 $b "mesbyte te LUBRERIA PARA CODICO tb ast 307k ‘UBRERIA DEL DS1307 ‘contig Poth = Output Din Weciday AS Byte {NFIGUPA OIRECCIONES 12 DEL D51307 Const De13070 = BHO Config Clock = User (ELOD POR HARDWARE Dim Hera As String * 8 Dim Fecha Ae String" @ Print 81507 Times = 23:58:59" Attu FECHA ¥ HORA CIAL Dates 11-1302 Print ete Tine "7 Dates; Times: wi ea Dated | | | eee > Hh Programaciin AVR's Locate? 1 Lea Tine Print "esoa asta ls ora Print "HORA" 'ARISTA FECHA V HORA MEDIANTE EL PC Input Hora Print rei” Input Fecha ‘Times = Hore Dates = Feo ‘Locate 1,1 ted Dates Loenta 2, 1 tea Times ‘Watts 100 (oto Ir soto ito SUBRUTINA DE LA UBRERIA ‘Restart ‘RC AIT DEINECIO Raewtbyte Ds13070 PAESTAO ENVIR LA DIRECCION DEL CSCLAVO Hrewbyte 0 RECCHON DE INICIO. restart "Rc BST DE INICIO ewbyte Ds1307r 'NESTRO EXVIA LA OIRECCION DEL ESCLAVO Prarbyte sec) Ack ‘SeGUNDOS Eneroyte min Ack ‘mnuT0s. Raerbyte bout, Ack WORKS Taersyte Wookday , Ack ‘IAS DE LA SEMANA Maerbyee -day Ack IAS HRerbyte month Ack MESES ‘Taerbyte “year tack ‘ANOS Trestop. wee = Makedec{_sec):_snin = Makedec(_min):_hour “Gay = Makedec(-day) month = Makede(month = Makodec( hour) "year Makadec(- year) SETEA LA FECHA INTERNAMENTE Sette Gay = Makebed(_day) _month = Makebed(_month) Bestare aewbyte Ds1307" Tewbyte 4 Dewbyts day Taewbyte month Trewbyte year eae year = Maksbea(_yeoe) setting: pee = Makebeal(_etc):_min = Makebed(_min) :_hour = Makebc( hour) iiestar nina Valencia B 8 Mo Programactin AVR's Revbyte Ds 30714 Dewbyted Trewbpte see aewbyte in Bewbyte hour Trestop Return ena GR oici0s raorvesros 4. Reafizar una comunicaciin 12C com memorias serates 240% em Ine cules se pueda grabar un dato Ingres por toclado y | | [Spareacs de mugvo en ut ed cuando se haya apagada a sistrma, = Programacion AVR's ‘4.458 CONVERSORES ADC Dentro de los AVR's existen conversores Analégicos a Digital de 10 bits, os ‘cuales nos sirven directamente para la conversién de una variable analégica, por ejemplo temperatura, volaje, presién, etc. En algunos casos no debemos olvidar que debemos acondicionar la sefial analégica, para que esta sea ampliicada y calbrada, antes de ingresar a ‘microcontrolado. Un detalle muy importante es que se debe actvar el funcionamiento del ADC en cl microcontrolador, fo cual se realiza poniendo el pin (AVCC) a SV, y el pin (AREF) a un voltafe de referencia para tener la escala adecuada, Dentro de las instrucclones que se necesitan para actwar ef conversar interna estan 4415.1 Config Ade Sirve para configurar el adc interno con referencia interna o exteme. Ademds testa Instruccisn va acompafiada de! inicio del ADC (START ADC). Por ejemplo: ‘Config Adc = Single , Prescaler = Auto , Referénce = Internal Start Ade 415.2 Getadet) Esta instruccién obtiene el valor digital a 10 bits de la entrada arialigica, dependiendo en cual pin esté conectada, Por ejemplo: B=Getade( 1) (obtiene el valor digital del ADC 1) Ramiro Valencia B. 80 sunt pry ‘ean emulados Bhemoer programaciin AVR'S emg) PROYECTO 17 “CONTROL OE TEMPERATURA CON ELLM3S” Es ingertante rear un programa mas simple, para su correc enenciieo, por esa pte, proyeco 17 preseta un motor ce tampartura con el ersor M35, que se pude observa el un LE. eitiens re "MICROCONTROLADOR A USAR ES ATMEGA 15 Sregfile = “misses” TCISTAL INTERMO DE OSCHLACION DE 8 MHZ Serystal = 8000000 contig Led = 16% 2 % ‘Const K = 5/1029 “RESOLUCION DEL CONVERSOR DE 19 ss ‘ ‘Config Ade = Shale, Prescaler = fut , Reference = Internal [VESTA VARIABLE SE MUESTRA LA TEMP, ACTUAL Dims Temp As Long BLES PARA Ditn A As Word im SA Single Locate 1 ted" MEDIDOR DE Locate? Led TEMPERATURA * Watt as (ene { Be | ke cetadeto) Temp = 5°20 Leese 1 oa MEbIOOR CON Us" eeate2 1 Led EW 5 Temp jC." wait Loop | f | Es importante anexar el crcuto ce calibracién y amplicacian para e! L™35, ya ue fa safal que emt dicho sensor es muy pequeta a Figura 44, Consign por ampliacén de 13S ZH exeRCICIOs PROPUESTOS Be 1. Realizar un voltimetro dig, ol cust puede ser viswalzedo Ramiva Valea B. Soon programaciin AVR's 4,16 GLED (LCD GRAFICO) eh eo EI LCD griffon, permite visuatzar mapas de bits, Hl icoamrw cx dentro de una dimensién y resolucién permits PE uewmnrs ——avst_ Por dicho dispostivo. BE. boateai Dentto de BASCOM, existe un convertor de PERCE SSS imagenes .bmp a .bgf, que son necesarias para ser FE akan visualizadas en el GLCD. Para ello debemnas entrar 2 ewe ‘en Grephic Converter, dentro del ment Tools. nse Lega de ello apareceré un cuadro de dislogo, en el cual padremas pegar 0 cargar la imagen .ump (que puede ser creada en paint), Figure 4. Cescin de gues pao GLCD Una vez cargada dicha imagen, se la puede guardar, pero con extensién .baf, para que pueda ser importada desde bascom. Figura 46, Seon de achivo bef para el GICD Rani Valencia Sm Programactin avR'S PROYECTO 18 "VISUALIZACION EN GLCD 240x128" ete proyecto permite viuoluar en un GLCD de 240x428, una i «qos es mearada o crea como s india en tear gen ead en Panty ‘reghte = “mad” Serysel = 8090000 {CONFIGURACION DEL. GLcD Config Groped 220 * 128 , Batape ots, Controlport- Pate, Ce 2, c= 3, 2ORPA Uk PANTALA BORA ELCURSOR Gursor 07 war toente 11 toreehcnorelseeee Locate 2, 1: Led ‘iocortvledores locate 2) 1:Led eeate #1! ued sas Redes y" at Showple, 32, Past CUTT CECT TTTTT ALT TT UCU UR RRR U TARTU SATU UCIT TIT Bimmer cleTet MUESTRA EL. GRAFICO CARGADO EN LA CARPETA ‘Showpie 0, 32, Paaje2 wate? End Poa: TMPORTA EL GRAFICO SCF Sbgf"nico.boh Prone IMPORTA EL GRAFICO Leo bgt "mico2 bat” ome Raina Vatoncia 8 86 BI PING de Paratlax, eS uno da los sensores de utrasonide ms conocidos del mercado, Generalmente puede sevimos para aplicaciones como medidores de nivel y dstancis, Para estos procesos antes era necesarto realizar un osclador Puente de Wlen para que genere la onda que active e sensor fansmisor-y luego un comparadar, para obtener el puiso de respuesta dede el sansor racoptor con ese médulo, este proceso puede ser obviado, ya que la circuiteris para Ccumptr con estos objetivo, ya ests incorporada dertro dal mismo. Entoncas ‘on éste sensor muy Versall, ahora Gnicamente es primordial enviar un pulse para el transmisor realizar un conteo y recibir un pulso de respuesta de fin de ‘conte. ‘Ademés es importante conocer et prindplo fundamental de funconamniento de este mécuo, con el fin de realizar una corwersién exiosa da la variable @ mei. 4 | Figura 47, Diagram de Sempos parm el él de wkrasnido tog = Es el tiempo minimo de saida para activar el funclonamiento del sensor trasbinico. (tines=5U8) toin=Es el tempo minima de regreso para saber cual es le distancia entre un dbjetay el sensor utrasénico. (fyie115us equivale a Zen), toe = E5 el tempo mévimo de regreso para saber cual es fa distancia entre un objeto y el sensor uitrasnica, (tn. fms equivale a 3m). FR Programaciin AVR's ase) CCon este fin, es necesario conocer unas instrucciones que bascom nos facite para el manejo de este méduio. 4.47.1 Pulseout Sirve para enviar pulsos de salida por cualquier pin del microcontrotador, por periodos de tus, para una frecuencia de oscilacién de 4M, Por ejemplo: Pulseout Porth , 1 , 6000 (Genera pulsos de 6ms por el pin B.1) 4.17.2 Pulsein Reatza el conteo en unidades de microsegundos, hasta que suceds. une transicién positiva o negativa por un pin de un puerto especco. Por ejemplo: Pulsein W , Pind , 0,0 (Retoma en la variable W, e! conten en rmicrosegundos hasta que suceda una transicién de 0 a 1 por el pin B.0) 4.17.3 Bitwait Nos sive para crear un tiempo Indefinido de espera, dependiendo del estado actual en el que se encuentra un pin de un puerto. Por ejemplo: Bitwait Pinb.0 , Set (Espera en el mismo punto hasta que el pinb.0 esté activado 11) Ramiro Valencia 8 88 pV ITITTITITIIT PSTTTTTTITTTIT TIFT TTT LULL TTT PROYECTO 39 °MEDIDOR DE DISTANCIAG" ste project perite Veulanr en un LED la tne prising & un objeto y un melo lrasoneo PING. At scot eo) : i ey I k reofile = “bse” erystat= sooeed| Contig ted = 152 ‘Config Lecbus = « contig Ledpin = in, Di = Port? , DBS = Put. , CLE = Porth, Ob7 = Po, Rs = oral £= Po Dim v As Word VARIABLE PARA MEDIA. EL. TIEHOO Dim Wi Ae single ¢ Dim ¥2 Ae Sing cle bo Puteeaut Pott Beware Pinto. Pruteein wie2ew v2 = WL 115 os TIVABLA Tx DEL PING Fh Programacibn AVR's 4.48 DTME En telefonia, el sistema de marcacién por tonos, también llamado sistema multifrecuencial o DTMF (Dual-Tone Mult-Frequency), consiste en lo siguiente: ‘Cuando el usuario pulsa en el teclado de su telefono la tecla correspondiente al digo que quiere marcar, se envian dos tonos, de cistinta frecuencia; uno por columna y ot por fila en la que esté a teca, luego la central descoditica dca tecla através de ftros especiales, detectando instantaneamente que digito se mares. Con DTMF pocemos enviar tonos similares a los de un teléfono corivencional. Este proceso depende de cada una de las frecuencias que emiten Jos diferentes nimeros enviados por una linea telefénica Dentro de un AVR, el pin de salida de estas frecuencias es e! OCIA correspondiente a la temporizacién del TIMER Le precaucién que se debe tomar en cuenta és ta conexién hacia al tinea telefnica, ya que posee voltajes muy altas con respecto al microcontrolacor. 4.18.1 Dtmfout Ee Ia principal instrucci6n que nos permite emir los tones del nimero a ser ‘arcade, Por ejemplo: tmnt "096296074", 50 (Emite las frecuencias para marcar el rnémero 096296074 con una duracién de SOms entre tonos), Ademas es importante acotar, que se puede realizar ef proceso de'deteccién de tonos, mediante crcutos integrados convencionales, como el MT88L70, el cual ros emite un cédigo binario de la tecla presionedsa, Este C.1 puede ser usado en varies aplicaciones muy rentables, como por ejemplo tarfadores telefénicos para cabinas. 7 Ramiro Valencia B 90 Hm py VR's PROYECTO 20 “HARCADOR DE TELEFONO CON AVE siguiente proyecto pore un tedado mediante css podermaspresonat sn {elton ara gue pueda ser eviaces a raves de oneal, SOCONTROLADOR ATMECAE config ted ‘conduuzacion 08 100 Config Lest coats Ledin Ported, ODS = Fortes , O96 = Port ODF = ates Rs ard = eoo001331 ores = 6821352111 PUERTO D COMO ENTRADA PULL UP (DEFING ALIAS AL PUERTO B PARA EL TECLADO XL Riis Porta.o 52 Alias Ponda 50 Alias Pora2 Xa lina Porta’d coxrabor pest Enable Interrupts as ocate 11 Lea Hagcanon Te. ecate2, 1 es CON AVS ae Locate t,t ted bo {Gosub Teco eee <10'Then Iete1 Locate L, tea Tees, Demfout Tec , $0 SALIDA DE DATOS PULTIFRECLENCIALES OTHE ML = 7 Then’ (DETECCION DEL 200. NUMERO PARA LOCALTZAR LLAMADA ‘if Tece =? Then locate? 1 ed PICHINCHA.* Enaar Tela = 3 Then Locate 2, 1 Led” Aver/eu0B. End ec = 6 Then Locate 21 ted" ZONA NORTE, * naar If fech = 7 Then Locate? 1 ed" ZONA AUSTRO." endif If lee = # Or Toc = OThen Locate? 1 ‘ tes" CUR, Ena endif W'Teca = 10 Then ‘TSE APLASTA © SE VUELVE 8 NUEVA LLAMADA locate £1 tes" MUEVA. > Locate, 1 tad" LiAMADA © we as Locate 1,1 tea nu tS nat Loop Ramiro Valencia ” SLSRUTINA TECLADO Jeet ecia 42 yimo ‘CERO EN LA FILA LY DETECEION EN COLLINS YL = 0Then Tela = HY2 = OThan Tela = 2 YS = OTe Tedta = 3 wo ERO EN LA FLA 2 DETECCION EN COLUNA Y= OThen Teele = 4 WY2 = O-Then Tela = 5 é é 18Y3 = O Then Teta = 9 wet xa-0 ‘CERO EN LA FILA 4Y DETECCION EN COLLIN WYs= 0 Then Tecla = 10 HY2= 0 Then Tecla = 0 YQ = 0 Than Tacha = 12 4a ieteeln< 12 thes Waite 500, tee End ar RDO GINO HAY TECLA PRESIONADA eeurn End [ Py EJERCICIOS PROPUESTOS 4. Investigar of uso del Cl. MTOBLO7, para caatizar un tortor {tsletnlca cen un enerocontrolador MVR. Bh programacin AVR vat 4,19 Interrupciones externas ‘A Igual que la interrupcién del pértica serial nos proporciona ventalas para cjecuter un programa principal, la interrupciin externa también permite elecutar una subrutina solo si se cumple o se detecta alguna sefal externa, ya 3 por el pin INTO 6 INT. Para esto es necesario ejecutar instructiones principalmente de-coniguracién, Tas cuales hacen que se activen la interrupcién. 4.19.1 On Into Sive pare activar una subrutina especica, en caso de que se active la interrupcién externa 0 Por ejemplo: ‘On IntO Pulsos (Activa fa subrutina PULSOS,.en caso de (ue se active ia interupcién externa 0). 4.49.2. Enable interrupts Sive pata activar todas las interrupciones activadas independientemente, 4.19.3 Enable Into Nos permite activar la interrupcién externa 0. saan AVR's PROYECTO 21, “CONTADOR DE PULSOS" suerte proyecto dspone de une entrada estes, donde se cone asada e pos fe eusquer deposi y medante un pulsar se peda imprimir lho vloren el PC por ‘mune sara $8 ba eosrasen TS oe Sregfle = “niet dat? THICRO A USAR ES ATPIESAS ‘Eerystal = 6000000 ‘oad = Din Contador As Eateger (Contig Led = 15 *2 (Conte Lebus = + ‘Config Ledpin = Pn, Db4» Pers , DDS = Part, OB6 = Poth.6.DO7 = PotD FS = Fent.2 = Ports ‘on into tos Enable Interrupts Enable Int Dred #0 Porte.o = 1 Contador INTERRLPCION EXTERN Po ed "CONTA, OE PULSOS" Locate? 1 Led conteoej IePineo = 0 Then {TON DE CoH. SERIA Prin vents Houti=*; Contador endl Loop wait Pins, Sot "ESPERA LLEGADA Contador = Contedor Resurn rac AVES {alt | 4.20 Mensajeria de Texto (Médulo GSM) GSM (Global System for Mobile Communication), ¢5 un sistema de ‘comunicaciones méviles cuyas especiicaciones se encuentran dentro del ETSI y se diseié para inclur una amplia variedad de servicios que inciuyen transmisiones de vor y servicios de manaja de mensajes entre equipos mévies. Los servicios que ofrece este sistema son: transmisiin de voz, datos y mensajes cortos (SMS), Figura 4. Cerna de arqutecnra GSM Fl sarviclo de SMS, fue creado como una parte del estandar GSM. Cada ‘mensaje puede tenér hasta 160 caracteres, dependiendo de la restriecién por operadoras. Mediante SMS, se puede transferir un mensaje de texto entre una estacién rmévlly otra entidad a través de un centro de servicio. Dentro del mercado se pueden conseguir diversos médulos GSM ¢ télefonos Celulares con puerto de control y comunicaciones, los cuales nes permiiran controlar eventos a larga citancis mediante el uso de SMSs. ae ae. ae a Figura 49, Eoqoerm de conto medinte SMS Independientemente de os médulos 0 equlpos celulares que se posean, la mayaria de estos tienen un puerto serial de comunicaciones, los cuales permiten al usuario interackuar con ells, através de comands "AT, farniro Valencia B, 96 * Programactin AVR Luna de fos equips més uilizados en e! control de eventas a larga distancia os el telefono Sony Ericsson 7237, el cual presenta la ventaja Ge tener dispanibia y sin restricciones su puerto de control y comunicaciones, 10 cual no $2 tiene eh cits teléfonos, como por ejemplo los de marca Nokia, chi Pe Te God Figura 50. Puro de comuniensenes, vis inferior un equpe cr 4.20. Comandos AT Los comandos AT, al igual que pars el méduio bluetooth, tienen el mismo ‘objetivo, el cual es configurar de una manera adecuada al dispositive para que undone como el usuario deses. 51 principal objetivo de estos comands AT, es verficar el estado de la memoria donde residen los mensajes tanto de entrada camo de sada, En el caso del Sony Ericsson 1237, se tienen varios comandos primordia, para poder controlar el envio y recepcion ce datos mediante mansajes ce texto, los cusies s= detallan 2 continuacién, En Ia siguiente figura, se muestra Ia interfaz para conecier y configurar un equipo m6 mediante un PC cons ayude de un abe seri a” a a ‘Flgura 5. Coruricacién meant comences A entre el etary un PC Utiizardo un programa para comunicacién serial coma el Hyperterminal, se puede proceder a ingresar fos comandos que se emplea para enviar 6 recibir ‘un mensaje desde y hacia atra equipo. Esta comunicaciin dependeré dl tiga de equipo que tengamos y sus especiicaciones, pero en la mayoria es (9600,8,5,1). 4.20.2. Comandos para transmisién de SMS AT+CMGF = "1": Este comando sirve para Interpretar el modo de transinisién de datos 08 Programacién AVR'S RY+CMGW = "Num, teléfono": Este comando selecciona el nimero de telefono al cual se va a enviar el mensaje. AT+CHSS = “Localidad de memoria": Permite enviar el SMS guardado en ig localidad de memoria respectiva (Teléfono o SIM). Este comando AT ema at proceso de aplastar la tecla SEND. Cuando la localidad de memoria es igual a 1, se envia automaticamente e! mensaje almacenado en la memoria de! telefono. ‘Figura 52. Comandes pare envar un mensaje 4.20.3 Comandos para recepcién de SMS ATCMGL = “Libreria’: Permite desplegar los mensajes. recibidos y almacenades en una librerfa en especal Figura 53, Comandos pars rear un mensaje Sia libreria es “ALL", se desplegan todos los mensajes aimacenados en el ‘elon. “REC UNREAD" obtiene el stada de los mensajes recibidos, “REC READ" obtiene el stad de mensajes leidos. “STO UNSENT” para ver el listada de mensajes no enviados “STO SENT” para visualizar los mensajes enviados Programesidn AVE PROYECTO 22 "CONTROLADOR DE FOCO siete proyecto tiene 2 equips exuores gegricsmente dates. Uso de eos eat onecado aun micocentrlaorrecptc, el ial ace oc, depend ste eipa ‘noel trnargerenva fae "6 en's defects, se puede Gesctner 3 el comand ergs ero | oA | 1a = dl 5 rege =e” IeRO A USAR ATHEGA Seryatat = ext0000 Shave ae00 ‘veLocinAn Dex 96an CON EL CMLL Dim Deo Aastra *2 Dimon aasting +1 Contig orb ~ Output v0 Panesar ‘ovANGS AT ana Rec a! Print ‘aTecust=s fate Input cont Wattme 100 Or Con="P"'Than ‘SLRECIBE A nP CONFIRM QUE LARSIE “OK” input oto ate iso Dato = "0K" Then rer. : enait Hee =" Then ‘pRenDe €. FOC Port0 = 1 enait ‘Goto ferbe “SE QUEDA RECISIENDOLALETRAA 0? ener Re Bh propramacién AYR's = 4.21 Emulacién Puerto USB-RS232 AVR-CDC es un interfaz USB-RS232C utiizando la interfaz 0 protocolo CDC (Gispostivo de comunicacién de case). Aunque la mayor parte CDC no esta permitifo dentro de la baja velocidad USB estandar, ya que funciona bien en las principales plataformas, Para Iniciar una interfaz USB se deben seguir necesariamente unos pasos importantes para su correcta Instalackin: 1. Se aga in progr AR En Windows, se carga un archivo INF que es necesario para instaler el hareware encontrado, cuando el dspostivo se conecta por primera vez. 12. El puerto COM virtual aparece después de la conexién establecida, El circuto sugerido es el siguiente: frees | mses ae r Figura 54, Dlagrama de coneionas del canersor USB-RS232 Y su respectvo software se encuentra en e CD adjunto. Figura 55. Placa del corversor USBRS232 Ramiro Valencia B 00 SSTTTITTT IIS IIT USI SITI IIIT Se Frepramacin APT's Una vez que se tiene completo el hardware, se lo puede conectar al puerta USB, ei cual nas responder con un mensaje de nuevo hariware encontrado. Figura 6. Delecciéa de dspostves USB AN cual tenemos que instalar los controladores respartivos para que funcionen comectarente, fet ve Arte uate Fre io eats lr he bara instar dies arches, que se, excuenton daponibles tanto pao ans Va bo fed Winans HE Be haw Ae Ue SA presetcnnada Qimsmmmnrornene Figura 58, Rasenle de saison dl conolaior 52 Valooeia ai Bim" programaciin AVR's aime, Esta Carpeta (AVRCD_INF) contione un archivo .INF, para controlar el harchvare Los archivos pusden ser encontrads tanto para el sistema operative Windows Vista y Windows XP. Figura 61 lnstalcon del software contromor Raniro Valencia 8 02 SITTIITIIITIIIISIITIIIIS Pnalzada eorrectamente la instaladlén, se nos presentaré un cusdro de dislogo, tenel cual s2 prodrd apreciar que ef nuevo hardware est listo para utllzarce aac Aas pare Figura 63, Frac de Insanicen Como’ nota debemos deci, que al momento de grabar e! microcontrolacor ATTINAS, debemos habaltar, e! pin de reset para que s@ uriice como entra, co salda de datos, La place de interfer USB-RS232 también se encuentra adjunta en esta presentacién con el fin de que el estudante la arme ce acuerdo a la Informacién que se encuentra en el CD, Bm Proomacin avs ie PROYECTO FINAL "CERRADURA ELECTRONICA j ste proyecto nal Gane el objetivo de cespertar et itarés en elector, de ceatzar froyeios muy priticor yapicable. Con la cervra electronica, nostras pedemas ar j a porta meson eave por tec3do | THICRO A USAR ES ATHECAS Declare Sub Teco) Config ted = 15 *2 Config Ledbus Dim Vaeoran(@) As Eram Toteger 'VARIKOLE PARA LA EEPROM TIPO ENTERA Dim {Ae integer Dim As Integer im Cave(4) As Integer Dim Cavenen(4) As Tteger ae. Ded = Re00001111 Porta = €511111111 Config Pat.0 = Output ‘OEFING ALIAS AL PUERTO D PARA EL TECLADO XLAlas Portdo X2Alos Portd a Xana Porta Xa bss Ports YA Als Pina Yes nds Yala Pind Dim Tele Ae Byte Ramiro Valence B 104 Led "CLAVE ALTORATICA ecate2 1 Let ™*ssrfcRoTELo i Wate Oe PROGRAMA PRINCTPAL i Ie 1 De Locate 1 Led LINGRESAR Clave" Locate? ( ted '2,cisenaR CLAVE! | SGoaub Tecaco Be Teca =1 Then StaNGREsO CLE cls | ‘Gosub Baar Goeub ingeco Gosul Yoer enat WTeda = 2Then ‘f CANBIO CLAVE ‘as Gooub Soar osu Ingreso Goss Conblo endif Loop, “FINE PROGEAM PRUNCTPAL I Bor: Fort vet =O Return TANTO PARA INGRESAR O-CAMAR CLAVE oeate 11 ed TN CLAVE ACTUALY Do GGooub Tocco orate? 51 Hrreds.< 10 ten ted Tees tered Cane) = Te Ee Enait pened Loop Units = 5 Return Bi Programacion AVR's ‘COMPARO SI LA CLAVE INGRESAON ES TOLL A LA GUARDADA EN LA EEPROM owe: osu Teche recs = 10 Then Fori=1T04 TECave) = Vareron) Then Hf) = 4Then Porth = 1 os Locate 1 ted CLAVE CORRECTA" oeate 21 ed TAGRESE ~ waits Patbd= 0 End tt Re Peotbo = 0 Uocate dt {ed "cae INCORRECTAY Locate 2 1 ea INTENTE DE NEVO" Wate? exalt Next Else Goto Volver EndIf Return SRA CAMBIAR TAMEIEN CON (Gosub Tecado Teele =10 Then (fort =1 04 HF co) = Vorepromi) Then tT Then cls ‘Gosub Nuevacla ‘ End fs cate 11 ed "CLAVE INCORRECTA” Locate? 1 ed NTENTE DE NUEVO exalt Next ise Goto Conbio ARO LA CLAVE ANTERIOR PARA DAR PERMISO INGRESO DE CLAVE NUEVA ¥ GUARDO EN LA EEPROM nusvaea ro Ramiro Valneta B. 106 CSTTTTS SESS ESTES TST ESET S TESS TS TTTTT octet, 1 tel" Neva Gon Taco Locate 2,1 Wieee

También podría gustarte