jump to navigation

Prototipo final de NanoBasurero diciembre 9, 2009

Posted by Stansson, Meli, Andrej in Ejercicios e Investigación de Arduino, Proyecto NanoBasura.
add a comment

¡Todo! 🙂

¡El prototipo final del NanoBasurero ya está listo! 😀 Tenemos algunas fotos para compartir por si no fuiste a la exposición Conexiones Urbanas en la Universidad del Pacífico.

Proto!

Así luce el prototipo finalmente. Está construído con maderas, vigas, macetas y una botella de plástico con agujeros. Explicaremos cada componente más adelante, pero primero, este video explicativo del diseño final puede explicar bastante sobre la investigación previa, desarrollo de concepto y método de uso.

Basurero/Maceta

Si no viste el video en el link anterior, no te preocupes, aquí está de nuevo, no lo pierdas que es el último que me queda. De todos modos, aquí tenemos el basurero/maceta del NanoBasurero. En el video del cocodrilo Wenceslao está representado por el interior del cocodrilo, siendo el receptáculo de la basura introducida, con su boca siendo la apertura de este basurero. Arriba del basurero hay una fila de LEDs con forma de V que representan los dientecitos del cocodrilo, que se prenden y apagan cuando el sensor de movimiento del basurero, ubicado en el interior superior del basurero, detecta movimiento en el interior.

Regador

Tras detectar movimiento un cierto números de veces (en el caso de la programación que hicimos fue de 3), el brazo regador del nanobasurero se activa, usando su servomotor para hacer que el brazo baje ligera, pero rápidamente la botella con agua, que tiene una tapa agujereada, para dejar caer unas gotas en la maceta. Todo esto está representado en el cocodrilo por su mano izquierda, la regadora.

La mano derecha del cocodrilo está representada por el objeto de madera que en la fotografía está abajo de la maceta – un servomotor con un pedazo de madera. Cuando se riega por tercera vez la planta, comienza a girar, imitando el movimiento de “no” de la mano derecha del cocodrilo.

Cableado

En la parte de atrás está el cableado (disculpen la maraña). Los cables de arriba son los LEDs, con algunos otros cables saliendo del interior del basurero viniendo del sensor de movimiento. A la derecha claramente se puede ver el breadboard con sus conexiones y resistencias, y a la derecha, protegido en su cajita de fósforos, está el Arduino Mega que utilizamos para este proyecto. Cuenta con una salida a corriente abajo, que puede conectarse a USB, o en el caso de la exposición, a un portapila de 9 volts.

Entre los problemas que encontramos más problemáticos estuvieron la realización del concepto final, el breadboard era muy pequeño para lo que necesitábamos, el servomotor que compramos originalmente para el brazo regador no permitía girar en grados definidos, por lo que tuvimos que comprar uno de 180º. El que compramos primero es de 360º, y quedó relegado a ser el brazo de no más riegos.

Pero bueno. Ahora supongo que quieren ver el video del asunto en funcionamiento, ¿no? Pues haz click aquí… ¿o aquí?

Anuncios

Avances y prototipo del Proyecto NanoBasura noviembre 4, 2009

Posted by Stansson, Meli, Andrej in Proyecto NanoBasura.
add a comment
Avance1 - img1

Let's go

Pues ahora tenemos algunos avances del prototipo para el nanobasurero, ¿¡puedes creerlo!? No perdamos más tiempo y analicemos a fondo lo que llevamos hasta ahora.

Primero, hagamos un resumen de qué es lo que presentamos la semana pasada – indicamos diferentes elementos y partes del proyecto, la gran mayoría sirviendo de piezas que permitían alertar o notificar de eventos particulares como cantidad de veces máxima que se regará la planta del nanobasurero, cómo avisará que el nanobasurero está lleno, y cuando el agua del contenedor del regador esté en un nivel bajo. El feedback que tuvimos de ello fue primero concentrarnos en lo importante – la finalidad del proyecto, que detecte cuando alguien eche algo al basurero y haya una reacción del basurero ante esta interacción. Eso, y que nuestro basurero parecía una maquinita de Rube Goldberg con tanto aparato interno.

Avance1 - img2

PIR 🙂

Partimos con el PIR, un sensor de movimiento (la semiesfera blanca). La idea es colocar este sensor en el interior del nanobasurero y que detecte cuando alguien introduzca basura en él, y éste responda regando a la plantita – pero a falta de regador o pulverizador de agua, decidimos que ante la activación del PIR, se prendiera un LED.

Primero notamos lo indicado por Brown & Preller: el PIR se toma una cantidad de tiempo para calcular la detección de movimiento en el lugar, en este caso, 40 a 50 segundos de calibración, “tomando una foto” que servirá como nivel 0 de detección de movimiento, similar a un balance de blanco en fotografía. Tras estos 10 segundos, el PIR funcionará, detectando movimiento y su variación con respecto este nivel 0.

Avance1 - img3

Puntos de conexión en Arduino

Primeramente, pasan 40 segundos calibrando, queda listo para detectar movimiento, pero cuando detecta movimiento, queda 10 segundos encendido en modo de detección de movimiento – sigue informando que algo está pasando, pero no significa que haya movimiento realmente. Nosotros trabajamos alrededor de esto, haciendo que el contador tuviera un delay de 11 segundos – cuando pasa un objeto por el PIR, el contador empieza a contar (duh), cuenta 1 vez y luego cuenta 11 segundos para contar de nuevo. Como nosotros sabemos que el mínimo que va a estar activado el PIR son 10 segundos, al dejarlo en 11 evitamos que cuente de más, porque como va a estar en un ambiente aislado (el interior de un basurero), nosotros somos la intervención casual que activará este PIR.

Positivamente, el experimento salió bien, aunque aún consideramos que este método de programación es poco pulido e inexacto para lo que debería ser.

Avance1 - img4

Flores de LEDs. Abstracto.

Pues también comenzamos a ver el tema de las flores del nanobasurero – si leyeron el post anterior, habrán leído que el nanobasurero está decorado con flores que sirven como indicadores del cuántas veces se ha regado la planta. Cuando se riega la planta una vez, una de estas flores comenzará a girar LIKE CRAZY! 😮 Ahora no contamos con rotores para obtener un giro como resultado de esto, por lo que de igual manera, usamos LEDs, que serán cambiados por rotores cuando los tengamos. Tenemos un contador_A que detecta la cantidad de basura que entra al basurero, y cuando este contador llega a un máximo definido, se riega la planta. Otro contador que tenemos, contador_B, detecta las veces que contador_A llegó a su punto definido. Estos contadores son programables, variable de la cantidad de veces que botan basura en el nanobasurero (dependiendo del lugar puede ser mucha o poca basura), pero tienen como finalidad el que cuando el contador_A llegue a este máximo, una de las flores comience a girar, indicando que la planta fue regada. El contador_B registra las veces que la planta fue regada, para evitar que la planta sea regada demasiadas veces en el día.

Para ver el video del Arduino y PIR funcionando, click aquí.

Avance1 - img5

Meli prototipeanding

Para probar todo lo que hemos hecho, también se armó un prototipo físico para contener al Arduino, PIR y demás circuito – como es un trabajo a escala, se usaron dos macetas: la superior es para colocar la planta, sirviendo su propósito original. La inferior sirve como basurero, con una apertura para introducir la mano. Tiene soportes de madera que permiten colocar la base superior del basurero, sirviendo como apoyo al macetero de la planta. El diseño aún no se aplica, pues hay que ver temas de justificación de la idea del diseño – puede sonar algo contrariado el introducir basura en un árbol cuando buscamos enseñar el que eso no se debe hacer. Esto lo iremos evualando y corrigiendo más adelante.

Prototipo

Por ahora eso sería. Gracias por leer, y nos vemos. Este post fue traído a ustedes gracias a la letra P.

Proyecto Nanobasura octubre 29, 2009

Posted by Stansson, Meli, Andrej in Proyecto NanoBasura.
add a comment

NanoBasura - Logo


El Proyecto Nanobasura comenzó como una investigación sobre el hábito e impacto de la nanobasura en las calles de Santiago. La nanobasura es el objeto singular que se vuelve basura rápidamente, usualmente proveniente de los peatones que van comiendo o bebiendo en la calle, y al terminar su merienda dejan los restos escondidos a simple vista en lugares que no interfieran con el tránsito (postes, árboles, legutrinas, etc.)

NanoBasura - img1

Ejemplo de Nanobasura.

El proyecto inicialmente consistía en desarrollar un basurero para las calles que se ajustara a las necesidades de la nanobasura, como desarrollar un basurero que pueda colocarse en sitios víctimas de la nanobasura, y que mediante un personaje interactivo en una pantalla de LEDs y la interacción que hay con él al botar la basura en él, genere recordación y conciencia sobre la nanobasura y su impacto en las calles, con el fin de que pueda evitarse por completo el hábito de generar más nanobasura en las calles.

NanoBasura - img2

Diagrama explicativo del funcionamiento original del nanobasurero.

Y bueno, esta primera idea tuvo algunos conflictos:

  • El personaje y la pantalla de LEDs no estaban bien integradas al basurero – sólo era un basurero con una pantalla pegada a él. Esta misma pantalla puede pegarse a cualquier otra cosa y nada cambiaba.
  • Para ser algo aplicable a las calles, el nanobasurero estaba propenso a ser víctima de flaites voladores que robarían sus componentes, o accidentes vehiculares que podrían dañarlo irreparablemente.
  • No se concientizó sobre el tipo de basurero que podría servir para este proyecto, y se asumió que cualquiera podría servir.

Por ende, primero se decidió dedicar este proyecto a un público y un grupo específico de usuarios – niños de educación preescolar, prekinder y kinder, y básica, y sus colegios, con el fin de concientizarlos sobre el hábito de generar nanobasura, con las esperanzas de que ellos no caigan en ello cuando sean mayores.  Para ello, se replanteó el diseño y la función del nanobasurero, con el fin de ser educativo y llamativo para los niños. Se partió trabajando el diseño del nanobasurero, para lograr algo más unificado que fuera un objeto que trabaje de forma integral, en vez de ser una serie de componentes separados que puedes adosarse a cualquier basurero u objeto.

Se decidió dedicar este basurero a la basura orgánica ya que es el principal tipo de basura que hay en jardines infantiles y colegios con prekinder, kinder y enseñanza básica. Con este diseño, los niños al depositar la basura en el nanobasurero, se riega una planta, por lo que se busca conscientizar que el depositar la basura orgánica en su lugar correcto no sólo limpia el entorno en el que se vive, sino que además las plantas no se ven afectadas y pueden seguir creciendo y otorgando oxígeno sin problemas.

Al botar la basura en el basurero, se apela al reciclaje y al depositar la basura en su lugar correcto para ayudar al medio ambiente: si se bota la basura al suelo o se deja abandonado en cualquier otro lugar no se ayuda al ambiente. El tronco tiene dos funciones simbológicas:

  1. Enseñar a los niños el qué es la nanobasura y cómo es usualmente descartada, para generar conciencia sobre esta acción.
  2. Entregarle a la naturaleza los elementos reciclables que se necesitan para proteger al ambiente – sólo basura orgánica.

Dependiendo de la evolución y recepción de este proyecto se pueden ir creando y diseñando nuevos basureros para diferentes tipos de basura, como envases (latas, papel, botellas de vidrio, tetra pak).

Evolución y desarrollo de la idea.

NanoBasura - Modelo1

Primero se llegó a la idea de cuidar a una planta botando la basura en el lugar que corresponde.

NanoBasura - Pot

Finalmente, luego de decidir que el basurero sería para basura organica, nos decidimos por un diseño que representara de forma coherente el botar basura orgánica en este basurero.

Boceto de desarme del basurero

Luego de habernos decantado por un diseño comenzó el proceso de idear el funcionamiento de cada parte de este basurero. Decidimos partir por la forma de sacar la basura, luego de idear distintos diseños nos decidimos por el que requiriera menor esfuerzo al momento de vaciar la basura y que requiriera menos manipulación del macetero que se sitúa sobre el tronco.

NanoBasura - 3a

Luego seguimos por los “sensores de basura” y donde se situarían, que detectan el cuando la basura entra al basurero, esta basura que entra es la que finalmente regará la planta. Decidimos usar las unidades de basura que ingresan en lugar de considerar su peso ya que podría ser un resultado poco confiable – no se consideró porque si se echa un objeto muy pesado que no ocupa mucho espacio podría considerarlo como basurero lleno (o viceversa, estando lleno de objetos muy livianos y no lo considera vacío). El usar el volumen que ocupa la basura fue descartado para activar el riego de la planta, pero se utiliza para alertar de que el basurero esta lleno.

Sistema que hace contacto con la placa superior y la cruz inmediatamente abajo

Para determinar cuando el basurero está lleno se usará un sistema similar a un péndulo, con una paleta en el extremo y en lugar de cuerda será un trozo de metal u otro material rígido. Cuando la basura llega a la altura suficiente para mover el péndulo y dejarlo fijo se cerrará un circuito y un LED con forma de mosca que está sujeto por un cable comenzará a brillar, dando a conocer así que el basurero está lleno y es hora de cambiarlo.

NanoBasura - Flores

Decidimos usar un sistema para notificar cuantas veces en el día ha sido regada la planta. Luego de analizar varias opciones como la posibilidad de poner “chinitas” de LED, decidimos usar flores para notificar esto. Estas flores serán por ejemplo 10 y comenzarán a girar conforme se haya regado la planta en el día, por ejemplo, si se ha regado la planta 3 veces en el día, entonces 3 de las 10 flores estarán girando. La forma en la que se decidirá que hay que regar la planta es tomando en cuenta cuánta agua debe recibir idealmente la planta, luego calcular cuánta basura ingresará en promedio en un día al basurero y luego dividir estas cantidades por 10 y establecer la proporción de “x” cantidad de basura equivale a “y” cantidad de agua, así mismo “x” cantidad de basura equivale a la basura necesaria para poner a girar una flor. Además limitaremos por software la cantidad de veces que se puede regar la planta para no ahogarla, por lo tanto limitaremos a un máximo de 10 riegos diarios para que sea coherente con la cantidad de flores que giran.

NanoBasura - Modelo2

Tambien ideamos un sistema para alertar de cuando se haya acabado el agua en el contenedor del pulverizador que riega la planta, y luego de analizar diversos modelos (entre los cuales hubo uno que posiblemente creaba un corto circuito o electrólisis, aunque no sabemos tanta química/física como para corrobarlo, pero más vale prevenir y lo descartamos), elegimos finalmente un sistema basado en pesas que funciona bajo el siguiente concepto:

Idealmente si el frasco o recipiente del agua vacio pesa “x” y el agua dentro del frasco a máxima capacidad pesa “y” necesitaríamos un contrapeso que pesara al menos “x”+”y/10” ó “y/la cantidad mínima de agua que requiere el pulverizador para funcionar”, al momento de caer el contrapeso cierra un circuito que ilumina una pequeña ranita que además es la encargada de lanzar agua a la planta.

Pulverizador de agua:

Para este ítem no tenemos diagramas puesto que no conocemos muy bien el funcionamiento de un pulverizador,  pero idealmente el gatillo sería reemplazado por un servo que se encargaria de lanzar el agua, además la orden sería que “gatillara” varias veces el agua, o el décimo de agua que necesita por día la planta, independiente de cuantos “gatillazos” sean necesarios. Para mantener la metáfora usaremos una ranita que lanza el agua a la planta.

¡Servos! septiembre 30, 2009

Posted by Stansson, Meli, Andrej in Ejercicios e Investigación de Arduino.
add a comment
¡Servo! como lo vio en Wikipedia.

¡Servo! como lo vio en Wikipedia.

Se utilizó un servomotor en un ejercicio anterior. Pero se nos quedó el explicar el de qué se tratan y cómo funcionan.

Por lo que podemos contar de nuestra experiencia con este aparatito se trata de un motor que al conectarse a una fuente de poder activa un rotor el cual puede conectarse a diversos dispositivos mediantes diferentes engranajes. Si se conecta a una placa Arduino se puede programar su comportamiento de forma sencilla, obteniendo un resultado muy versátil, pudiendo interactuar con potenciómetros, resistores variables, el mismo Arduino, entre otros elementos.

La fuerza que genera el motor en el rotor es bastante fuerte para su pequeño y portátil tamaño, pudiendo servir para mover y controlar diferentes mecánicas como cámaras de vigilancia, animatronics, radiocontrol, juguetería, entre otro sinfín de usos que se le pueden dar.

Componentes internos de un Servo tradicional

Componentes internos de un Servo tradicional

El servomotor por el exterior cuenta con un rotor y tres cables de salida, pero en su interior cuenta con un circuito de control (el cual cuenta con su propia resistencia) y un potenciómetro, el cual permite controlar el ángulo de giro del rotor. Si el circuito se encuentra con que el ángulo de giro que no es el correcto (el ángulo asignado por el programa superior que controla al Servo, como Arduino), entonces el Servo girará el rotor hasta que el ángulo de giro concuerde con el correcto. Cuando el ángulo de giro sea el correcto, el motor se apaga.

Algunos rotores giran aproximadamente 180º, otros 210º, o en el caso del nuestro, a 360º. El ángulo de giro permitido depende del modelo y el manufacturador. De todos modos, un servo normal no es mecánicamente capaz de girar más allá de lo que puede por un freno mecánico colocado en el engranaje de salida principal.

La fuerza de este Servomotor funciona mediante lo que se denomina como Control Proporcional: Si el rotor necesita girar una gran cantidad de veces, entonces el Servo funcionará a su máxima velocidad posible. Por otro lado, si sólo necesita dar unas pocas vueltas, lo hará lentamente.

Diagrama de Modulación de Pulso Codificado. En este caso, el Rotor puede girar un ángulo máximo de 180º

Diagrama de Modulación de Pulso Codificado. En este caso, el Rotor puede girar un ángulo máximo de 180º

Para poder comunicar el ángulo de giro al rotor, el Servo utiliza lo que se conoce como la Modulación de Pulso Codificado. Sucede que el Servo tiene una cable de control, el cual recibe un pulso eléctrico cada 20 milisegundos, el cual determina el ángulo de giro del rotor. Si el pulso dura 1.5 milisegundos, entonces el rotor girará hacia a 90º, su posición neutral. Si dura menos de 1.5 milisegundos, irá a 0º. Si dura más de 1.5 milisegundos, irá a su máximo ángulo de giro posible. El Servomotor va interpolando los pulsos, creando giros más precisos y rápidos a medida que los pulsos van llegando y variando.

Más información en http://www.seattlerobotics.org/guide/servos.html Es una guía básica y sencilla, pero que va al grano con este tema.

¡Nos vemos!
Ariel Quinteros, Nicolás Meli, Andrés Rodríguez.

Ejercicio 2 – Circuito paralelo y circuito en serie. septiembre 23, 2009

Posted by Stansson, Meli, Andrej in Ejercicios e Investigación de Arduino.
add a comment

¡Saludos!

Para este ejercicio, se solicitó trabajar con circuitos paralelos y circuitos en serie usando LEDs y resistencias. Los materiales utilizados en esta ocasión son:

Materiales.

Materiales.

  • Cables.
  • LEDs rojos.
  • Resistencia.
  • Protoboard.
  • Arduino MEGA.
Arduino conectado al protoboard.

Arduino conectado al protoboard.

Se conectaron dos cables entre el Arduino MEGA y el Protoboard. El cable rojo está conectado a la conexión de 5V de la placa, mientras que el cable verde está conectado a la conexión de tierra de la misma placa.

Inicio del circuito paralelo.

Inicio del circuito paralelo.

Para el circuito paralelo, se comenzó conectando en la protoboard una resistencia en la línea de tierra y una extensión de cable en la línea de 5V. Ambos están conectados a filas disponibles en la otra mitad del protoboard.

Un LED en el circuito.

Un LED en el circuito.

Se inserta un LED en el circuito, usando el espacio disponible en la otra mitad. El alambre largo del LED se conecta a la fila de 5V, mientras que el corto se conecta a la fila de tierra.

LEDs prendidos en un circuito paralelo.

LEDs prendidos en un circuito paralelo.

Se añaden otros 3 LEDs en la misma fila del primero, con las mismas conexiones para sus alambres. Al enchufarse el Arduino al computador, los LEDs se prenden instantáneamente sin problemas 😀

Ahora es el turno del circuito en serie.

Circuito en serie

Circuito en serie

Para esta ocasión, la resistencia y la extensión de cable de 5V se mantienen en su lugar, pero ahora el primer LED se conecta sólo a la fila de 5V únicamente por su alambre largo, y el alambre corto se conecta a una fila libre. El segundo LED se conecta por el alambre largo a la fila del alambre corto del anterior, y el alambre corto del segundo se conecta a otra fila libre, y esto se repite con el tercero, sólo que el alambre corto de éste se conecta en la fila de la resistencia.

Sin embargo, esto no funcionó con 3 LEDs por algún motivo que desconocemos. No prendieron. Suponemos que como los mismos LEDs son resistencias pueden afectar al circuito en serie.

Circuito en serie con sólo 2 LEDs

Circuito en serie con sólo 2 LEDs

Al remover uno de los LEDs y completarlo con los dos restantes el circuito en serie funcionó. Ambas 2 LEDs prendiéndose al instante cuando el Arduino se conecta al PC.

Para finalizar y resumir, el funcionamiento de ambos circuitos es el siguiente:

  • Paralelo: Todos los LEDs están conectados a la conexión de 5V y la resistencia. Si un LED fallase, sólo ese LED fallaría y no afectaría al resto.
  • En serie: Todos los LEDs están conectados entre sí, creando un recorrido que va desde la conexión de 5V hasta la resistencia. Si un LED fallase, la corriente no llegaría al resto de los LEDs y todos dejarían de funcionar al mismo tiempo.

Eso es por ahora. ¡Nos vemos!
Ariel Quinteros, Nicolás Meli, Andrés Rodríguez.

Ejercicio 1 – Arduino y Servomotor. septiembre 23, 2009

Posted by Stansson, Meli, Andrej in Ejercicios e Investigación de Arduino.
add a comment

¡Saludos!

En este primer ejercicio conectamos un Servomotor con un rotor a un Arduino para hacerlo girar con el control de un potenciómetro. Las piezas que usamos fueron:

  • Arduino Mega
  • Protoboard
  • Potenciometro
  • Servomotor

Empezamos montando el potenciómetro a la protoboard.

Protoboard con potenciómetro

Protoboard con potenciómetro

Luego conectamos los cables a la placa Arduino.

Placa Arduino conectada

Placa Arduino conectada

1. Cable a analogo 0
2. Cable a ground
3. Cable a 5v

Después conectamos los cables del servo a la protoboard.

Protoboard y servo.

Protoboard y servo.

4. Cable del servo: café es Ground, rojo es Voltaje, naranja es Digital.

Posteriormente hicimos las conexiones apropiadas para darle poder al servo y poder darle órdenes.

Arduino con instrucciones programadas

Arduino con instrucciones programadas

5. Cable que permite que el voltaje pase al servo desde el otro lado de la protoboard.

6. Cable a ground para el servo.

7. Jumper para pasar el digital al otro lado de la protoboard.

8. Cable que conecta al puerto digital de Arduino.

Accidentalmente el potenciómetro resultó quemado por un descuido 😦 Ya fue reemplazado por otro.

¡Nos vemos!
Ariel Quinteros, Nicolás Meli, Andrés Rodríguez.