Esquema de Conexiones

20
Esquema de conexiones[editar ] Entradas y salidas[editar ] Poniendo de ejemplo al módulo Diecimila, éste consta de 14 entradas digitales configurables como entradas y/o salidas que operan a 5 voltios. Cada contacto puede proporcionar o recibir como máximo 40 mA. Los contactos 3, 5, 6, 9, 10 y 11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los contactos 0 y 1, eso interferirá con la comunicación USB. Diecimila también tiene 6 entradas analógicas que proporcionan una resolución de 10 bits. Por defecto, aceptan de 0 hasta 5 voltios, aunque es posible cambiar el nivel más alto, utilizando el contacto Aref y algún código de bajo nivel. Especificaciones[editar ] Las especificaciones de los distintos modelos de placas Arduino se resumen en la siguiente tabla: Modelo Micro contr olado r V o l t a j e d e e n t r a d a Vol taj e del sis tem a Frecue ncia de Reloj Di gi ta l I/ O Entra das Analó gicas PW M UA RT Memo ria Flas h Carg ador Interf az de Progra mación Arduino Uno - R3 ATmeg a328 7 - 5V 16MHz 14 6 6 1 32Kb Opti USB via

description

Esquema de Conexiones

Transcript of Esquema de Conexiones

Esquema de conexiones[editar]Entradas y salidas[editar]Poniendo de ejemplo al mdulo Diecimila, ste consta de 14 entradas digitales configurables como entradas y/o salidas que operan a!oltios" #ada contacto puede proporcionar o recibir como m$%imo 4& m'" (os contactos ), , *, +, 1& y 11 pueden proporcionar una salida P,- .Pulse ,idt/ -odulation0" 1i se conecta cualquier cosa a los contactos & y 1, eso interferir$ con la comunicacin 213" Diecimila tambin tiene * entradas analgicas que proporcionan una resolucin de 1& bits" Por defecto, aceptan de & /asta!oltios, aunque es posible cambiar el ni!el m$s alto, utili4ando el contacto 'ref y alg5n cdigo de bajo ni!el"Especificaciones[editar](as especificaciones de los distintos modelos de placas 'rduino se resumen en la siguiente tabla6ModeloMicrocontroladorVoltajedeentradaVoltajedelsistemaFrecuencia deRelojDigitalI/OEntradasAnalgicasPWMUARMemoriaFlas!"argadorInter#a$deProgramacinArduinoUno % R&'7mega)89:;18b?ptiboot213 !ia '7-ega1*28(os modelos 'rduino Diecimila, 'rduino Duemilano!e y 'rduino -ega est$n basados en los microcontroladores '7mega1*9, '7mega)89 y '7mega189&Amega'() Amega&*) Amega'*)+3 8 >3 9 >3DDPC?- 18 bytes 1 >3 4 >3Brecuencia de reloj1* -=4 1* -=4 1* -=4Lenguaje de programacin Arduino[editar](a plataforma 'rduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programacin de alto ni!el Processing que es similar a #EE"Arduino es una plataforma de /ardFare libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseGada para facilitar el uso de la electrnica en proyectos multidisciplinares"8 )Dl /ardFare consiste en una placa con un microcontrolador 'tmel '4$ en este caso tam!i7n llevan un magetmetro& >tras pueden tener 23>4$ en cuo caso el giroscopio slo mide dos ejes$ etc&MPU-6050El MPU-6050 opera con ;&; voltios$ aunque algunas versiones 5como la m+a6 llevan un regulador que permite conectarla a 2A&El MPU-6050 utiliza el protocolo de comunicacin I'(& En este tutorial no vo a entrar en detalles de cmo funciona este protocolo$ pero puedes encontrar m%s informacinaqu&-a tienes claro lo que es una IMU& Aeamos cada una de sus partes&El acelermetroEl acelermetro mide la aceleracin& Bui7n i!a a decirlo& La aceleracin puede expresarse en ; ejes9 C$ -D$ las tres dimensiones del espacio& )or ejemplo$ si mueves la IMU hacia arri!a$ el eje D marcar% un cierto valor& #i es hacia delante$ marcar% el eje C$ etci haces memoria de tus clases de la E#> 5o equivalentes6$ recordar%s que la gravedad de la .ierra tiene !a aceleraci de apro"# $#% m&s'$ perpendicular al suelo como es lgico& As+ pues$ la IMU tam!i7n detecta la aceleracin de la gravedad terrestre&Esto es un pro!lema" EAl contrario$ lectorF 8racias a la gravedad terrestre puedes usarlas lecturas del acelermetro para sa!er cu%l es el (g!lo de icliaci respecto al eje C o eje -upongamos que la IMU est7 perfectamente alineada con el suelo& Entonces$ como puedes ver en la imagen$ el eje ) marcar( $#%$los otros dos ejes marcar%n 1& Ahora supongamos que giramos la IMU $0 grados& Ahora es el eje C el que est% perpendicular al suelo$ por lo tanto marcar% la aceleracin de la gravedadi sa!emos que la gravedad es @&G mHsI$sa!emos que mesura dan los tres ejes del acelerometro$ por trigonometr+a es posi!le calcular el %ngulo de inclinacin de la IMU& Una !uena frmula para calcular el %ngulo es9El eje D se suele ignorar&?a otras frmulas equivalentes$ pero o prefiero la tangente&El GiroscopioEn un principio$ los giroscopios el7ctricos eran unos voluminosos artefactos que val+an la maor parte del presupuesto militar de un estado& M%s tarde$ durante la segunda guerra mundial se emplearon para dirigir cohetestorpedos& )or suerte$ gracias la revolucin digitalla miniaturizacin de circuitos$ ho en d+a cualquier aficionado a la electrnica puede permitirse uno& Aunque no para construir misiles&Los giroscopios elctricos se utilizaron en los cohetes V-2El giroscopio mide la *elocidad ag!lar& #i no tienes mu frescas tus lecciones de f+sica del instituto vo a recordarte que la velocidad angular es el nJmero de grados +!e se gira e ! seg!dolo que en vez de mesurarse en grados por segundo$ suele mesurarse en otra unidad que son radiaes por seg!do 5,rad&s - ,%0&PI grados&s6#i sa!emos el (g!lo iicial de la IMU$ podemos sumarle el valor que marca el giroscopio para sa!er el !e*o (g!lo a cada momento& #upongamos que iniciamos la IMU a 1K& #i el giroscopio realiza una medida cada segundo$marca ; en el eje C$ tendremos el %ngulo con esta sencilla frmula93nde t es el tiempo +!e trasc!rre cada vez que se calcula esta frmula&- lo mismo pasa con los ejes C$ D& #lo que al igual que con el acelermetro se suele ignorar el eje D&-a tenemos las lecturas& #imple$ verdad" )ues en realidad no tanto&Error en las medidasEn un mundo ideal donde hadaselfos cantan alegresdulces canciones alrededor de hogueras$ donde los dragones surcan los cielos$ los %r!oles ha!lan con las setas(Arduino Nano$ cuos pines #3A#(L son ARA2 respectivamente& #i utilizas otra placa puedeque los pines sean otros& $n este enlace aparece una lista con los pines #3A#(L deotras versiones de Arduino 53ue$ Leonardo,6As+ pues$ tienes las frmulas& .ienes la IMU& .ienes una placa Arduino& .ienes el circuito& Bu7 falta" #a!er cmo interaccionar con la IMU para o!tener lecturas& El M)U/0121 dar% unos ra8 *al!es 5:valores en !rutoL6 que despu7s ha!r% que re1ar5dividir por una constante6 a fin de conseguir valores utiliza!les&La Oe! oficial de Arduino dispone de un ejemplo para leer datos de la M)U/0121& )artir7 de ella$ aunque ha!r% que modificarla considera!lemente a que slo da los valores sin refinar del 8iroscopioel Acelermetro&Empezamos por las declaraciones&12-456#include //Direccion I2C de la IMU#define MPU 0x68 //Raio! de con"er!ion#define #$R %6&8'.05671011121-14151615161720#define ($R %&%.0 //Con"er!ion de radiane! a )rado! %80/PI#define R#D$#$D*( + ,-.2.,--. //MPU/60,0 da lo! "alore! en enero! de %6 0i!//1alore! !in refinarin%6$ #c23 #c43 #c53 (623 (643 (657 //#n)ulo!floa #cc8297floa (68297floa #n)le8297Ao a comentarlo& La primera l+nea inclue la li!rer+a Sire&h$ necesaria para la interaccin v+a protocolo I'(&Tdefine M)U 1x0G es la direccin I'( de la IMU que se especifica en la documentacinoficial&Los ratios de conversin son los especificados en la documentacin& 3e!eremos dividirlos valores que nos d7 el 8iroscopioel Acelermetro entre estas constantes para o!tener un valor coherente& UA3VAV3E8 es la conversin de radianes a grados&La IMU da los valores en enteros de P0 !its& (omo Arduino los guarda en menos !its$ ha que declarar las varia!les que almacenar%n los enteros provinientes de la IMU como un tipo de enteros especiales& intP0Vt AcC$ Ac-$ AcD$ 8C$ 8- son$ pues$ los raOVvalues de la IMU&4inalmente tenemos tres arras 5AccWX$ 8WX$ AngleWX6 que guardan el %ngulo C$ - del Acelermetro$ el 8iroscopioel resultado del 4iltro respectivamente& W1X se corresponde a C& WPX a -&La funcin setup es la siguiente912-456567"oid !eu:;