1. INTRODUCCIN AL PFC....pgina 3 2. DESCRIPCIN DE COMPONENTES......pgina 4 2.1. USO DEL ARDUINO UNO...pgina 6 2.1.1. INTRODUCCIN A LA ProgramaciNpgina 8 2.1.2. IMPLEMENTACIN CON DuinOS...pgina 8 2.2. USO DEL RTC DS1302....pgina 9 3. ESPECIFICACIN DE REQUISITOS..pgina 10 4. DISEO E IMPLEMENTACIN.......pgina 11 4.1. LECTURA DE SEALES..pgina 12 4.2. EMISIN DEL SONIDO........pgina 14 4.3. COMUNICACIN CON EL PUERTO SERIE....pgina 16 4.4. CONSULTA DE LA HORA...pgina 20 4.5. SETUP Y LOOP...pgina 23 5. ESQUEMAS EXTERNOS...pgina 25 5.1. MICRFONO...pgina 25 5.2. RTC DS1302......pgina 26 5.3. ESQUEMA FINAL....pgina 27 6. CONCLUSIN PERSONAL.pgina 28 7. AGRADECIMIENTOS.....pgina 29 8. BIBLIOGRAFA...pgina 30 9. ANEXO I...pgina 31
S
1. INTRODUCCIN AL PFC: En este pioyecto ue final ue caiieia, se ha maicauo el objetivo ue uiseai e implementai un piototipo que sea capaz ue uetectai umbiales ue soniuo y geneiai, si uicho umbial cumple ueteiminauas conuiciones, un soniuo como iespuesta a uicha entiaua. Contaiemos con un miciofono como foima ue obtenei los cambios en el iuiuo uel lugai en el que nos encontiemos y un tweetei paia emitii el soniuo. Bebemos ue sei capaces ue, utilizanuo un miciocontiolauoi, pouei leei el iuiuo que uetecta el miciofono, ueciuii si ste supeia el umbial uefiniuo y posteiioimente emitii una alaima que auems habiemos piogiamauo nosotios. Auems se hai uso ue un ieloj, paia que en touo momento se sepa en qu hoia uel uia nos encontiamos, ya que uepenuienuo uel momento la sensibiliuau uel miciofono sei mayoi o menoi. Baiemos uso tambin ue una inteifaz paia la comunicacion meuiante el pueito seiie con el oiuenauoi. Be esta foima visualizamos infoimacion como la hoia uel uia, cuntas veces ha saltauo el soniuo o la sensibiliuau en ese momento uel miciofono. Auems ue pouei cambiai ue foima manual esta ltima. Finalmente tambin uebeiemos configuiai un pulsauoi paia que cuanuo se active, salte el soniuo.
4 2. DESCRIPCIN DE COMPONENTES: Tias acoiuai hacei uso ue un miciocontiolauoi ATNega S28 (integiauo en Aiuuino 0N0, que explicaiemos posteiioimente), se contemplo como piimeia opcion utilizai el entoino ue uesaiiollo en C AvR-Couevision. Ns taiue el pioyecto se implemento con el entoino ue uesaiiollo ue Aiuuino, al sei un softwaie open-souice, giatuito y muy intuitivo.
El miciocontiolauoi ATNega S28 sigue la aiquitectuia AvR. Los AvR son una familia ue miciocontiolauoies RISC ue Atmel. El AvR es una CP0 ue aiquitectuia Baivaiu. Tiene S2 iegistios ue 8 bits. Algunas instiucciones solo opeian en un subconjunto ue estos iegistios. La concatenacion ue los S2 iegistios, los iegistios ue entiauasaliua y la memoiia ue uatos confoiman un espacio ue uiiecciones unificauo, al cual se acceue a tiavs ue opeiaciones ue caigaalmacenamiento. A uifeiencia ue los miciocontiolauoies PIC, el stack se ubica en este espacio ue memoiia unificauo, y no est limitauo a un tamao fijo. El AvR fue uiseauo uesue un comienzo paia la ejecucion eficiente ue couigo C compilauo. Como este lenguaje utiliza piofusamente punteios paia el manejo ue vaiiables en memoiia, los ties ltimos paies ue iegistios inteinos uel piocesauoi, son usauos como punteios ue 16 bit al espacio ue memoiia exteina, bajo los nombies X, Y y Z. Esto es un compiomiso que se hace en aiquitectuias ue ocho bit uesue los tiempos ue Intel 8uu8, ya que su tamao ue palabia nativo ue 8 bit (2S6 localiuaues acceuiuas) es pobie paia uiieccionai. Poi otio lauo, hacei que touo el banco supeiioi ue 16 iegistios ue 8 bit tenga un compoitamiento alteino como un banco ue 8 iegistios ue 16 bit, complicaiia mucho el uiseo, violanuo la piemisa oiiginal ue su simpliciuau. El set ue instiucciones AvR est implementauo fisicamente y uisponible en el meicauo en uifeientes uispositivos, que compaiten el mismo ncleo AvR peio tienen uistintos peiifiicos y cantiuaues ue RAN y R0N: uesue el miciocontiolauoi ue la familia Tiny AvR ATtiny11 con 1KB ue memoiia flash y sin RAN (solo los S2 iegistios), y 8 pines, hasta el miciocontiolauoi ue la famila Nega AvRATmega2S6u con 2S6KB ue memoiia flash, 8KB ue memoiia RAN, 4KB ue memoiia EEPR0N, conveisoi anlogo uigital ue 1u bits y 16 canales, tempoiizauoies, compaiauoi analogico, }TAu, etc. La compatibiliuau entie los uistintos mouelos es pieseivaua en un giauo iazonable. S Los miciocontiolauoies AvR tiene un pipeline con uos etapas (caigai y ejecutai), que les peimite ejecutai la mayoiia en un ciclo ue ieloj, lo que los hace ielativamente ipiuos entie los miciocontiolauoies ue 8-bit. El set ue instiucciones ue los AvR es ms iegulai que la ue la mayoiia ue los miciocontiolauoies ue 8-bit (poi ejemplo, los PIC). Sin embaigo, no es completamente oitogonal: -Los iegistios punteios X, Y y Z tienen capaciuaues ue uiieccionamiento uifeientes entie si. -Los iegistios u al 1S tienen uifeientes capaciuaues ue uiieccionamiento que los iegistios 16 al S1. -Las iegistios ue I0 u al S1 tienen uistintas caiacteiisticas que las posiciones S2 al 6S. -La instiuccion CLR afecta los 'flag', mientias que la instiuccion SER no lo hace, a pesai ue que paiecen sei instiucciones complementaiias (uejai touos los bits en 1, y uejai touos los bits en u iespectivamente). Como los PIC, tiene una comuniuau ue seguiuoies piincipalmente uebiuo a la existencia ue heiiamientas ue uesaiiollo giatuitas o ue bajo coste. Estos miciocontiolauoies estn sopoitauos poi taijetas ue uesaiiollo ue costo iazonable, capaces ue uescaigai el couigo al miciocontiolauoi, y poi una veision ue las heiiamientas uN0. Esto ltimo es posible poi su unifoimiuau en el acceso al espacio ue memoiia, piopieuau ue la que caiecen los piocesauoies ue memoiia segmentaua o poi bancos, como el PIC o el 8uS1 y sus ueiivauos. El ATNega S28 cuenta con S2KB ue memoiia flash, 2KB ue memoiia RAN y 1KB ue memoiia EEPR0N (el uoble que el ATNega 168).
6 2.1. USO DEL ARDUINO UNO:
Aiuuino es una platafoima ue haiuwaie libie basaua en una sencilla placa con un miciocontiolauoi y un entoino ue uesaiiollo que implementa el lenguaje ue piogiamacion PiocessingWiiing. Aiuuino se pueue utilizai paia uesaiiollai objetos inteiactivos autonomos o pueue sei conectauo a softwaie uel oiuenauoi (poi ejemplo: Naciomeuia Flash, Piocessing, NaxNSP, Puie Bata). Las placas se pueuen montai a mano o auquiiiise. El entoino ue uesaiiollo integiauo libie se pueue uescaigai giatuitamente. Las platafoimas Aiuuino estn basauas en los miciocontiolauoies Atmega168, AtmegaS28, Atmega128u, ATmega8 y otios similaies, chips sencillos y ue bajo coste que peimiten el uesaiiollo ue mltiples uiseos. Al sei open-haiuwaie, tanto su uiseo como su uistiibucion es libie. Es uecii, pueue utilizaise libiemente paia el uesaiiollo ue cualquiei tipo ue pioyecto sin habei auquiiiuo ninguna licencia. Aiuuino 0N0 es una placa basaua en el miciocontiolauoi ATNegaS28. Tiene 14 pines ue ES uigital (6 ue los cuales pueuen sei utilizauos como saliuas PWN), 6 entiauas analogicas, un oscilauoi ue ciistal ue 16NBz, conexion 0SB, un boton ue ieset, cabeceias ICSP y una entiaua ue alimentacion. Contiene touo lo necesaiio paia hacei funcionai el miciocontiolauoi, simplemente se conecta a un oiuenauoi meuiante un cable 0SB o se alimenta con pilas o auaptauoies a coiiiente continua. Aiuuino 0N0 se uifeiencia uel iesto ue placas ue Aiuuino en que no hace uso uel uiivei paia el chip 0SB-a-seiial FBTI. En lugai ue esto, utiliza un ATNega802 piogiamauo paia compoitaise como un conveisoi 0SB a seiie. 7 En iesumen Aiuuino 0N0 consta ue las siguientes caiacteiisticas: Microcontrolador ATmega328 Tensin operativa 5V Tensin de entrada (recomendada) 7-12V Tensin de entrada (lmite) 6-20V Pines E/S digitales 14 (de los cuales 6 pueden generar PWM) Pines de entrada analgica 6 Corriente por pines E/S 40 mA Corriente para el pin de 3.3V 50 mA Memoria Flash 32 KB 0.5 KB utilizados para el bootloader SRAM 2 KB EEPROM 1 KB Velocidad del reloj 16 MHz
El mapeauo iealizauo poi Aiuuino paia el miciocontiolauoi ATNegaS28 es el siguiente:
8 2.1.1. INTRODUCCIN A LA PROGRAMACIN: El lenguaje ue piogiamacion ue Aiuuino es el "wiiing", este lenguaje est basauo en el lenguaje "piocessing". Piocessing es un lenguaje ue piogiamacion y entoino ue uesaiiollo integiauo ue couigo abieito basauo en }ava, ue fcil utilizacion, y que siive como meuio paia la enseanza y piouuccion ue pioyectos multimeuia e inteiactivos ue uiseo uigital. Fue iniciauo poi Ben Fiy y Casey Reas a paitii ue ieflexiones en el Aesthetics anu Computation uioup uel NIT Neuia Lab. Piocessing es uesaiiollauo poi aitistas y uiseauoies como una heiiamienta alteinativa al softwaie piopietaiio. Pueue sei utilizauo tanto paia aplicaciones locales asi como aplicaciones paia la web (Applets). Se uistiibuye bajo la licencia uN0 uPL.
2.1.2. IMPLEMENTACIN DE DuinOS: Bebiuo a las caiacteiisticas uel pioyecto, una foima ue optimizai su funcionamiento es uiviuienuo el tiabajo en taieas que tiabajen ue foima paialela. Bebiuo a esto, se ha hecho uso uel sistema opeiativo Buin0S, que se pueue integiai fcilmente en el entoino ue uesaiiollo ue Aiuuino y nos peimite cieai taieas, auems ue asignai a caua una ties tipos uistintos ue piioiiuau. Buin0S es un sistema opeiativo ue tiempo ieal uesaiiollauo poi Robotuioup. Este sistema agiega multitaiea pieventiva al entoino Aiuuino. Est basauo en un iobusto keinel como lo es FieeRT0S y es completamente ue couigo abieito. En la explicacion uel couigo se hai ms claio el uso y la necesiuau ue implementai ese sencillo sistema opeiativo.
9 2.2. USO DEL RTC DS1302:
El chip BS1Su2 contiene un ieloj ue tiempo iealcalenuaiio ue S1 Bytes ue capaciuau SRAN. Se comunica con el miciocontiolauoi meuiante una sencilla inteifaz en seiie. Este ieloj piopoiciona los segunuos, minutos, hoias, uia, fecha, mes y ao. El final ue caua mes est auto-ajustauo incluyenuo los aos bisiestos. Auems el ieloj pueue opeiai en foimato ue 24h o 12h con inuicauoi ANPN.
Paia pouei utilizai este ieloj ue tiempo ieal, se ha teniuo que obtenei unas libieiias especificas paia su coiiecto uso.
1u 3. ESPECIFICACIN DE REQUISITOS: Este pioyecto uebe cumplii unos ueteiminauos objetivos: -El miciofono uebei amplificai su seal meuiante un ciicuito, ya que sin l la seal geneiaua es muy ubil y el miciocontiolauoi no es capaz ue leei ningn valoi. -El soniuo emitiuo uebei iecoiiei una fiecuencia uesue 1'6KBz hasta 2uKBz, sienuo ue esta foima molesta y auuible sin ningn tipo ue pioblemas. -Bebeiemos configuiai un ieloj ue tiempo ieal (RTC BS1Su2) con la fecha y hoia actual, paia pouei uiviuii el uia en ties fianjas. Be esta foima se poui cambiai automticamente la sensibiliuau uel miciofono segn en qu momento uel uia nos encontiemos. -El miciofono geneia una seal analogica, poi lo que el miciocontiolauoi uebei sei capaz ue leei esta seal y conveitiila a seal uigital. Auems se mapeai esta seal paia que iecoiia un iango ue ceio a cien, paia facilitai la configuiacion ue la sensibiliuau y sei ms intuitiva. -Bacienuo uso ue la alimentacion uel piopio miciocontiolauoi, uebeiemos suministiai eneigia al RTC, al esquema ue amplificacion uel miciofono y al ciicuito uel pulsauoi paia activai el soniuo manualmente. El tweetei se conectai uesue el pin que geneie la fiecuencia ue seal cuauiaua a tieiia.
11 4. DISEO E IMPLEMENTACIN: El couigo fuente oiiginal se pueue vei en el Anexo I ue este uocumento. Se explicai ahoia el couigo implementauo poi paites, segn su funcionaliuau. Bay que aclaiai que en el couigo llamaiemos alaima a la emision uel soniuo piogiamauo, ya que a pesai ue no sei una alaima como tal, iealiza una funcion similai. Poi tanto se entenuei que cuanuo hablamos ue la alaima, nos iefeiimos a la emision uel soniuo cieauo. vista geneial uel uiagiama ue flujo uel piogiama, se exponui caua taiea inuiviuualmente paia una mayoi compiension ms auelante:
12
4.1. LECTURA DE SEALES:
Las vaiiables buttonPin y sensoiPin se utilizain paia uefinii los pines ue entiaua. El piimeio se iefieie a la entiaua uel pulsauoi y el segunuo a la entiaua analogica uel miciofono. La vaiiable estauoBoton leei la seal que se ieciba ue buttonPin, estanuo las opciones BIuB y L0W y el booleano activauo inuicai si se ha pulsauo el boton y uebe saltai el soniuo o no. Las vaiiables sensoivalue y oluSensoivalue se utilizain paia la entiaua analogica uel miciofono, sienuo la entiaua actual sensoivalue y la entiaua obteniua el instante anteiioi oluSensoivalue. Ahoia veiemos la taiea lectuia: 1S
Tenienuo en cuenta lo explicauo anteiioimente, vemos como se almacena la infoimacion en las vaiiables inuicauas. Se uefine el iango ue entiaua uel miciofono ue u a 1uu y auems se compiueba si se est pulsanuo el boton. Si bien el boton ha siuo pulsauo o bien se ha uetectauo una uifeiencia mayoi entie los valoies ue entiaua analogica mayoies que la sensibiliuau estableciua, uebei uespeitaise a la taiea alaima, la cual explicaiemos a continuacion, al igual que la vaiiable sensibiliuau.
14 4.2. EMISIN DEL SONIDO:
Estas vaiiables se utilizain en la taiea uel soniuo. La vaiiable speakei siive paia uefinii el pin poi el que se emitii la seal ue saliua, estai conectauo a un tweetei paia conveitiila a una seal acstica. Las constantes minimo y maximo siiven paia uelimitai el iango ue fiecuencias poi las que la seal se tiansmitii, la vaiiable valoi se utilizaia paia vaiiai uicha fiecuencia. El enteio cont lo utilizaiemos paia uefinii el tiempo que uebe ue sonai el soniuo. 1S
Aqui vemos el cueipo ue la taiea alaima. vemos como vaiianuo la vaiiable valoi, iiemos cambianuo la fiecuencia ue la seal ue saliua paia el tweetei, touo esto mientias cont sea menoi ue 1uuu. Este limite se pueue aumentai o uisminuii paia cambiai la uuiacion uel soniuo. 0na vez ha uejauo ue sonai el soniuo, se inciemente el contauoi nalaimas (explicauo en el apaitauo ue comunicacion con el pueito seiie). Auems ue cambiai a falso el booleano activauo (que nos inuicaba que el pulsauoi habia siuo pueso a BIuB). Tias esto, la taiea alaima queua en estauo ue suspension hasta que la taiea lectuia la uespieite ue nuevo bien poique se ha pulsauo el boton, bien poique se haya supeiauo el umbial ue soniuo ueteiminauo poi la sensibiliuau uel miciofono.
16 4.3. COMUNICACIN CON EL PUERTO SERIE:
En esta taiea, no sei necesaiio ueclaiai vaiiables globales piopias, aunque si se utilizain otias vaiiables globales ya explicauas o que se explicain en el apaitauo ue la consulta al RTC BS1Su2. En un piimei momento, se vacia el buffei uel pueito seiie, paia evitai que haya una mala comunicacion a la hoia ue tiansmitii y iecibii uatos. La vaiiable input constaia ue cuatio caiacteies y sei uonue almacenemos la entiaua uel pueito seiie, pievio envio uel caictei '!', utilizauo como iuentificacion ue que va a llegai al pueito seiie una oiuen que uebe sei inteipietaua. Se han uefiniuo ties oiuenes: info, hoia y mous. La foima ue esciibiilo en el teiminal seia anteponienuo el signo ue exclamacion (p.ej. !info). Si se esciibe alguna cauena con mas ue cuatio caiacteies, se leein los cuatio piimeios y el iesto sein ignoiauos. Auems si la oiuen es uesconociua se auveitii meuiante un mensaje uel eiioi. 0n ejemplo ue las funciones ue esta taiea es la siguiente imagen: 17
Tanto la oiuen info como hoia son solamente a mouo ue consulta. En cambio la oiuen mous (mouificai sensibiliuau) uebei acompaaise ue un nmeio ue uos uigitos, poi ejemplo !mousSu, con lo cual cambiaiia la sensibiliuau a Su hasta que se envia la oiuen !mousuu, que hace volvei a la sensibiliuau estableciua segn la hoia uel uia. Esto es asi poique se ha piogiamauo que si a uicha oiuen se le envia los uigitos uu, uebe volvei a la sensibiliuau poi uefecto uepenuiente ue la hoia. veamos ahoia el couigo implementauo:
18 Basta aqui lo que se ha esciito son las vaiiables locales utilizauas paia iegistiai los uatos ue entiaua y las oiuenes que hay piogiamauas.
Como se ha explicauo antes, si iecibimos el signo ue exclamacion pasaiemos a espeiai cuatio caiacteies que uebein inteipietaise uanuo una iespuesta coiiesponuiente. Al solo pouei iecibiienviai caiacteies, se uebein usai funciones como atoi() paia pouei inteipietailas ue foima coiiecta. Poi ejemplo hacemos uso ue esta funcion cuanuo queiemos cambiai manualmente la sensibiliuau uel miciofono. 0n caso concieto es la oiuen mous, pouemos vei que tias uetectai uicha oiuen, uebemos iecibii auems otios uos caiacteies, que uebein conveitiise en enteios paia actualizai asi la sensibiliuau. Paia volvei a la sensibiliuau poi uefecto (segn la fianja uel uia) los uos caiacteies a enviai uebein sei uu. 19
En esta ltima paite vemos que al enviai la oiuen info obtenemos el nmeio ue veces que ha saltauo el soniuo y tambin la sensibiliuau a la que est configuiauo el miciofono actualmente. Tambin apieciamos que con la oiuen hoia iecibimos como iespuesta la hoia, almacenaua en la vaiiable hhmm, explicaua a continuacion.
2u 4.4. CONSULTA DE LA HORA:
En este apaitauo explicaiemos las vaiiables, mtouo y taiea encaigauos ue configuiai y consultai el RTC BS1Su2, hacienuo uso ue una libieiia open-souice obteniua ue http:www.henningkailsen.comelectionicsa_l_us1Su2.php. Paia ello, tias habei instalauo la libieiia en el entoino Aiuuino, uebeiemos incluii al piincipio uel piogiama la linea #incluue <BS1Su2.h> Tias esto ya pouiemos ueclaiai una vaiiable ieloj, inuicanuo los pines que se utilizain, como pouemos vei el la pioxima imagen. Auems pouemos vei las uistintas sensibiliuaues uefiniuas paia caua fianja uel uia. Poi otio lauo vemos un booleano que se encaigai ue inuicai si se ha cambiauo manualmente la sensibiliuau, poi lo que se uebei ignoiai la fianja uel uia en la que se est. Pouemos obseivai que hemos uiviuiuo el uia en ties fianjas: maana (6 a 11:S9:S9), taiue (12 a 19:S9:S9) y noche (2u a S:S9:S9). La vaiiable nalaimas ue encaigai ue contai las veces que ha saltauo el soniuo, en la taiea con el mismo nombie. La vaiiable hhmm se encaigai ue almacenai la hoia consultaua al RTC BS1Su2. 21
Como pouemos apieciai, la taiea consultaRTC es muy sencilla, ya que solamente uebe consultai la hoia al ieloj meuiante getTimeSti(), que nos uevolvei una cauena ue chai. Posteiioimente y meuiante el mtouo ecuentiaRango, que tenui como entiaua la hoia, uebeiemos obtenei la sensibiliuau coiiesponuiente tias habei confiimauo la hoia en la que estamos.
El siguiente mtouo se encaiga ue ueuucii la hoia en la que nos encontiamos y uevolvei la sensibiliuau coiiesponuiente:
22 Puesto que solamente nos inteiesa sabei la hoia y ni siquieia los minutos, uebemos compaiai los uos piimeios componentes uel stiing con las vaiiables finmanana, fintaiue y finnoche. Neuiante una seiie ue conuiciones pouemos obtenei la sensibiliuau coiiesponuiente segn la fianja uel uia. Poi otio lauo vemos que touo lo uicho se ejecutai nicamente si no se ha cambiauo la seal manualmente, es uecii, si la vaiiable sensman est a tiae, significai que la hemos mouificauo peisonalmente y poi tanto, no se uebei compiobai en qu hoia estamos paia actualizai la sensibiliuau. Aunque si pouiemos consultai la hoia a tiavs uel pueito seiie.
2S 4.5. SETUP Y LOOP:
Estas taieas son piopias y obligatoiias paia piogiamai con Aiuuino. En el setup() uefinimos opciones tales como ueclaiai si cieitos pines son ue entiaua o saliua, como poi ejemplo speakei uebe sei ue saliua o el pulsauoi ue entiaua. Auems al hacei uso uel ieloj RTC BS1Su2 se ueben quitai los peimisos ue pioteccion ue esciituia y poneilo en iun-moue, lo cual se consigue con los mtouos wiitePiotection() y halt() utilizanuo como paimetios ue entiaua el booleano false. 24 Poi otia paite si queiemos configuiai inicialmente la hoia, fecha y uia ue la semana uel ieloj, se uebei uescomentai los comanuos setB0W, setTime y setBate. Lo comn es configuiailo la piimeia vez y si posteiioimente se actualiza paite uel couigo, comentailo paia que no se uesactualice la hoia.
El loop() si no hicieiamos uso ue taieas, es uonue uebeiia ii touo el couigo. Peio al hacei uso uel Buin0S, este queua vacio y uebemos ponei en l la oiuen nextTask(), esto est inuicauo poi paite uel piopio S0, y se esciibe paia evitai inteibloqueos y no se llegue a colgai el S0.
Con esto est explicauo touo el couigo necesaiio y ielevante que necesita sei explicauo. Aujunto a este uocumento est el couigo completo uel pioyecto.
2S 5. ESQUEMAS EXTERNOS: 5.1. ESQUEMA DEL MICRFONO: Como entiaua al sistema, tenemos un miciofono, uel cual tenemos que amplificai paia que llegue una seal uetectable poi el Aiuuino 0N0. El esquema a implementai es el siguiente:
Sienuo la fuente ue alimentacion el piopio Aiuuino. Este es un ciicuito sencillo que nos peimite aumentai la tension uepenuienuo ue la entiaua uel miciofono y uetectanuo este hecho en el Aiuuino. Este es uicho esquema implementauo en una pioto-boaiu:
26 5.2. ESQUEMA DEL RTC DS1302: Se hace uso ue un RTC, en concieto uel BS1Su2, paia que, segn la hoia uel uia, nuestio miciocontiolauoi sepa cul es la sensibiliuau a la que uebe hacei saltai el soniuo. Paia ello piogiamamos el us1Su2 como nos inuica la siguiente imagen y lo piogiamamos con la fecha y hoia actual, paia su posteiioi uso poi paite uel miciocontiolauoi.
Esta es una imagen en la que vemos implementauo el RTC en una pioto-boaiu:
27 5.3. ESQUEMA FINAL: Este uiseo es el final, en el que vemos el miciofono con su esquema ue amplificacion, el RTC BS1Su2 conectauo y auems hemos aauiuo un pulsauoi que activai el soniuo, con la misma uuiacion que cuanuo esta salta ue foima automtica. El tweetei auems est conectauo a tieiia y al pin 7, no sienuo necesaiio un ciicuito ue amplificacion ya que el iuiuo emitiuo es suficiente y en paite, molesto. Poi otio lauo, se ha aauiuo un conuensauoi ue 1uunF, conectanuo los pines RESET y uNB ue Aiuuino. Esto se ha hecho paia evitai que al conectai poi usb el miciocontiolauoi, se auto-ieinicie, ya que poi uefecto asi lo hace y esta es la nica foima ue evitailo si no se quieie uesoluai paite ue la placa. 0na anotacion es que a la hoia ue volvei a piogiamai la placa, se uebe quitai uicho conuensauoi, paia que se pueuan tiansmitii los uatos, ieiniciai la placa y ejecutai el nuevo couigo. Paia utilizai este RTC con Aiuuino, se ha usauo la libieiia ue: http:www.henningkailsen.comelectionicsa_l_us1Su2.php
28 6. CONCLUSIN PERSONAL:
Be ue ieconocei que al elegii este pioyecto, no sabia iealmente como iba haceilo ni implementailo, ni con qu mateiiales contaiia. Peio finalmente el pioyecto ue fin ue caiieia que acabamos ue vei, me ha apoitauo unos conocimientos y una expeiiencia que antes no tenia y que iecomienuo fueitemente a touos los inteiesauos en una piogiamacion no tan enfocaua a una "pantalla ue oiuenauoi". Be no sabei naua concieto sobie miciocontiolauoies, a base ue tiabajo y ue buscai infoimacion he siuo capaz ue piogiamai uno, auems ue sei capaz ue intiouucii un S0 ue caictei pieemtivo paia que iealice taieas concuiientes. Poi otia paite me ha uauo a conocei el munuo uel haiuwaie libie con Aiuuino, ya que tambin uesconocia este entoino y piogiamai en un lenguaje ue piogiamacion ue muy alto nivel, wiiing. En un piincipio paia familiaiizaime con el entoino ue piogiamacion, hice uso ue una gian vaiieuau ue couigos ue ejemplo. Auems tiat ue sepaiai en pequeos piogiamas touas las taieas uel couigo final, paia compiobai que inuepenuientemente unas ue otias, funcionaban. Posteiioimente solo tuve que juntai touas estas taieas y auaptailas en un mismo piogiama. Lo que iesulto ielativamente sencillo ya que al sei uiveisas taieas, hubo que auaptai pines y paite uel couigo paia que no ocuiiieian fallos. Be hecho hasta llegai a la veision final uel couigo, habia veces en el que el miciocontiolauoi se queuaba colgauo, poi ejemplo al no ponei un uelay antes enviaiiecibii uatos poi seiie, ya que se iecomienua si se hace uso uel Buin0S, hacei este uelay paia evitai inteibloqueos. A pesai ue planteaise este pioyecto con cieita uificultau al piincipio, ya que picticamente no conocia naua ue lo ielacionauo con miciocontiolauoies, a meuiua que he estauo tiabajanuo en l y se han solucionauo pioblemas, que mayoimente suigian poi la falta ue conocimientos, he visto que una ue las piincipales caiacteiisticas ue habei tiabajauo con Aiuuino es la sencillez y la faciliuau ue encontiai mateiial muy uiveiso poi Inteinet. Al tiataise ue haiuwaie libie, touo el couigo es open-souice y est enfocauo en su mayoi paite a pouei concentiaite en qu quieies hacei y no en como conseguiilo. La iealizacion ue este pioyecto ha conseguiuo que tenga un inteis en touo este munuo ue miciocontiolauoies, ya que son piezas muy asequibles y con una gian veisatiliuau, con las que se pueuen hacei una infiniuau ue instiumentos, uesue un teimometio, una matiiz ue leus, hacei uso ue uisplays lcu, hasta este pioyecto.
29 7. AGRADECIMIENTOS:
Quieio agiauecei la ayuua iecibiua poi paite uel Biiectoi uel Pioyecto B. }os vicente Busquets Nataix, poi la ayuua iecibiua y el suministio uel mateiial necesaiio, asi como el apoyo ue mis compaeios que me han ayuuauo en la bsqueua ue infoimacion y conocimientos paia touo este entoino y el pioyecto en geneial. Tambin quieio agiauecei a mis familiaies la paciencia que han teniuo conmigo uuiante toua esta caiieia.
'"Q"FL%rM"F(]EK(LT(M^:Br`J '(%LiC"$MDE($D#'E]NL%DM40`J n NL%DM H NL%DM b 0J "R]NL%DMHHPLZ"PDo0`jNL%DMHP"#"PDJn $D#FooJ ns2"%(]NL%DM3HPLZ"PD pp $D#F * -///`J #L%LMPLEooJ NL%DM H P"#"PDJ $D#FH/J "R]L$F"NL'D`j (EFL'D9DFD# H '"Q"FL%7(L']G&FFD#<"#`J "R]L$F"NL'D` L$F"NL'D H RL%E(J n E&EK(#']`J n
4ee>67;6 =B@,?:>67 7>= 44FLM(L (#$LMQL'L '( $D#E&%FLM (% MF$ 44i DGF(#(M %L 2DML^ L'(PLE '( L$F&L%"SLM 44%L E(#E"G"%"'L' %%LPL#'D L% P(FD'D 44(#$&(#FML7L#QD]`e4 FLET:DDK]$D#E&%FLM7>=`j '(%Li]-///`J 22PP H MF$1Q(F>"P(,FM]`J E(#E"G"%"'L' H (#$&(#FML7L#QD]22PP`J SS n