====== Sapoconcho ======
Esta página se ha migrado parcialmente a github en el repositorio [[https://github.com/brico-labs/sapoconcho|https://github.com/brico-labs/sapoconcho]] que genera el sitio [[https://sapoconcho.bricolabs.cc/|https://sapoconcho.bricolabs.cc/]]
**sapoconcho ** \\
**1.** //f. (galego)// O sapoconcho (Emys orbicularis) é unha tartaruga da familia Emydidae e única representante do xénero Emys, que se atopa no centro e sur de Europa, Asia occidental, Norteamérica e a zona mediterránea de África.
{{ :old:archivo:image.jpeg?240x240|image.jpeg}}Sapoconcho es un proyecto de robot educativo pensado para chavales algo mayores (tentativamente a partir de 12 años) y con una filosofía clara: imprimible (printbot), versátil, sencillo y barato. Que esté pensado para esa edad no quiere decir que sea excluyente. Todo lo contrario, creemos que entre sus diferentes versiones puede usarse entre 5 y, bueno, quien sabe. No hay que poner límites a la providencia.
Estas son las ideas básicas:
* Proyecto abierto y documentado aquí y en Github.
* Formato tortuga: chasis circular, dos ruedas en oposición (differential drive) y una rueda loca (ball caster).
* Pequeño en tamaño, para que los circuitos/laberintos/jaulas/dohyos por los que se moverá lo sean también.
* Micromotores de corriente continua con diferentes relaciones de reducción a elegir, y controlador en puente H.
* Modelo básico inicial con sensores de líneas/bordes y de distancia por ultrasonidos.
* Ampliaciones con módulos bluetooth, infrarrojos y acelerómetros como posibilidad inmediata; aunque la idea general es la de un robot autónomo.
* Posibilidad de chasis imprimible, con placa perforada o con PCB.
* Diseño y código 100% ábierto con licencia libre. Flexibilidad de plataformas hardware y lenguajes de programación.
* Programas base de ejemplo para siguelíneas, laberintos, barrendero, sumo.
====== Historia ======
"Yet Another Training Robot".
Sabemos que lo que hacemos no es ninguna novedad. Este tipo de robots se puede encontrar en modelos comerciales y en muchos tutoriales a lo largo y ancho de la web. Sin embargo tenemos una experiencia de varios años en Bricolabs que no queremos que se pierda. Llevamos tiempo cocinando la idea de crear un proyecto paralelo en la forma a [[http://bricolabs.cc/wiki/index.php?title=Escornabot|Escornabot]] para el siguiente segmento de edad, aunque por supuesto esto no es excluyente.
* A lo largo del año 2013 participamos en la iniciativa [[https://kiicsmc2.wordpress.com/2013/10/10/nuevos-talleres-kiics/|KiiCS]] de los Museos Científicos de A Coruña que se desarrolló en nuestra casa de acogida, la Domus. En estos talleres se utilizaron unos kits comerciales y que tienen algunas limitaciones además de su precio. Los destinatarios en aquella ocasión eran adolescentes y después se extendió a profesores de tecnología, que se han mantenido en otros posteriores. Además de [[https://drive.google.com/file/d/0BwX-zKrJXMk4b3NUbXdXNzR0UDQ/view?usp=sharing|diseñar y probar los cursos]] se crearon [[https://github.com/felixstdp/mobilerobot.ino|librerías de Arduino]] para el control de los motores con instrucciones sencillas. Una buena experiencia que nos sirvió para ver qué cosas funcionan bien en un curso y resultan entretenidas y divertidas.
* Casi al mismo tiempo fue surgiendo el proyecto [[http://bricolabs.cc/wiki/index.php?title=Escornabot|Escornabot]] y el buen funcionamiento de éste nos anima a buscar un proyecto complementario dirigido a un segmento de edad mayor y a intentar otros objetivos: programar los robots con código escrito. Empezar editando los programas que ya existen, y poco a poco animarse a crear otras funciones y -por qué no- añadir otros módulos electrónicos.
* Además en los últimos años varios miembros de Bricolabs hemos hecho nuestros propios robots 'tortuga' con muchas funciones diferentes. También hemos seguido experimentando con diferentes plataformas de hardware y diferentes lenguajes de programación.
La idea es poner orden en toda la documentación que ya existe y que aparezca en esta wiki. De ese modo se pretende poner en un único sitio toda la información necesaria para hacer dos cosas:
* Construir tu propio robot paso a paso, y a continuación programarlo y participar en nuestros concursos y combates.
* Un curso completo autocontenido para que cualquiera puede ofrecerlo, modificarlo y extender la cadena del conocimiento hasta el infinito y más allá.
Para que todo esto funcione sabemos que el precio puede ser una limitación, por eso nos comprometemos a buscar los componentes más económicos posibles, y rebajar a la mitad o menos el coste de un modelo comercial. Procuraremos enlazar a sitios donde poder comprar los componentes. Y lo haremos para quien necesita justificarlo con factura y también para quien puede comprar en otros sitios, fundamentalmente en China.
La documentación, tal y como decimos en la presentación deberá servir también para montar tu robot con otras piezas y aprovechar el conocimiento con otras aplicaciones. Sin embargo nos centraremos en un robot pequeño para que los espacios en los que se mueva no tengan que ser muy grandes y no nos acaben echando de casa.
**La estructura de esta entrada de la wiki es cronológicamente inversa**. En la parte de arriba podrás ver las actualizaciones más recientes del proyecto y abajo cómo empezó todo, cuando no teníamos impresión 3D ni placas PCB.
====== Sapoconcho 2021. The Expanse ======
Los modelos iniciales del proyecto utilizaban micromotores de tipo N20 en un chasis de 90mm de diámetro. Aunque sigue siendo un diseño válido, en 2021 hemos creado un nuevo chasis un poco más grande para poder expandir el ecosistema. Esto nos va a permitir aumentar la versatilidad del proyecto al poder meter más elementos en el chasis, y ampliar el número de plataformas hardware disponibles.
El nuevo chasis utiliza motores amarillos y tiene 120mm de diámetro, manteniendo el formato tortuga.
{{:proyectos:sapoconcho_reborn.png?400}}
Sabemos que 'motor amarillo' es un término muy genérico, pero si estás metido un poco en el mundo maker/DIY o haces una búsqueda rápida en tu plataforma favorita verás a qué nos referimos. Es un tipo de motor de corriente continua muy usado en todo tipo de proyectos y kits, muy fácil de conseguir y muy económico. Cuando tengan motores Epstein en Aliexpress habrá que reestudiar el proyecto.
De modo similar al proyecto mClon de [[https://aindustriosa.org/|A Industriosa]] de Vigo, hay dos desarrollos, uno con una breadboard en el que pinchar los componentes y otro basado en una placa de ciruito impreso en la que se sueldan. Elegir entre una u otra dependerá fundamentalmente de si puedes conseguir la PCB, y de tu maña e interés en soldar. Ambos tienen su entrada propia en esta misma wiki. La idea de ambas es que se pueda montar el robot con la información que contienen.
===== Sapoconcho XL =====
Aquí puedes ver la [[https://bricolabs.cc/wiki/proyectos/sapoconcho_xl|wiki]] de este versión.
{{:proyectos:5d495b8a-2aa0-402c-b93e-4d75850903ff.jpeg?600}}
===== Sapoconcho BATS =====
Aquí puedes ver la [[https://bricolabs.cc/wiki/proyectos/sapoconcho_bats|wiki]] de esta versión.
{{:proyectos:sapoconcho:bats4_12.jpg?600}}
===== The Expanse =====
Partiendo del chasis base puedes hacer muchas cosas diferentes -de ahí que hablemos de expandir el ecosistema-, aquí tienes algunas de las que se nos han ocurrido:
* **Sapoconcho freestyle**: El nuevo chasis impreso permite montar una breadboard grande y pinchar todos los componentes en ella. Si tienes una del robot comercial Redbot, también cabe.
{{:proyectos:foto_20-5-21_15_11_59.jpg?400|foto_20-5-21_15_11_59.jpg}}
{{:proyectos:foto_18-5-21_23_23_28.jpg?400|foto_18-5-21_23_23_28.jpg}}
{{:proyectos:foto_18-5-21_23_07_48.jpg?400|foto_18-5-21_23_07_48.jpg}}
* **Sapoconcho mClon**: En este caso sólo hemos adaptado nuestro chasis al fantástico [[https://tecnoloxia.org/mclon/|proyecto mClon]] de A Industriosa. Así que el mérito de verdad es suyo. Puedes usar ambas versiones, con breadboard y con shield PCB.
{{:proyectos:foto_18-5-21_23_08_48.jpg?400}}
{{:proyectos:sc_mclon_v2.jpg?400}}
* **Sapoconcho Pico**: el nuevo microcontrolador de Raspberry y una controladora de motores nos permitirá iniciarnos en el mundo de MicroPython.
{{:proyectos:92ee6257-f2e4-4592-9f12-40e4ff8ce214.jpeg?400|}}
* **Sapoconcho micro:bit**: la renovada plataforma de BBC nos permitirá elegir entre programar con bloques tipo Scratch o Python.
{{:proyectos:sapoconcho:sapoconcho_microbit.jpg?400|}}
* **Sapoconcho Zero**: para quien quiera Python a toda potencia con una Raspi Zero y diferentes HATs.
{{:proyectos:sapoconcho_zero.jpg?400}}
* **Sapoconcho RC**: instala la placa que recomendamos en el proyecto [[https://bricolabs.cc/wiki/proyectos/meccano_rc|MeccanoRC]] y tu chasis ya se mueve!
{{:proyectos:70e52703-006a-464c-a1a2-656a7af96a1d.jpeg?400}}
====== Sapoconcho original de 90mm ======
El primer diseño con piezas impresas y en fase anterior recortando protoboards tiene 90mm. Aquí describimos el montaje del chasis paso a paso. Este tamaño Lo recomendamos si vas a trabajar en espacios muy reducidos como en los laberintos de competición en los que no cabe el de 120. En otro caso, es algo más difícil de montar por el pequeño tamaño (también hemos hecho uno de 60mm!).
===== Montaje mecánico =====
[[https://github.com/felixstdp/sapoconcho/tree/master/3D_print_files|Aquí]] puedes encontrar todas las piezas imprimibles correspondientes a la última versión, Sapoconcho KIS (Keep It Simple). Sólo necesitarás separadores de circuitos de 25mm (4 ud) y tornillos M2.5×20 para montar los motores al chasis inferior con sus soportes. El montaje es sencillo. El esqueña de ensamblado puede verse aquí abajo y el resultado final en la foto de la galería arriba. En las [[https://bricolabs.cc/wiki/proyectos/sapoconcho#presentacion_del_curso|presentaciones]] del curso está todo mucho más detallado.
{{ :old:archivo:sapoconcho_assy_800.jpg?500x316 |sapoconcho_assy_800.jpg}}
Paso 1: **Monta la bola y los motores** en la base inferior. La primera entra a presión, los motores con sus soportes atornillados (M2.5×20 tuerca) .
Paso 2: **Pega la controladora de motores y el portapilas** a la base inferior con cinta adhesiva de doble cara.
Paso 3. **Monta la base superior** con los separadores de circuitos.
Paso 4. **Pega la breadboard** en la base superior para el Arduino micro. En su lugar puedes usar un Arduino UNO, que también cabe.
Paso 5 (opcional). **Monta los soportes para los sensores SR-04** sobre la base superior.
===== Montaje de los motores =====
Conecta la placa de motores al Arduino con el esquema siguiente. El funcionamiento de una controladora de motores L9110 puedes verlo [[https://bricolabs.cc/wiki/guias/control_de_motores#l9110|aquí]].
{{:old:archivo:sapoconcho_fritzing_800.jpg?500x326|sapoconcho_fritzing_800.jpg}}
===== Montaje de los sensores =====
==== Montaje de los sensores de ultrasonidos ====
Los sensores del ultrasonidos HC-SR04 tienen cuatro pienes: alimentación (VCC), masa (GND), trigger y echo. Estos dos últimos los unimos con una soldadura para ahorrarnos un cable, aunque tenemos que advertir que algunos modelos de algunos fabricantes no permiten esto, y al hacerlo no funcionan.
{{:old:archivo:sapoconcho_sr04_800.jpg?500x343|sapoconcho_sr04_800.jpg}}
=== Montaje de los sensores de líneas ===
Los sensores infrarrojos de líneas, tanto con salida analógica como digital utilizan tres pines: alimentación (VCC), masa (GND) y señal. En la figura aparecen dos sensores conectados a las entrada analógicas A0 y A1.
{{:old:archivo:sapoconcho_ir_800.jpg?500x441|sapoconcho_ir_800.jpg}}
===== Mejoras en la alimentación =====
Para no tener que pinchar la alimentación cada vez y poder usar pilas AAA recargables (que habitualmente son de 1.2V y no llegan) se propone usar un interruptor y un regulador de alimentación MT3608 DC-DC. Puede colocarse por debajo en el chasis superior, que tiene un alojamiento para el interruptor.
{{:proyectos:regulador.png}}
Algunos módulos tienen un tamaño suficientemente pequeño para montarlos adheridos al portapilas.
{{:proyectos:dcdc.jpg?400|dcdc.jpg}}
====== Lista de materiales ======
===== Para el chasis original de 90 mm =====
* 1 Arduino/Genuino micro, nano o UNO. Original o clónico.
* 1 Placa de control de motores con integrados L9110 (o su equivalente HG7881).
* 1 Portapilas para cuatro pilas AAA apiladas de 2 en 2.
* 1 placa de prototipado (breadboard) tamaño mini (17×10 pines).
* 2 Micromotores de corriente continua tipo N20 de 6v con engranaje reductor integrado. 150rpm es una buena opción intermedia de velocidad.
* 2 juntas tóricas de 32x2mm.
* 1 microinterruptor para soldar.
* 1 bola de acero (inox/cromado) de 3/8" (9.5 mm) de diámetro.
* Pequeño material: tornillos M2.5×10, tuercas M2.5, tornillo M2*20, tuercas M2, cinta adhesiva de doble cara, separadores de circuitos de 25mm.
**Para las versiones de 120mm**, el listado de materiales está en su propia wiki.
===== Enlaces para comprar material =====
Nota: Algunos links no permiten el enlace directo y es necesario cortar y pegar la URL en el navegador. Algunos enlaces caducan rápido, intentaremos actualizarlos.
* Bolas de acero de 3/8" (9.5mm) [[http://www.ebay.com/itm/25-PCS-9-525mm-3-8-quot-inch-G10-Hardened-Chrome-Steel-Bearing-Balls-/390642256085?hash=item5af417c8d5:g:7H8AAMXQyfFSBvjh|http://www.ebay.com/itm/25-PCS-9-525mm-3-8-quot-inch-G10-Hardened-Chrome-Steel-Bearing-Balls-/390642256085?hash=item5af417c8d5:g:7H8AAMXQyfFSBvjh]]
* Motores con reductora tipo N20 [[http://www.banggood.com/search/n20-dc-gear-motor/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc|http://www.banggood.com/search/n20-dc-gear-motor/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc]]
* Driver de motores L9110 doble [[http://www.ebay.com/sch/i.html?_odkw=L9110&_sop=15&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.Xdual L9110.TRS1&_nkw=dual L9110&_sacat=0|http://www.ebay.com/sch/i.html?_odkw=L9110&_sop=15&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.Xdual L9110.TRS1&_nkw=dual L9110&_sacat=0]]
* Juntas tóricas para las ruedas [[http://www.ebay.com/itm/121389351462|http://www.ebay.com/itm/121389351462]]
* Arduino micro/nano [[http://www.banggood.com/search/arduino-nano/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc|http://www.banggood.com/search/arduino-nano/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc]]
* Sensores de US HS-SR04 [[http://www.banggood.com/search/sr04/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc|http://www.banggood.com/search/sr04/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc]]
* Sensores de suelo CNY70 [[http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=cny70&_sop=15|http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=cny70&_sop=15]]
* Mini breadboard [[http://www.banggood.com/search/mini-breadboard/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc|http://www.banggood.com/search/mini-breadboard/0-0-0-1-3-45-0-price-0-0_p-1.html?sortType=asc]]
* Sensor de líneas [[https://www.pololu.com/product/960|https://www.pololu.com/product/960]]
====== Software ======
* [[https://github.com/felixstdp/sapoconcho|Librerías en GitHub]] para control de motores con el integrado L9110.
===== Ejemplos =====
* [[https://github.com/felixstdp/sapoconcho/blob/master/sapoconcho_nolib.ino|Ejemplo de movimiento aleatorio]]
* [[https://github.com/felixstdp/sapoconcho/blob/master/examples/avoid_obstacles/avoid_obstacles.ino|Evitar obstáculos]]
* [[https://github.com/felixstdp/sapoconcho/blob/master/examples/keepdistance/keepdistance.ino|Mantener la distancia]]
* [[https://github.com/felixstdp/sapoconcho/blob/master/examples/siguelineas/siguelineas.ino|Siguelíneas simple]]
* [[https://github.com/felixstdp/sapoconcho/blob/master/examples/pidfollowline/pidfollowline.ino|Siguelíneas PID]]
====== Presentación del curso ======
Aquí puedes encontrar una presentación en [[https://github.com/felixstdp/sapoconcho/blob/master/curso_sapoconcho_2017.pdf|PDF]] y en [[https://github.com/felixstdp/sapoconcho/blob/master/curso_sapoconcho_2017.odp|ODP]] para la iniciación al mundo de los robots móviles. Eres libre de utilizarla y modificarla a tu gusto.
====== Equipo ======
* [[:user:felixstdp|Félix]]
* [[:user:salvari|Sergio]]
* Rafa
====== Enlaces ======
* [[https://github.com/felixstdp/sapoconcho|Sapoconcho original de 90mm en GitHub]]
* [[https://github.com/felixstdp/sapoconchoL|Sapoconcho 2021 de 120mm en GitHub]]
* [[http://www.thingiverse.com/felixstdp/designs|Sapoconcho en Thingiverse]]
* [[https://twitter.com/sapoconcho_bot|Sapoconcho en Twitter]]