tag:blogger.com,1999:blog-31369984262072557742024-03-13T08:59:53.327-06:00SEGUIDOR DE LINEA & ARDUINO UNOMiguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.comBlogger13125tag:blogger.com,1999:blog-3136998426207255774.post-10918790191667381982013-04-25T09:48:00.004-05:002013-04-25T09:48:50.329-05:00Controlar dos motores con arduino.Del video anterior la rutina que se programo en el Arduino es muy simple, solo se mandan salidas altas o bajas dependiendo de como queremos que se comporte el motor.<br />
<div>
<br /></div>
<div>
La función del driver esta descrita en la tabla que publiqué anteriormente en la descripción del driver para manejar los motores.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZwIxP4Ihpf7JvjGqZhmN30uwSOEZu7-Ksk1sKOZjTG9YCMpidSC1Pbqd4t1ZZZlny2MXDcLHo_tSzVrDSoLOd3hj13HFRIOQkHr7mx9IV8D446LWvDsgm6lSpbwpT2SzVoEVen_PX85Y/s1600/DIRECCION.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZwIxP4Ihpf7JvjGqZhmN30uwSOEZu7-Ksk1sKOZjTG9YCMpidSC1Pbqd4t1ZZZlny2MXDcLHo_tSzVrDSoLOd3hj13HFRIOQkHr7mx9IV8D446LWvDsgm6lSpbwpT2SzVoEVen_PX85Y/s400/DIRECCION.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
En estas entradas también es muy útil inyectar una señal PWM en lugar de solo un 1 lógico para así controlar la velocidad del motor, la condición de motor bloqueado es para frenar el motor y mantenerlo sin movimiento, esto es mediante un campo magnético generado dentro del motor que evita que el rotor gire.</div>
<div>
<br /></div>
<div>
A continuación coloco el programa hecho para un arduino uno rev. 3, este programa solo controla la dirección de los motores, si se desea controlar la velocidad hay que cambiar las salidas lógicas por salidas PWM, la frecuencia que debe manejar el PWM debe ser alta por encima del rango de frecuencias audibles (mayor a 20KHz) para evitar que nuestros motores emitan sonidos molestos y al final del dia terminemos con dolor de cabeza (lo digo por experiencia propia XD)</div>
<div>
<br /></div>
<div>
<br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">int E1 = 0; //Habilita o desablita la primera mitad del driver</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">int E2 = 1; //Habilita o desablita la segunda mitad del driver</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">int m11 = 2; //m11 y m12 son los bits de control del motor uno (en la tabla PIN5 PIN7)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">int m12 = 3;</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">int m21 = 4; //m21 y m22 son los bits de control del motor dos (en la tabla PIN10 PIN12)</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">int m22 = 5;</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">void setup() { </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">}</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"><br /></span>
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">// the loop routine runs over and over again forever:</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">void loop() {</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(E1, HIGH); //ACTIVAR DRIVER</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(E2, HIGH);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ADELANTE </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, HIGH);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(1500); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ALTO </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //IZQUIERDA 90° </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, HIGH);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ALTO </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ADELANTE </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, HIGH);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(1500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ALTO </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, HIGH); //DERECHA 90° </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ALTO </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ADELANTE </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, HIGH);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(1500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //IZQUIERDA </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, HIGH);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(1500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //DERECHA </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(1500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ALTO </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(500);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, HIGH); //REVERSA </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, HIGH); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(2000);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m11, LOW); //ALTO </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m12, LOW);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m21, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> digitalWrite(m22, LOW); </span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;"> delay(9000);</span><br />
<span style="color: blue; font-family: Courier New, Courier, monospace; font-size: x-small;">} </span><br />
</div>
Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com5tag:blogger.com,1999:blog-3136998426207255774.post-34640104644463924082013-04-23T09:13:00.001-05:002013-04-23T09:13:32.443-05:00Puente H para seguidor de lineaAquí un ejemplo de como funciona Driver que se publico anteriormente.<br />
<br />
También lo tengo <b>disponible a la venta</b> por solo $250.00 pesos si desean adquirir el circuito contáctenme<br />
<br />
<span id="goog_1049817435"></span><span id="goog_1049817436"></span><br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/2DfVNAqd5Kc?feature=player_embedded' frameborder='0'></iframe></div>
<span id="goog_1197581518"></span><span id="goog_1197581519"></span><br />Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com6tag:blogger.com,1999:blog-3136998426207255774.post-42949688544788898032013-04-04T12:07:00.000-06:002013-04-23T09:15:41.028-05:00Sensores para seguidor de linea.<div style="text-align: center;">
<b>1. Etapa de sensores</b></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El primer circuito de sensores publicado anteriormente aquí en el blog carece de un circuito acondicionador de señal y el nivel de voltaje de la señal proveniente de los fototransistores dependerá en gran medida de la impedancia de entrada del circuito de control al cual lo estemos conectando ya que la corriente suministrada por el fototransistor es muy pequeña.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Este nuevo sensor cuenta con un circuito de acondicionamiento de señal para evitar que el voltaje de salida de los sensores caiga y sea mas fácil manejaros al conectarlos a un microcontrolador o al Arduino.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Básicamente el circuito de los sensores es el mismo, se añadió el diseño del circuito en PCB para darle mejor presentación y manejarlo mas fácilmente; así como tener la seguridad de que no se desconectara algún cable en el momento de las pruebas.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxDKNcuhOgvyAspu_fc9VkG2KUfoP4FxdYTnrZXAuRMbQE-HpCBEwHAvheO-kry_iaabWP3LA5Ec2LD9cujcDtYAjoeUOnoPd5VXzmZ23ofYj9UFX34TMqybkHlyMdqdPgxlR1PaGc7vQ/s1600/Sensores.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxDKNcuhOgvyAspu_fc9VkG2KUfoP4FxdYTnrZXAuRMbQE-HpCBEwHAvheO-kry_iaabWP3LA5Ec2LD9cujcDtYAjoeUOnoPd5VXzmZ23ofYj9UFX34TMqybkHlyMdqdPgxlR1PaGc7vQ/s400/Sensores.png" width="400" /></a></div>
<br />
<div style="text-align: center;">
<a href="https://www.dropbox.com/s/sszizyjdsmq5bw5/Sensores.DSN" target="_blank">Clic para descargar esquemático para proteus</a></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: justify;">
El circuito esta compuesto de 5 sensores óptico-reflectivos QRD1114 el cual consta de un LED infrarrojo y un fototransistor, la resistencia de 220 es para limitar la corriente del LED a 22mA y evitar quemarlo, la alimentación (VCC) es de 5 volts, la resistencia de 10K es para cerrar el circuito entre el colector y el emisor y poder tener un voltaje de referencia en el emisor que sera proporcional a la cantidad de luz proveniente del LED reflejada hacia el fototransitor al acercar el sensor a alguna superficie; es del emisor del fototransitor de donde se toma la señal que se acondicionara para tener un nivel de voltaje estable.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El diseño del PCB se realizo de la siguiente manera colocando los sensores en una forma de arco suave, aunque la mejor forma de colocarlos es dependiendo del tipo de linea que va a detectar el robot y la complejidad de la pista, a mi me funciono esta posición pero tal vez no sea la mas eficiente.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis9xWsANW6fjmjDXmNXblo0P4TSLeAV3iY8m9sb37pNhPvnSWGWWy1UVpBh2tP9BW7ufnaAcOmYdcal83il2PXm3Qy-ha26LAQsJT-oA7IT1pEyAVU4t6xZSPLD4hkjwVcNzqU50fIPHU/s1600/Sensores+PCB.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis9xWsANW6fjmjDXmNXblo0P4TSLeAV3iY8m9sb37pNhPvnSWGWWy1UVpBh2tP9BW7ufnaAcOmYdcal83il2PXm3Qy-ha26LAQsJT-oA7IT1pEyAVU4t6xZSPLD4hkjwVcNzqU50fIPHU/s400/Sensores+PCB.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.dropbox.com/s/qadpv2e2p7jebpi/Sensores.LYT" target="_blank">Descargar aquí el diseño del PCB para proteus.</a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPa8lKELEev8SOYqCpPpOMf-BjPj7F-mhILFr6RIUP4wzWF1o4nDxVBrAFjWQ4kDfkrvkoN9dOwxEe5FRSRPK6BZbnZ6hTTp2S6CzroK5rgZdZlQGVzqAy0ZESPIdtFeBEDFfUmOWv_Ek/s1600/foto.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPa8lKELEev8SOYqCpPpOMf-BjPj7F-mhILFr6RIUP4wzWF1o4nDxVBrAFjWQ4kDfkrvkoN9dOwxEe5FRSRPK6BZbnZ6hTTp2S6CzroK5rgZdZlQGVzqAy0ZESPIdtFeBEDFfUmOWv_Ek/s400/foto.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtLA13iffbhmwZ3j373b-T1yaxxdFqv57zUMYTL2WvQWFsxET6ae9KkU-6pcWmWbRG5gItZebCEcuTTtKLvYW6UOYvPyGCkida61zV2NxEvw1jFpfwjitUw-i2mWSOlrp3qLpXzkAAQk4/s1600/foto2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtLA13iffbhmwZ3j373b-T1yaxxdFqv57zUMYTL2WvQWFsxET6ae9KkU-6pcWmWbRG5gItZebCEcuTTtKLvYW6UOYvPyGCkida61zV2NxEvw1jFpfwjitUw-i2mWSOlrp3qLpXzkAAQk4/s400/foto2.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<b>2. Acondicionador de Señal.</b></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
El acondicionador de señal esta compuesto únicamente por 5 amplificadores operacionales en configuración de seguidor de voltaje, lo que hace este circuito es proveer una alta impedancia de entrada evitando caídas de voltaje en el emisor del sensor y dando a la salida el mismo nivel de voltaje.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRnwmA4jR5CKQRDQbrS6XwtVBengoV-WxzyoL169GSHVWa1cXfbq686O0xSa-qVBqdWmDAbIny64te3AvbfAx9hyy3x-RFJSets-F11WoK2trq7bPvYGzJmd8HixrKrl5pkDBZlGgC40Q/s1600/A.+Se%C3%B1al.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRnwmA4jR5CKQRDQbrS6XwtVBengoV-WxzyoL169GSHVWa1cXfbq686O0xSa-qVBqdWmDAbIny64te3AvbfAx9hyy3x-RFJSets-F11WoK2trq7bPvYGzJmd8HixrKrl5pkDBZlGgC40Q/s640/A.+Se%C3%B1al.png" width="500" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<a href="https://www.dropbox.com/s/gzxmm9ekni35gyb/Acondicionador%20de%20Se%C3%B1ar%20Mikbot.DSN" target="_blank">Clic para descargar esquematico en Proteus</a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: justify;">
A continuación el diseño del circuito en PCB, el circuito es muy sencillo, la pista en color rojo es un puente y las medidas de la baquelita son 5mm x 5mm.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9kRsEUQKJJtSf0dsaE-rW_3pMlFSK2dxE0flhpx5JSOr6PfNBVuBy9vgHalvmtqUB0SOSHx0VZb5jgekIZqAvM571bZ3juO0iKAc2UIDRRo3NlogNPErhrp2IxFPru_Yher2PHI8eK7U/s1600/A.+se%C3%B1al+PCB.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9kRsEUQKJJtSf0dsaE-rW_3pMlFSK2dxE0flhpx5JSOr6PfNBVuBy9vgHalvmtqUB0SOSHx0VZb5jgekIZqAvM571bZ3juO0iKAc2UIDRRo3NlogNPErhrp2IxFPru_Yher2PHI8eK7U/s400/A.+se%C3%B1al+PCB.png" width="391" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.dropbox.com/s/nw4glvhkgqba8vo/Acondicionador%20de%20Se%C3%B1ar%20Mikbot.LYT" target="_blank">Clic para descargar layout del circuito acondicionador de señal.</a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
El circuito terminado queda en dos módulos independientes que se ensamblan uno con otro mediante pines hembra y macho, el conjunto de pines del circuito acondicionador de señal identificado con el nombre de "SENSORES" debe ser conectado con el conjunto de pines del PCB de los sensores; el conjunto de pines con la leyenda "SALIDA" debe ser alimentado con el voltaje del Arduino de 5V, el pin que dice 0V es tierra (gnd) y las salidas del 1 al 5 son las salidas de cada sensor que serán conectadas a la entrada analógica del Arduino o microcontrolador que estemos utilizando.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
A continuación les dejo unas fotos del par de circuitos conectados entre si.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXoWNLOI30nHw9WTAFqAHwHjv_S-O4ywsBAsQvCy4YMkkaz0_YShYIYO1KxuDLCuMxFX0JskfwYlfSo_lUBVcAY9xzHNb-C1Qm7sbGV7Qz1ky4k-KO0mYqRYHpBxDPcYbpVWpnqcIEYn4/s1600/SENS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXoWNLOI30nHw9WTAFqAHwHjv_S-O4ywsBAsQvCy4YMkkaz0_YShYIYO1KxuDLCuMxFX0JskfwYlfSo_lUBVcAY9xzHNb-C1Qm7sbGV7Qz1ky4k-KO0mYqRYHpBxDPcYbpVWpnqcIEYn4/s640/SENS.png" width="300" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Por ultimo en el siguiente link se pueden descargar el PDF para imprimir los circuitos y revelarlos.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.dropbox.com/s/6y0sixu1m2axaug/Sensores.rar" target="_blank">Descargar PCB listo para imprimir </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
</div>
Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com15tag:blogger.com,1999:blog-3136998426207255774.post-27775683814979726522013-03-27T13:09:00.002-06:002013-04-23T09:16:27.003-05:00Controlar la dirección y velocidad del robot<div style="text-align: center;">
<span style="font-size: large;">Driver para seguidor de linea.</span></div>
<div style="text-align: center;">
<span style="font-size: large;"><br /></span></div>
<div style="text-align: justify;">
Este nuevo driver basado en un circuito integrado L298N que en esencia es lo mismo que el que se uso anteriormente (L293) con la diferencia de que soporta mayor corriente y podremos utilizar motores de CD mas grandes.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El L298N es un circuito integrado encapsulado en multiwatt 15. es un driver de puente completo de alto voltaje y alta corriente diseñado para aceptar niveles lógicos estandard TTL y manejar cargas inductivas como relevadores, solenoides, motores de CD y motores de pasos. Esta provisto de dos entradas de eneable para activar o desactivar los dos puentes independientemente de las entradas de señal. Los emisores de los transistores mas bajos de cada puente están conectados juntos y la terminal externa correspondiente puede ser usada para la conexión de una resistencia shunt (para sensar corrientes).</div>
<div style="text-align: justify;">
- Opera con una fuente de voltaje de hasta 46V</div>
<div style="text-align: justify;">
- Corriente de CD hasta 4A</div>
<div style="text-align: justify;">
- Bajo voltaje de saturación</div>
<div style="text-align: justify;">
- Protección contra sobrecalentamiento</div>
<div style="text-align: justify;">
- Voltaje de 0 lógico de entrada hasta 1.5 (Alta inmunidad al ruido)</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
El diagrama de pines es el siguiente:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7sZpb5mo9rrg80snq4GJC0qYSnT4mf7u_xwuN_14AzuIlCNogtWgAfH2Q8TcVNKrL4QxA1EICO8aPNrXZuL86LE1fUq7ClTQ4k9PODGuOw5gPHeoRoW7JAfTKOI61D07BoYUKJY9v7fg/s1600/l298n.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7sZpb5mo9rrg80snq4GJC0qYSnT4mf7u_xwuN_14AzuIlCNogtWgAfH2Q8TcVNKrL4QxA1EICO8aPNrXZuL86LE1fUq7ClTQ4k9PODGuOw5gPHeoRoW7JAfTKOI61D07BoYUKJY9v7fg/s400/l298n.png" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Se agregaron dos reguladores de voltaje, uno de 5V y otro de 3.3V para alimentar algunos sensores y otros CI que agreguemos a nuestros diseños.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
A continuación se muestra el esquemático del circuito.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilVuErb7hWnVS9-PW7m8QaEUmkM1WElVDQG_R_trFZrND73e1YLWEtqOS_v3QzGWpm1zY85qFs3dqBYroIbC9qlK02iWzpy2eJs67_gkDTXUVhyphenhyphenLxwFAvmpIw0P3ztywNFC3XECwgZF4U/s1600/DRIVER+MOTOR+DC.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilVuErb7hWnVS9-PW7m8QaEUmkM1WElVDQG_R_trFZrND73e1YLWEtqOS_v3QzGWpm1zY85qFs3dqBYroIbC9qlK02iWzpy2eJs67_gkDTXUVhyphenhyphenLxwFAvmpIw0P3ztywNFC3XECwgZF4U/s400/DRIVER+MOTOR+DC.png" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Podremos alimentar con una batería de hasta 15V en el borne indicado con la leyenda de BATERIA; esto para no dañar el regulador de 3.3V.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Las entradas de control nombradas IN1 e IN2 son las encargadas de recibir las señales provenientes de un microcontrolador o cualquier otro circuito de control para determinar la dirección de los motores que se conectaran al borne llamado MOTORES un motor deberá conectarse a los pines 1 y 2 del borne y el otro a los pines 3 y 4. En la siguiente tabla se muestra como se comporta la salida respecto a la entrada.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsPvWHfMewp5n_7ZhgrnTlnH34OtKCHs8O4_pNiMIRuirt_2Sp41gB7DawiX3eXJHmWT_HEFlSndRIRGUwKkzZyt03NXLnkbKFTtYcs4sAZXhALmiGnEJ7QfZaAETYJrdqIWt8D3T3AeI/s1600/DIRECCION.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="88" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsPvWHfMewp5n_7ZhgrnTlnH34OtKCHs8O4_pNiMIRuirt_2Sp41gB7DawiX3eXJHmWT_HEFlSndRIRGUwKkzZyt03NXLnkbKFTtYcs4sAZXhALmiGnEJ7QfZaAETYJrdqIWt8D3T3AeI/s400/DIRECCION.png" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Finalmente este es el diseño en PCB del circuito, dejo también un link para descargar el esquemático y el layout si es que lo quieren modificar, fue creado en ISIS y ARES de Proteus.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="365" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2rBA8dXLlbLYOJJSXUlGXKo_lMneIeVuqgOGSAZ0slHxCaBV1GmECzWBj8znDBSajY5hfKxfE3ES6AY9GcnE21syzWV3uQZDMQ6iNCxVR0pPB-TZJ0iFqiulUoscwt9G-Z_jmePvgqU4/s400/pcb+design.png" width="400" /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.dropbox.com/s/wq42zupa5b2vgyl/Etapa%20de%20Potencia.LYT" target="_blank">CLIC AQUÍ PARA DESCARGAR LAYOUT EN PROTEUS</a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.dropbox.com/s/s2ojdxwkm5durob/Etapa%20de%20Potencia.DSN" target="_blank"><img border="0" height="393" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXVKNmn700zb_hhbulA6PTJ8GkZQHH8dJfxE-dhb1GU4l8AsR98AqNL0gO7xKJaSiCid-RNXC6RVI1rUx3ZAc0NeMnJft_oht4uwFbBDzCVuvhyphenhyphenKtl-2p96Lcas3cpYNGEcZM53PV8Kto/s400/pcb+design+imagen.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.dropbox.com/s/s2ojdxwkm5durob/Etapa%20de%20Potencia.DSN" target="_blank">CLIC AQUI PARA DESCARGAR ESQUEMATICO PARA PROTEUS</a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Bv9BYX3HUb1wnuVQk_LLeGrlfmUie81kFxZniYU77laVCFEdiVERipMw6iU0Hh-G1DbPzPay8NpMNl_-feY6eU5Kt7IgoChYplNnsl6mRvht3XC1hR2W8Qi5ofkKElTOQ1UzoQUdmas/s1600/foto+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="357" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7Bv9BYX3HUb1wnuVQk_LLeGrlfmUie81kFxZniYU77laVCFEdiVERipMw6iU0Hh-G1DbPzPay8NpMNl_-feY6eU5Kt7IgoChYplNnsl6mRvht3XC1hR2W8Qi5ofkKElTOQ1UzoQUdmas/s400/foto+2.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi03vy7UNKPRUSGi800Tbc2oeJDR9eQe_YHkqMZB32RPPPPk9_chyceRmedmhjqGA-8i7Nt9iKx4Ll0jbora1VrYsNeWxnjbFuuGEanWO5-4J4OyBaKyIm4xxK7FqSZ2E232LZ1NZeQT-Y/s1600/foto+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="351" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi03vy7UNKPRUSGi800Tbc2oeJDR9eQe_YHkqMZB32RPPPPk9_chyceRmedmhjqGA-8i7Nt9iKx4Ll0jbora1VrYsNeWxnjbFuuGEanWO5-4J4OyBaKyIm4xxK7FqSZ2E232LZ1NZeQT-Y/s400/foto+1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: justify;">
<a href="https://www.dropbox.com/s/pgom7dywfqw2afc/PCB%20PARA%20IMPRIMIR.rar" target="_blank">CLIC PARA DESCARGAR PCB LISTO PARA IMPRIMIR</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<span hidden="" id="hc_extension_svg_filters"><svg version="1.1" xmlns="http://www.w3.org/2000/svg"><defs><filter id="hc_extension_off"><fecomponenttransfer><fefuncr tablevalues="0 1" type="table"></fefuncr><fefuncg tablevalues="0 1" type="table"></fefuncg><fefuncb tablevalues="0 1" type="table"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_highcontrast"><fecomponenttransfer><fefuncr exponent="3.0" type="gamma"></fefuncr><fefuncg exponent="3.0" type="gamma"></fefuncg><fefuncb exponent="3.0" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_highcontrast_back"><fecomponenttransfer><fefuncr exponent="0.33" type="gamma"></fefuncr><fefuncg exponent="0.33" type="gamma"></fefuncg><fefuncb exponent="0.33" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_grayscale"><fecolormatrix type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"></fecolormatrix><fecomponenttransfer><fefuncr exponent="3" type="gamma"></fefuncr><fefuncg exponent="3" type="gamma"></fefuncg><fefuncb exponent="3" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_grayscale_back"><fecomponenttransfer><fefuncr exponent="0.33" type="gamma"></fefuncr><fefuncg exponent="0.33" type="gamma"></fefuncg><fefuncb exponent="0.33" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_invert"><fecomponenttransfer><fefuncr amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncr><fefuncg amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncg><fefuncb amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_invert_back"><fecomponenttransfer><fefuncr tablevalues="1 0" type="table"></fefuncr><fefuncg tablevalues="1 0" type="table"></fefuncg><fefuncb tablevalues="1 0" type="table"></fefuncb></fecomponenttransfer><fecomponenttransfer><fefuncr exponent="1.7" type="gamma"></fefuncr><fefuncg exponent="1.7" type="gamma"></fefuncg><fefuncb exponent="1.7" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_invert_grayscale"><fecolormatrix type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"></fecolormatrix><fecomponenttransfer><fefuncr amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncr><fefuncg amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncg><fefuncb amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncb></fecomponenttransfer></filter><filter id="hc_extension_yellow_on_black"><fecomponenttransfer><fefuncr amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncr><fefuncg amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncg><fefuncb amplitude="-1" exponent="3" offset="1" type="gamma"></fefuncb></fecomponenttransfer><fecolormatrix type="matrix" values="0.3 0.5 0.2 0 0 0.3 0.5 0.2 0 0 0 0 0 0 0 0 0 0 1 0"></fecolormatrix></filter><filter id="hc_extension_yellow_on_black_back"><fecomponenttransfer><fefuncr tablevalues="1 0" type="table"></fefuncr><fefuncg tablevalues="1 0" type="table"></fefuncg><fefuncb tablevalues="1 0" type="table"></fefuncb></fecomponenttransfer><fecomponenttransfer><fefuncr exponent="0.33" type="gamma"></fefuncr><fefuncg exponent="0.33" type="gamma"></fefuncg><fefuncb exponent="0.33" type="gamma"></fefuncb></fecomponenttransfer></filter></defs></svg></span>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com4tag:blogger.com,1999:blog-3136998426207255774.post-46483680603783237242011-04-16T13:05:00.003-05:002011-04-16T13:10:15.962-05:00NuEvOoOoO!!!!<span style="color: rgb(255, 0, 0);font-size:180%;" >PROXIMAMENTE POV LED DISPLAY CON ARDUINO!!!!!!!!!<br /><br /></span><div style="text-align: center;"><span style="color: rgb(51, 102, 255);font-size:180%;" >BANNER FLOTANTE</span><br /></div><span style="color: rgb(255, 0, 0);font-size:180%;" ><br /><br /></span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqrCC0NmbfGdGzB1uzJyNpYQceEcAL_8pxEEbd1wdkdeKw0JEeCTytSdoTTScTrJczV9YWsh8grpPWJbzlM6g7raV3X9JNhyphenhyphenizBcTAx3vi3jSB6dO2qM3SrNt_R6nhQpQoTdjJihTGYM/s1600/211220101840.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 389px; height: 292px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqrCC0NmbfGdGzB1uzJyNpYQceEcAL_8pxEEbd1wdkdeKw0JEeCTytSdoTTScTrJczV9YWsh8grpPWJbzlM6g7raV3X9JNhyphenhyphenizBcTAx3vi3jSB6dO2qM3SrNt_R6nhQpQoTdjJihTGYM/s200/211220101840.jpg" alt="" id="BLOGGER_PHOTO_ID_5596244675334053010" border="0" /></a><br />6 LEDS AL GIRAR A GRAN VELOCIDAD DAN EL EFECTO DE TENER UN BANNER DE LEDS SUSPENDIDO EN EL AIRE :)Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com0tag:blogger.com,1999:blog-3136998426207255774.post-1910921519180241652011-01-21T20:11:00.002-06:002011-01-22T15:10:44.923-06:00Robot Seguidor de Linea con ARDUINO<span style="font-family:arial;">Este blog ha sido creado con la finalidad compartir paso a paso como desarrollar un robot seguidor de linea negra utilizando una placa de </span><a style="color: rgb(51, 102, 255);" href="http://www.arduino.cc/"><span style="color: rgb(0, 0, 102); font-weight: bold;font-family:arial;" >ARDUINO UNO</span></a><span style="font-family:arial;">, la construcción es muy sencilla al igual que la programación, cabe mencionar que este diseño gano el concurso de robótica <a style="color: rgb(255, 204, 51);" href="http://www.tectoluca.com/">RACEBOT.T. IEEE 2010</a> llevado a cabo en el <a style="color: rgb(255, 102, 0);" href="http://www.ittoluca.edu.mx/">Instituto Tecnológico de Toluca </a></span>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com5tag:blogger.com,1999:blog-3136998426207255774.post-59644428009380148652011-01-21T20:00:00.000-06:002011-01-22T01:36:35.793-06:00<object style="height: 390px; width: 640px;"><param name="movie" value="http://www.youtube.com/v/1tfW3eWkW44?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/1tfW3eWkW44?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="390"></embed></object>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com6tag:blogger.com,1999:blog-3136998426207255774.post-52267770411439512052011-01-21T19:21:00.002-06:002011-01-22T15:09:41.590-06:001. Materiales Utilizados en el proyecto.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.hvwtech.com/products/97/35120_PV.jpg"><br /></a><br />- Una tarjeta <span style="color: rgb(51, 102, 255); font-weight: bold;">ARDUINO UNO</span> (cualquier versión sirve)<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC1Mj07krdLjZkvDSwiczXyw0YASzJFlPmo0GZe3rBq8pODtnsrhFkXYB5xg7SlGFlsv_EgwlFXhnG1AR3EkeJAjwyq8m0lKUtr4mvn-jMFRrxsyr8yNV52_ScmB7FzBjSSIGzWKFjixA/s1600/21012011015.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 238px; height: 178px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiC1Mj07krdLjZkvDSwiczXyw0YASzJFlPmo0GZe3rBq8pODtnsrhFkXYB5xg7SlGFlsv_EgwlFXhnG1AR3EkeJAjwyq8m0lKUtr4mvn-jMFRrxsyr8yNV52_ScmB7FzBjSSIGzWKFjixA/s320/21012011015.jpg" alt="" id="BLOGGER_PHOTO_ID_5564816597424996866" border="0" /></a><br />- Circuito Integrado <span style="color: rgb(51, 102, 255); font-weight: bold;">L293B</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.mercadolibre.com.mx/jm/img?s=MLM&f=51518340_7412.jpg&v=E"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 151px; height: 151px;" src="http://www.mercadolibre.com.mx/jm/img?s=MLM&f=51518340_7412.jpg&v=E" alt="" border="0" /></a><br />- Dos <span style="font-weight: bold; color: rgb(51, 102, 255);">moto-reductores</span> (se adaptaron unos de un robot de juguete que tenia de niño pero pueden utilizar unos como estos cuestan al rededor de $60.00 pesos)<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_QgFXr2ZtwIhZj85ez0Y4EoW8JfD1Ooj2L7qwwhvQBK-FTuFDvmICIXRoaqYiXj6ZUILknGOsNGeKSgAystJra7dkDoseWnezctk1yupoWtWYfSm7p4pvvm1MrmI04UF7wnU6S_PuAvI/s1600/21012011017.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 198px; height: 148px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_QgFXr2ZtwIhZj85ez0Y4EoW8JfD1Ooj2L7qwwhvQBK-FTuFDvmICIXRoaqYiXj6ZUILknGOsNGeKSgAystJra7dkDoseWnezctk1yupoWtWYfSm7p4pvvm1MrmI04UF7wnU6S_PuAvI/s320/21012011017.jpg" alt="" id="BLOGGER_PHOTO_ID_5564817388805669842" border="0" /></a><br /><br />- 8 diodos <span style="font-weight: bold; color: rgb(51, 102, 255);">1n4148</span><br /><br /><a href="http://www.bitsbox.co.uk/images/1N4148.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 192px; height: 160px;" src="http://www.bitsbox.co.uk/images/1N4148.jpg" alt="" border="0" /></a><br />- 5 Sensores óptico-refletcivos <span style="font-weight: bold; color: rgb(51, 102, 255);">QRD1114</span><br /><br /><br /><a href="http://www.hvwtech.com/products/97/35120_PV.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 167px; height: 167px;" src="http://www.hvwtech.com/products/97/35120_PV.jpg" alt="" border="0" /></a>- <span style="color: rgb(51, 102, 255); font-weight: bold;">Ruedas</span>. Para construir este robot se emplearon 2 ruedas fueron compradas en una tienda de electrónica y una rueda loca que diseño con piezas de mecano<br /><br />- Y lo mas importante<span style="color: rgb(255, 0, 0);"> <span style="font-size:130%;"><span style="font-weight: bold;">¡¡MUCHA IMAGINACIÓN!!</span></span></span><br /><span style="display: block;" id="formatbar_Buttons"><span class=" on" style="display: block;" id="formatbar_Add_Image" title="Añadir imagen" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="addImage();" onmousedown="CheckFormatting(event);;ButtonMouseDown(this);"><img src="http://www.blogger.com/img/blank.gif" alt="Añadir imagen" class="gl_photo" border="0" /></span></span>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com4tag:blogger.com,1999:blog-3136998426207255774.post-27743589822042519382011-01-21T15:31:00.007-06:002011-04-11T00:48:40.300-05:002. Construcción de la base del robot<div style="text-align: justify;"><span>Esta parte del proyecto es muy importante ya que de ella depende la movilidad del robot así como de su rigidez para soportar los elementos electrónicos que posteriormente se integrarán a el.</span><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjzjtQsic2kdT_Cgn00sGKXgQ-IjiIlj2qVWI7eguzIgNggJo5qFiCFSeS5c68NWvUYZ11QjzHFdukr6jxMMIXUJS0E04hEbVdrBS2K-wwWZXbbUhmVvRX4C4pQJYI6JTtYxaUxyUlSi0/s1600/21012011019.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 95px; height: 71px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjzjtQsic2kdT_Cgn00sGKXgQ-IjiIlj2qVWI7eguzIgNggJo5qFiCFSeS5c68NWvUYZ11QjzHFdukr6jxMMIXUJS0E04hEbVdrBS2K-wwWZXbbUhmVvRX4C4pQJYI6JTtYxaUxyUlSi0/s200/21012011019.jpg" alt="" id="BLOGGER_PHOTO_ID_5564866754746059186" border="0" /></a><span>Se eligió como soporte un pequeño trozo de <span style="font-weight: bold; color: rgb(51, 102, 255);">acrílico</span> de 3mm de espesor y aproximadamente 20cm de largo y 10cm de ancho; el acrílico es muy fácil de manejar de hecho se puede cortar con un cutter y una regla repasando varias veces sobre el.</span><br /><br /><span style="font-weight: bold; color: rgb(51, 51, 255);">La rueda loca</span><span> (llamada graciosamente así) es una rueda igual a la que usan los carritos de supermercado y las sillas de oficina (igual en concepto, no </span><span>físicamente) esta tiene un movimiento libre de 360º que facilita los giros del robot; la r</span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicsfGqzukMGTxjSVPcENMcd1wvwgk8wZArdZJQ2_E0bqgTToWNIGVsNKxNFoS_NimaB5qyWx5PxGyvkJT_JF5z3sNZ7LYrcngjrP8dlcv3Bj1VewULMymFG1TIXseEgNZnM68WvFkzDVI/s1600/21012011022.jpg"><img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 114px; height: 85px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicsfGqzukMGTxjSVPcENMcd1wvwgk8wZArdZJQ2_E0bqgTToWNIGVsNKxNFoS_NimaB5qyWx5PxGyvkJT_JF5z3sNZ7LYrcngjrP8dlcv3Bj1VewULMymFG1TIXseEgNZnM68WvFkzDVI/s200/21012011022.jpg" alt="" id="BLOGGER_PHOTO_ID_5564866219664251458" border="0" /></a><span>u</span><span>eda loca implementada en este proyecto fue construida con piezas de mecano y una </span><span>llanta de un carrito de juguete; pero también se pueden encontrar en tiendas de electrón</span><span>ic</span><span>a o robótica unas muy bonitas y no tan pesadas. A continuación muestro una foto de la rueda.</span><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP9MaR2AP4vSOJKM9tXJgc892K8VmdAjuTW5cXZ9K9lr4ENZdYtYTQesByDIEP-JnOwY6g8FjV4_KDGsRw805n6IX3q2AZ_K5NY7I9qeTOv2YE3pyQLmRm7y8xYgkV7MG4X0tATNgj5vw/s1600/21012011020.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 106px; height: 79px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP9MaR2AP4vSOJKM9tXJgc892K8VmdAjuTW5cXZ9K9lr4ENZdYtYTQesByDIEP-JnOwY6g8FjV4_KDGsRw805n6IX3q2AZ_K5NY7I9qeTOv2YE3pyQLmRm7y8xYgkV7MG4X0tATNgj5vw/s200/21012011020.jpg" alt="" id="BLOGGER_PHOTO_ID_5564868214142639666" border="0" /></a><span>Y por último pero no menos importante la parte de <span style="color: rgb(51, 102, 255); font-weight: bold;">tracción</span> del robot; constituida por los dos moto-reductores y sus respectivas ruedas, cada uno de estos puede ser controlado independientemente y son los que le dan dirección al robot, cabe destacar que si uno gira en sentido opuesto al otro respectivamente se puede obtener un giro de 360º sobre el eje del robot, lo que permite un amplio rango de movimiento.</span><br /><br /><span>Este es el aspecto final de la construcción del chasis del robot seguidor de linea que hemos bautizado <span style="font-weight: bold;">BICHIBOT</span> XD</span><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm7nDsZMpMvDTqBUHuPzfD6lshoDEteVUQkoddAEcg8MHlm3pmulw7cUUrDFde31CfPDzQ7svTG4MngRN0kr5EpOXdRoucgx-cBu80LiIywc4oRaDrbS1rOWkVLyARFs7IiZfHZMoUAp4/s1600/171120101728.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm7nDsZMpMvDTqBUHuPzfD6lshoDEteVUQkoddAEcg8MHlm3pmulw7cUUrDFde31CfPDzQ7svTG4MngRN0kr5EpOXdRoucgx-cBu80LiIywc4oRaDrbS1rOWkVLyARFs7IiZfHZMoUAp4/s400/171120101728.jpg" alt="" id="BLOGGER_PHOTO_ID_5564869299220190706" border="0" /></a><br /><br /></div>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com1tag:blogger.com,1999:blog-3136998426207255774.post-30114871080529320622011-01-20T00:12:00.013-06:002011-04-11T00:49:16.257-05:003. Diseño del driver para los motores.<div style="text-align: justify;"><br /></div><br />En esta etapa de la construcción del robot <span><span style="font-weight: bold;">BICHIBOT</span></span> trata sobre el diseño de un controlador bidireccional para motores de corriente directa, que esta constituido de un Circuito Integrado L293B.<br /><div style="text-align: justify;"><br />El L<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://t0.gstatic.com/images?q=tbn:ANd9GcTZgk3KzeusLIr4XTSaEgSuSs5zAe41YzhiVS9_rpsxWkg5C22hSA&t=1"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 53px; height: 53px;" src="http://t0.gstatic.com/images?q=tbn:ANd9GcTZgk3KzeusLIr4XTSaEgSuSs5zAe41YzhiVS9_rpsxWkg5C22hSA&t=1" alt="" border="0" /></a>293B <a style="color: rgb(255, 0, 0);" href="http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXurruu.pdf">(datasheet)</a><span style="color: rgb(255, 0, 0);"> </span>es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 1A por canal. Cada canal es controlado por señales de entrada compatibles TTL y cada pareja de canales dispone de una señal de habilitación que desconecta las salidas de los mismos.<br /><br />Dispone de un pin para la alimentación de las cargas que se están controlando, de forma que dicha alimentación es independiente de la lógica de control.<br /><br />La siguiente imagen describe la conexión básica de un motor al driver y en la tabla se muestra las señales de control, +Vs es el pin de alimentación de los motores<br /><br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOpYysQ2qeDbeLOrVSd2zpHtZ0ai2rjp3zldiWouGvlr5lHdYrktt7dRrSJjR00yuxr_gS_aFhlC8lJlGX_kdV_ScLhoSusErzVjAgNcn1rxv5qFWWu_U6NB4QSB63AFJum89SwXJ3K2k/s1600/l293b1.bmp"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 268px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOpYysQ2qeDbeLOrVSd2zpHtZ0ai2rjp3zldiWouGvlr5lHdYrktt7dRrSJjR00yuxr_gS_aFhlC8lJlGX_kdV_ScLhoSusErzVjAgNcn1rxv5qFWWu_U6NB4QSB63AFJum89SwXJ3K2k/s320/l293b1.bmp" alt="" id="BLOGGER_PHOTO_ID_5564899017624045826" border="0" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTKyA2mn12IavDHnl4Yt-VpImjTXsNOah5V3rolXMkeNbITAUhtJex24VRyBBFpWO8nlbrfWvdLdTuNODpboCq66VTCDZz1EkezO1J7cwOGDDAg6Z5nFeL95IQ9UL2S4PiUE7VSHbW94I/s1600/l293b2.bmp"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 231px; height: 56px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTKyA2mn12IavDHnl4Yt-VpImjTXsNOah5V3rolXMkeNbITAUhtJex24VRyBBFpWO8nlbrfWvdLdTuNODpboCq66VTCDZz1EkezO1J7cwOGDDAg6Z5nFeL95IQ9UL2S4PiUE7VSHbW94I/s200/l293b2.bmp" alt="" id="BLOGGER_PHOTO_ID_5564899133098204354" border="0" /></a><span style="color: rgb(102, 255, 255); font-style: italic;font-size:78%;" ><span style="color: rgb(102, 204, 204);">imagen y tabla de Carlos Canto Q.</span><br /><br /></span></div>La conexión del circuito aparece en el siguiente diagrama esquemático, los motores se conectan a los pines OUT1 y OUT2 para el primer motor y OUT3 y OUT4 para el segundo. Los diodos (1N4148) que van conectados a los motores son de protección contra sobrecorrientes de retorno debido a la conmutación de las bobinas de los mototes; evitando asi un sobrecalentamiento o posibles daños al driver.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUrFSm92qeDWo4ULaFr-PwM0-RN1vaaa8fcwygJfoWhBtbrAp3RUR-ww6wZh58UPVXbowTyEK8hxEa0wRGW_Xuvb7s2CREkC_iwmS6C6XH1Q4M8TdVP5W8-GYQYzUFayJY2O2rxYG9fy4/s1600/Circuito.bmp"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 380px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUrFSm92qeDWo4ULaFr-PwM0-RN1vaaa8fcwygJfoWhBtbrAp3RUR-ww6wZh58UPVXbowTyEK8hxEa0wRGW_Xuvb7s2CREkC_iwmS6C6XH1Q4M8TdVP5W8-GYQYzUFayJY2O2rxYG9fy4/s400/Circuito.bmp" alt="" id="BLOGGER_PHOTO_ID_5564904519032326610" border="0" /></a>Nota: El diagrama incluye un regulador de voltaje 7805, podemos descartarlo en el diseño ya que la placa de arduino cuenta con un regulador y pines que entregan 3.3V y 5V pero si se desea incluir algunos componentes extras es recomendable alimentarlos mediante la salida de este regulador para no sobrecargar al Arduino.<br /><br /><span style="color: rgb(255, 255, 0);">Para facilitarles la vida PDF listo para imprimir y hacer el PCB del diagrama anterior!!!!</span> <a style="color: rgb(255, 0, 0);" href="http://www.mediafire.com/?vq96z5z6ssv2yb5">CLICK AQUÍ</a><span style="color: rgb(51, 102, 255); font-weight: bold;"><br /></span></div>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com6tag:blogger.com,1999:blog-3136998426207255774.post-62277573066764263072011-01-19T02:42:00.001-06:002011-01-22T02:46:46.894-06:00Manual de ARDUINO en Español!!!!!!!Para saber mas aqui les dejo este manual creado por Rafael Enríquez Herrador espero que les sirva es muy facil de entender y a mi parecer viene muy bien explicado <a style="color: rgb(255, 0, 0);" href="http://www.mediafire.com/?rvqtkf8w91ywv31">Download </a>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com3tag:blogger.com,1999:blog-3136998426207255774.post-47617776417448382332011-01-18T15:39:00.003-06:002011-09-21T23:54:06.925-05:004. Programa para el Robot Seguidor de Linea.El programa hecho para este robot es muy básico y puede ser modificado para mejorar el control del robot, se puede agregar auto ajuste de sensibilidad a la luz de los sensores, medidor de nivel de batería, algún sonido o cualquier otra cosa útil en el desempeño del robot.<br /><br /><span><span><span><span><span><span><span><span><span><span ><div>int Sen1 = 0; //Extremo izquierdo</div><div>int Sen2 = 1; //Izquierdo</div><div>int Sen3 = 2; //Centro</div><div>int Sen4 = 3; //Derecho</div><div>int Sen5 = 4; //Extremo Derecho</div><div><br /></div><div>int Val1 = 0; // Valor de los sensores</div><div>int Val2 = 0;</div><div>int Val3 = 0;</div><div>int Val4 = 0;</div><div>int Val5 = 0;</div><div> //Control de los motores</div><div>int Azul = 6;</div><div>int Gris = 9;</div><div>int Cafe = 10;</div><div>int Negr = 11;</div><div><br /></div><div>int x = 650; //Diferencia entre negro y blanco (Valor > x = Negro).</div><div><br /></div><div>int Vel0 = 100;</div><div>int Vel1 = 155; // Especificar velocidad de</div><div>int Vel2 = 190; // motores en el giro.</div><div>int Vel3 = 230;</div><div>int Vel = 255;</div><div><br /></div><div>void setup()</div><div> {</div><div> pinMode(Azul, OUTPUT);</div><div> pinMode(Gris, OUTPUT);</div><div> pinMode(Cafe, OUTPUT);</div><div> pinMode(Negr, OUTPUT);</div><div> Serial.begin(9600);</div><div> }</div><div> </div><div>void loop()</div><div> {</div><div> //Lectura y registro de los valores de los sensores</div><div> Val1 = analogRead(Sen1); </div><div> Val2 = analogRead(Sen2); </div><div> Val3 = analogRead(Sen3); </div><div> Val4 = analogRead(Sen4);</div><div> Val5 = analogRead(Sen5);</div><div> </div><div> //Direccionamiento del robot</div><div> </div><div> if ((Val1 < x)&&(Val2 < x)&&(Val3 > x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel);</div><div> analogWrite(Negr, Vel);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 > x)&&(Val3 > x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel1);</div><div> analogWrite(Negr, 0);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 > x)&&(Val4 > x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, Vel1);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 < x)&&(Val4 > x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, Vel2);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 < x)&&(Val4 > x)&&(Val5 > x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, Vel3);</div><div> }</div><div> //*********!!!!!!!!!</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 < x)&&(Val4 < x)&&(Val5 > x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, Vel);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 > x)&&(Val3 < x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel2);</div><div> analogWrite(Negr, 0);</div><div> }</div><div> else if ((Val1 > x)&&(Val2 > x)&&(Val3 < x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel3);</div><div> analogWrite(Negr, 0);</div><div> }</div><div> else if ((Val1 > x)&&(Val2 < x)&&(Val3 < x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel);</div><div> analogWrite(Negr, 0);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 > x)&&(Val4 > x)&&(Val5 > x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, Vel);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, Vel2);</div><div> delay(250); </div><div> }</div><div> else if ((Val1 > x)&&(Val2 > x)&&(Val3 > x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, Vel);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel2);</div><div> analogWrite(Negr, 0);</div><div> delay(250);</div><div> }</div><div> else if ((Val1 > x)&&(Val2 < x)&&(Val3 > x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, Vel);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel2);</div><div> analogWrite(Negr, 0);</div><div> delay(250);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 > x)&&(Val4 < x)&&(Val5 > x))</div><div> {</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, Vel);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, Vel2);</div><div> delay(250);</div><div> }</div><div> else if ((Val1 > x)&&(Val2 > x)&&(Val3 > x)&&(Val4 > x)&&(Val5 > x))</div><div> {</div><div> analogWrite(Azul, Vel);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel2);</div><div> analogWrite(Negr, 0);</div><div> delay(250);</div><div> }</div><div> else if ((Val1 < x)&&(Val2 < x)&&(Val3 < x)&&(Val4 < x)&&(Val5 < x))</div><div> {</div><div> analogWrite(Azul, Vel);</div><div> analogWrite(Gris, Vel);</div><div> analogWrite(Cafe, 0);</div><div> analogWrite(Negr, 0);</div><div> delay(200);</div><div> analogWrite(Azul, 0);</div><div> analogWrite(Gris, 0);</div><div> analogWrite(Cafe, Vel);</div><div> analogWrite(Negr, Vel);</div><div> }</div><div> </div><div> }</div></span></span></span></span></span></span></span></span></span></span>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com68tag:blogger.com,1999:blog-3136998426207255774.post-26953921293990471712011-01-18T11:26:00.003-06:002011-06-30T23:11:37.583-05:004. Sensores para la detección de la linea.<div style="text-align: justify;">Aquí se describe la construcción del <span style="font-weight: bold; color: rgb(51, 102, 255);">sensor</span> que está constituido de 5 QRD1114 (pueden utilizar CNY70 o algún otro sensor óptico-reflectivo)<br /><br />Para la polarización de estos es necesario un resistor de 220 ohm y uno de 4.7Kohm y los conectaremos como se muestra en el circuito. Véase <a style="color: rgb(255, 0, 0);" href="http://www.datasheetcatalog.org/datasheet/fairchild/QRD1114.pdf">datasheet QRD1114</a><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHXyLFjHmVbnD40d3nvXR5YzE3gV2HZG7YPo37b49O2UlnbWv6pwsR_JBYIN5qd1j-DofGhUfrGYezDhh-Jf2QyzTY-7BMpZR930o0LRHi9p9haJ6sQqs3THjFF5Kx7elo4YnC8mN-LMM/s1600/SENSOR.bmp"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 290px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHXyLFjHmVbnD40d3nvXR5YzE3gV2HZG7YPo37b49O2UlnbWv6pwsR_JBYIN5qd1j-DofGhUfrGYezDhh-Jf2QyzTY-7BMpZR930o0LRHi9p9haJ6sQqs3THjFF5Kx7elo4YnC8mN-LMM/s400/SENSOR.bmp" alt="" id="BLOGGER_PHOTO_ID_5565079743555698514" border="0" /></a>El diagrama anterior representa la conexión de un solo sensor; es necesario repetir 5 de estos circuitos. La linea que indica SALIDA es el voltaje que entregara el sensor, que es proporcional a la cantidad de luz reflejada por alguna superficie y recibida por el fototransistor.<br /><br />En este caso se han acomodado los <span style="color: rgb(51, 102, 255); font-weight: bold;">QRD1114</span> de la siguiente manera; pero si asi se cree conveniente se pueden agregar u omitir sensores.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinQbuFSI69BN7W601h9WUMa7C76twFYygr0OIR0jOpXgz8XgIsDZuS3SRUgyDfcaBLy3kcRlwSIycnePcBb7lKuhAhICQHl6Q4134O_Dkr-WubtUqiBoPX_2_5X1dZewBE-7TIB34D834/s1600/Sensores.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 166px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinQbuFSI69BN7W601h9WUMa7C76twFYygr0OIR0jOpXgz8XgIsDZuS3SRUgyDfcaBLy3kcRlwSIycnePcBb7lKuhAhICQHl6Q4134O_Dkr-WubtUqiBoPX_2_5X1dZewBE-7TIB34D834/s200/Sensores.jpg" alt="" id="BLOGGER_PHOTO_ID_5566674668390332018" border="0" /></a>Una vez montado el circuito y polarizado se puede comprobar que todos los LEDs infrarrojos de los <span style="color: rgb(51, 102, 255); font-weight: bold;">QRD1114</span> encienden mediante una cámara digital (podemos usar la de nuestro celular) y se verán con una luz en un tono violeta.<br /><br /><img src="file:///G:/Images/C%C3%A1mara/201101/201101A0/23012011031.jpg" alt="" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjchOszgCW2991IrERC3G6Ou-g2_Gwbp-G4zy4n2QLuyCeKCwvzzXvJYC4kWZdTcBunfeb0GCr3zF0pqrB-yRcTvkw-cQR1t3gO5S9Sy7_wTbp3UnsZhuYxE7dfSUj5QDqQ9pqFyuV8a8/s1600/23012011031.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 244px; height: 182px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjchOszgCW2991IrERC3G6Ou-g2_Gwbp-G4zy4n2QLuyCeKCwvzzXvJYC4kWZdTcBunfeb0GCr3zF0pqrB-yRcTvkw-cQR1t3gO5S9Sy7_wTbp3UnsZhuYxE7dfSUj5QDqQ9pqFyuV8a8/s200/23012011031.jpg" alt="" id="BLOGGER_PHOTO_ID_5566676339731998594" border="0" /></a><br />Para asegurarnos que los fototransistores de los <span style="color: rgb(51, 102, 255); font-weight: bold;">QRD1114</span> están trabajando correctamente deberemos comprobar el voltaje de las salidas. Con una superficie reflectante (un trozo de papel blanco) deberemos obtener un voltaje superior a 3 volts aproximadamente; en ausencia de algún objeto que refleje la luz infrarroja emitida por los LEDs mediremos aproximadamente 1 volt, este valor puede variar dependiendo de la luz del ambiente en el que estemos trabajando, aspecto que debe ser considerado en la programación del robot.<br /><br />Con esto hemos terminado la parte electrónica y mecánica de nuestro robot, resta conectar todo a nuestro Arduino y comenzar con la programación.</div>Miguel Martinezhttp://www.blogger.com/profile/00965154523111712193noreply@blogger.com14