07 abril 2016

Teclado Matricial 4x4

Un teclado matricial es un simple arreglo de botones conectados en filas y colúmnas, de modo que se pueden leer varios botones con el mínimo número de pines requeridos. Un teclado matricial 4x4 solamente ocupa 4 lineas de un puerto para las filas y otras 4 lineas para las colúmnas, de este modo se pueden leer 16 teclas utilizando solamente 8 líneas de un microcontrolador. Si asumimos que todas las columnas y filas inicialmente están en alto (1 lógico), la pulsación de un botón se puede detectar al poner cada fila a en bajo (0 lógico) y checar cada columna en busca de un cero, si ninguna columna está en bajo entonces el 0 de las filas se recorre hacia la siguiente y así secuencialmente.

Un modo simple de detectar la tecla presionada es incrementar una variable con la cuenta de las teclas revisadas, de este modo al detectaruna pulsación el valor de la cuenta será el valor de la tecla presionada. Si al final no se presionó ninguna tecla la variable se pone a cero y la cuenta vuelve a comenzar. El puerto B del microcontrolador 16f628 (así como en el 16f877) viene preparado especialmente para el control de un teclado matricial 4x4. Para tener siempre un valor de 1 lógico en las colúmnas del teclado (parte alta del puerto B del pic) es necesario conectar resistencias de pull-up, sin embargo el puerto B cuenta con resistencias de pull-up integradas, de ese modo es posible trabajar con un teclado matricial sin necesidad de ningún componente externo.

Las resistencias de pull-up del puerto B se habilitan poniendo en 0 el bit NOT_RBPU del registro OPTION_REG.Al método aqui expuesto para detectar la pulsación de una tecla en un teclado matricial se le conoce como muestreo secuencial. Existen otros, sin embargo esté es tal vez el más sencillo. En el siguiente ejemplo cada tecla del teclado matricial tiene un valor de 0 a F, valor que se despliega en un display de 7 segmentos. El el código necesario para leer un teclado matricial con un microcontrolador pic 16f628 es el siguiente.

Programa principal:

Código para leer teclado matricial con un microcontrolador PIC


El programa principal es muy sencillo, simplemente configura el puerto A como salida, la parte baja del puerto B también como salida y la parte alta del puerto B como entrada. Además de configurar los puertos también se habilitan las resistencias de pull-up internas con la línea bcf OPTION_REG,NOT_RBPU. Después de la configuración se llama a una rutina llamada TECLADO encargada de escanear el teclado y regresar el valor de la tecla pulsada para poder desplegar el número correspondiente en un display de 7 segmentos y el programa ahí se queda en un ciclo llamando a la rutina TECLADO y después desplegando y repitiendo lo mismo cíclicamente.La rutina TECLADO escanea el teclado matricial usando el método que ya se mencionó.

Primero se carga un 0 a la primer fila, después se checa columna a columna si hay un cero, en caso de que no se detecte ningún cero, el cero de las filas se recorre y se vuelven a revisar las columnas. Si no se detectó ningún cero significa que no se presionó ninguna tecla y la rutina vuelve a comenzar. Si se detectó un cero significa que se presionó una tecla y en ese momento la salta a la rutina ANTIRREBOTES. Después de eliminar los rebotes se decodifica la tecla pulsada utilizando una tabla como la que se utilizó en el ejemplo del display de 7 segmentos.

Código para identificar tecla en un PIC

Rutina antirrebotes

Existen otros métodos de manejar teclados matriciales, pero creo que ésta es la más sencilla. Para terminar una imágen del circuito:

Esquema de teclado matricial

Descargar el código: Teclado Matricial 4x4.
 
Tomado de: http://www.circuitoselectronicos.org/2011/03/teclado-matricial-4x4.html

06 abril 2016

Foremost, ese gran desconocido

Haciendo análisis forense en GNU/Linux son variadas las herramientas con las que podemos contar, y al no estar en una "caja negra", como con las de M$-Windows, sabemos que dificilmente no nos estan falseando la evidencia.

Foremost permite la recuperación de archivos borrados de un dispositivo/partición (no de forma totalmente segura), y es el elegido de hoy para hacer una breve intro a la recuperacion forense de datos.

Es una utileria muy sencilla, al punto que mucha "gente comun" lo termino conociendo para recuperar "esas fotos de las vacaciones que la SD de la camara no permitia" y cosas asi...

Instalación
Foremost esta para muchos sabores de Linux, en este caso muestro como instalarlo completamente en un Slackware, desde los venerables SlackBuilds, esto es, bajar los fuentes, compilarlos y generar el paquete de instalacion, e instalarlo, pero si usas RPM o DEB, el proceso incluso es mucho mas simple:

root@gostir:[~]# slapt-src --search foremost
foremost:1.5.7 - foremost (recover files based on their headers and footers)
root@gostir:~# slapt-src --install foremost
Los siguientes paquetes serán instalado:
 foremost 
¿Desea continuar? [y/N] y
Recuperando README...Hecho
Recuperando doinst.sh...Hecho
Recuperando foremost-broken-jpeg.patch...Hecho
Recuperando foremost.SlackBuild...Hecho
Recuperando foremost.info...Hecho
Recuperando slack-desc...Hecho
Recuperando http://foremost.sourceforge.net/pkg/foremost-1.5.7.tar.gz...Hecho
foremost-1.5.7/
foremost-1.5.7/engine.c
foremost-1.5.7/main.h
foremost-1.5.7/main.c
foremost-1.5.7/helpers.c
foremost-1.5.7/config.c
foremost-1.5.7/README
foremost-1.5.7/foremost.conf
foremost-1.5.7/foremost.8.gz
foremost-1.5.7/extract.c
foremost-1.5.7/ole.h
foremost-1.5.7/CHANGES
foremost-1.5.7/cli.c
foremost-1.5.7/dir.c
foremost-1.5.7/extract.h
foremost-1.5.7/api.c
foremost-1.5.7/state.c
foremost-1.5.7/Makefile
patching file extract.c
Hunk #1 succeeded at 1868 (offset 74 lines).
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c main.c
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c state.c
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c helpers.c
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c config.c
config.c: En la función ‘translate’:
config.c:27:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
config.c:32:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
config.c:37:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
config.c:42:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
config.c:47:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
config.c:52:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
config.c:57:6: aviso: no se usa el valor calculado [-Wunused-value]
      *rd++;
      ^
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c cli.c
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c engine.c
engine.c: En la función ‘search_chunk’:
engine.c:319:17: aviso: se define la variable ‘current_pos’ pero no se usa [-Wunused-but-set-variable]
  unsigned char *current_pos = NULL;
                 ^
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c dir.c
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c extract.c
extract.c: En la función ‘extract_htm’:
extract.c:556:17: aviso: se define la variable ‘currentpos’ pero no se usa [-Wunused-but-set-variable]
  unsigned char *currentpos = NULL;
                 ^
extract.c: En la función ‘extract_wmv’:
extract.c:1157:14: aviso: se define la variable ‘fileObjHeaderSize’ pero no se usa [-Wunused-but-set-variable]
  u_int64_t   fileObjHeaderSize = 0;
              ^
extract.c:1150:17: aviso: se define la variable ‘currentpos’ pero no se usa [-Wunused-but-set-variable]
  unsigned char *currentpos = NULL;
                 ^
extract.c: En la función ‘extract_gif’:
extract.c:1404:17: aviso: se define la variable ‘currentpos’ pero no se usa [-Wunused-but-set-variable]
  unsigned char *currentpos = foundat;
                 ^
extract.c: En la función ‘extract_jpeg’:
extract.c:1824:17: aviso: se define la variable ‘currentpos’ pero no se usa [-Wunused-but-set-variable]
  unsigned char *currentpos = NULL;
                 ^
extract.c: En la función ‘extract_exe’:
extract.c:2114:15: aviso: se define la variable ‘align’ pero no se usa [-Wunused-but-set-variable]
  unsigned int align = 0;
               ^
extract.c:2110:15: aviso: se define la variable ‘size_of_headers’ pero no se usa [-Wunused-but-set-variable]
  unsigned int size_of_headers = 0;
               ^
extract.c:2108:15: aviso: se define la variable ‘sizeofimage’ pero no se usa [-Wunused-but-set-variable]
  unsigned int sizeofimage = 0;
               ^
extract.c:2105:15: aviso: se define la variable ‘rva’ pero no se usa [-Wunused-but-set-variable]
  unsigned int rva = 0;
               ^
extract.c:2104:15: aviso: se define la variable ‘SizeOfUninitializedData’ pero no se usa [-Wunused-but-set-variable]
  unsigned int SizeOfUninitializedData = 0;
               ^
extract.c:2103:15: aviso: se define la variable ‘SizeOfInitializedData’ pero no se usa [-Wunused-but-set-variable]
  unsigned int SizeOfInitializedData = 0;
               ^
extract.c:2102:15: aviso: se define la variable ‘SizeOfCode’ pero no se usa [-Wunused-but-set-variable]
  unsigned int SizeOfCode = 0;
               ^
extract.c: En la función ‘extract_rar’:
extract.c:2277:13: aviso: se define la variable ‘file_size’ pero no se usa [-Wunused-but-set-variable]
  u_int64_t  file_size = 0;
             ^
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -c api.c
api.c: En la función ‘dump_dirent’:
api.c:481:10: aviso: se define la variable ‘unknown’ pero no se usa [-Wunused-but-set-variable]
  short   unknown;
          ^
gcc -Wall -O2 -fPIC -DVERSION=\"1.5.7\" -D__UNIX -D__LINUX -DLARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 main.o state.o helpers.o config.o cli.o engine.o dir.o extract.o api.o -o foremost 
install -m 755 foremost /usr/src/slapt-src/system/foremost/package-foremost/usr/bin
install -m 444 foremost.8.gz /usr/src/slapt-src/system/foremost/package-foremost/usr/man/man8
install -m 444 foremost.conf /usr/src/slapt-src/system/foremost/package-foremost/etc

Slackware package maker, version 3.141593.

Searching for symbolic links:

No symbolic links were found, so we won't make an installation script.
You can make your own later in ./install/doinst.sh and rebuild the
package if you like.

This next step is optional - you can set the directories in your package
to some sane permissions. If any of the directories in your package have
special permissions, then DO NOT reset them here!

Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
directory ownerships to root.root ([y]es, [n]o)? n

Creating Slackware package:  /usr/src/slapt-src/system/foremost/foremost-1.5.7-x86_64-1_SBo.txz

./
usr/
usr/bin/
usr/bin/foremost
usr/doc/
usr/doc/foremost-1.5.7/
usr/doc/foremost-1.5.7/README
usr/doc/foremost-1.5.7/CHANGES
usr/doc/foremost-1.5.7/foremost.SlackBuild
usr/man/
usr/man/man8/
usr/man/man8/foremost.8.gz
install/
install/doinst.sh
install/slack-desc
etc/
etc/foremost.conf.new

Slackware package /usr/src/slapt-src/system/foremost/foremost-1.5.7-x86_64-1_SBo.txz created.

Installing package foremost-1.5.7-x86_64-1_SBo...
| foremost (recover files based on their headers and footers)

| Foremost is a Linux program to recover files based on their headers
| and footers. Foremost can work on image files, such as those
| generated by dd, Safeback, Encase, etc, or directly on a drive. The
| headers and footers are specified by a configuration file, so you can
| pick and choose which headers you want to look for.

| Homepage: http://foremost.sourceforge.net/




root@gostir:[~]#

Ah, si, era una simple linea de comando, me olvide de aclararlo, Slackware esta diseñada para gente perezosa como yo, que queremos todo excelente pero sin tener que teclear mil lineas de comandos... Sonara extraño pero es asi, todo automagico, se bajan los fuentes, se verifican, se compilan OPTIMIZADOS para nuestro sistema en particular, se genera el paquete .TXZ y se instala solo, y en el caso de necesitar dependencias, por su puesto que se resuelven de la misma manera...

Ahora si, como el movimiento se demuestra andando...
Recuperar todos los archivos JPG y copiarlos en /tmp/recovery (o donde dispongamos):

root@gostir:[~]# foremost -t jpg -i /dev/sde1 -o /tmp/recovery

Pero siendo forenses, generalmente trabajamos sobre imagenes de dispositivos, asi que vamos a tomar una imagen RAW realizada con el poderoso comando DD y recuperar todo lo que podamos de ahi:

root@gostir:[~]# foremost -t all -i imagen.dd -o /tmp/recovery

Va a demorar dependiendo del equipo que tengamos, y del tamaño de la imagen. Y como una mañana de Navidad, todos los archivos van a estar ahi...


Que te diviertas!

05 abril 2016

Variables en Conky

Estas son algunas de las variables que se pueden usar para el CONKY, serán bien recibidos todos los aportes.

Variable Atributos Explicación
$addr (interfaz) Muestra la IP de la interfaz seleccionada
$alignc Alinea el texto al centro
$buffers Muestra el buffer
$cached Muestra la cache almacenada
$color Da un color determinado ya sea por nombre o por código RGB
$cpu (cpu#) Muestra el porcentaje del CPU usado. cpu# es el número del CPU a mostrar
$cpubar Muestra el uso del CPU en forma de barra. Alto y ancho son el alto y el ancho de la barra en pixeles.
$cpugraph (alto, ancho color1 color2) Muestra un grafico con el uso del CPU. Alto y ancho son el alto y el ancho del grafico en pixeles. Color1 y color2 son los colores degradados que va a tomar la grafica, siendo color 1 el de mas a la izquierda y color 2 el de mas a la derecha
$downspeed (interfaz) Muestra la velocidad de descarga de la interfaz seleccionada
$downspeedgraph (alto, ancho color1 color2) Muestra un gráfico con la velocidad de descarga de la red. Alto y ancho son el alto y el ancho del grafico en pixeles. Color1 y color2 son los colores degradados que va a tomar la grafica, siendo color1 el de mas a la izquierda y color 2 el de mas a la derecha
$exec Ejecuta un comando dado en la shell
$font Establece una fuente determinada
$freq Muestra la frecuencia del microprocesador (en MHz)
$freq_g Muestra la frecuencia del microprocesador (en GHz)
$fs_bar (alto, ancho fs) Muestra el uso del fs seleccionado en forma de barra. Alto y ancho son el alto y el ancho de la barra en pixeles. fs es el punto de montaje de algun HDD
$fs_free (fs) Muestra el espacio libre en el fs seleccionado. fs es el punto de montaje de algun HDD
$fs_free_perc (fs) Muestra el porciento libre en el fs seleccionado. fs es el punto de montaje de algun HDD
$fs_size (fs) Muestra el espacio total del fs seleccionado. fs es el punto de montaje de algun HDD
$fs_used (fs) Muestra el espacio usado del fs seleccionado. fs es el punto de montaje de algún HDD
$hr Muestra una línea a todo lo ancho
$image URL Para poner una imagen que está en la URL
$kernel Muestra la versión del kernel
$machine Muestra la arquitectura de la PC
$mem Muestra la cantidad de memoria RAM usada
$membar (alto, ancho) Muestra el uso de la memoria RAM en forma de barra. Alto y ancho son el alto y el ancho de la barra en pixeles.
$memgraph (alto, ancho color1 color2) Muestra un grafico con el uso de la memoria RAM. Alto y ancho son el alto y el ancho del grafico en pixeles. Color1 y color2 son los colores degradados que va a tomar la grafica, siendo color 1 el de mas a la izquierda y color 2 el de mas a la derecha
$memmax Muestra la cantidad de memoria RAM que poseemos
$memperc Muestra el porciento de memoria RAM usada
$nodename Muestra el nombre de la PC
$offset Para mover el texto en dirección horizontal
$processes Muestra la cantidad de procesos
$running_processes Muestra la cantidad de procesos corriendo
$stippled_hr (#) Muestra una línea discontinua a todo lo ancho. El número indica la separacion de los puntos
$swap Muestra la cantidad de la SWAP usada
$swapbar (alto, ancho) Muestra el uso de la SWAP en forma de barra. Alto y ancho son el alto y el ancho de la barra en pixeles.
$swapgraph (alto, ancho color1 color2) Muestra un grafico con el uso de la SWAP. Alto y ancho son el alto y el ancho del grafico en pixeles. Color1 y color2 son los colores degradados que va a tomar la grafica, siendo color 1 el de mas a la izquierda y color 2 el de mas a la derecha
$swapmax Muestra la cantidad de la SWAP que poseemos
$swapperc Muestra el porciento de la SWAP usada
$sysname Muestra el nombre del tipo de sistema
$time Muestra todo lo referente a la fecha/hora (para ver todos atributos vea man strftime)
$top (cpu name, pid, mem, cpu #) Muestra el proceso en el CPU según el atributo que se le pase. name, pid, mem, cpu muestra el proceso en la posicion # del uso del CPU.
$top_mem (cpu name, pid, mem, cpu #) Igual que top, pero con la memoria
$totaldown (interfaz) Muestra la cantidad total de descarga de la intefaz seleccionada
$totalup (interfaz) Muestra la cantidad total de subida de la intefaz seleccionada
$upspeed (interfaz) Muestra la velocidad de subida de la interfaz seleccionada
$upspeedgraph (alto, ancho color1 color2) Muestra un grafico con la velocidad de subida dela red. Alto y ancho son el alto y el ancho del grafico en pixeles. Color1 y color2 son los colores degradados que va a tomar la grafica, siendo color 1 el de mas a la izquierda y color 2 el de mas a la derecha
$voffset Para mover una fila en dirección vertical

Tomado de: http://gutl.jovenclub.cu/wiki/doku.php?id=tutoriales:conky

04 abril 2016

Alejandro Magno y Diógenes

Al oír hablar sobre Diógenes, Alejandro Magno quiso conocerlo. Así que un día en que el filósofo estaba acostado tomando el sol, Alejandro se paró ante él.

Diógenes se percató también de la presencia de aquel joven espléndido. Levantó la mano como comprobando que, efectivamente, el sol ya no se proyectaba sobre su cuerpo. Apartó la mano que se encontraba entre su rostro y el del extraño y se quedó mirándolo.

El joven se dio cuenta de que era su turno de hablar y pronunció:

- "Mi nombre es Alejandro El Grande”. Pronunció esto último poniendo cierto énfasis enaltecedor que parecía más bien aprendido.

- "Yo soy Diógenes el perro”

Hay quienes dicen que retó a Alejandro Magno con esta frase, pero es cierto también que en Corinto era conocido como Diógenes el perro. Alejandro Magno era conocido en la polis así como en toda la Magna Grecia.

A Diógenes no parecía importarle quien era, o quizá no lo sabía.

El emperador recuperó el turno:

- "He oído de ti Diógenes, de quienes te llaman perro y de quienes te llaman sabio. Me place que sepas que me encuentro entre los últimos y, aunque no comprenda del todo tu actitud hacia la vida, tu rechazo del hombre virtuoso, del hombre político, tengo que confesar que tu discurso me fascina".

Diógenes parecía no poner atención en lo que su interlocutor le comunicaba. Más bien comenzaba a mostrarse inquieto. Sus manos buscaban el sol que se colaba por el contorno de la figura de Alejandro Magno y cuando su mano entraba en contacto con el cálido fluir, se quedaba mirándola encantado.

- “Quería demostrarte mi admiración", dijo el emperador. Y continuó: "Pídeme lo que tú quieras. Puedo darte cualquier cosa que desees, incluso aquellas que los hombre más ricos de Atenas no se atreverían ni a soñar".

- “Por supuesto. No seré yo quien te impida demostrar tu afecto hacia mí. Querría pedirte que te apartes del sol. Que sus rayos me toquen es, ahora mismo, mi más grande deseo. No tengo ninguna otra necesidad y también es cierto que solo tú puedes darme esa satisfacción”

Mas tarde Alejandro comentó a sus generales: "Si no fuera Alejandro, me hubiera gustado ser Diógenes."

03 abril 2016

Balada Para un Loco

¡Loco! ¡Loco! ¡Loco!
Como un acróbata demente saltaré
Sobre el abismo de tu escote hasta sentir
Que enloquecí tu corazón de libertad
¡Ya vas a ver!
Astor Piazzolla

02 abril 2016

Apocalipsis (1982)

Apocalipsis de Tren Loco (1983, con JAF, M. Curcio, S. Cives y W. Giardino y otros). Rareza absoluta

01 abril 2016

Como hacer una cocina solar eficiente de bajo costo

Hay tres escuelas de magia. Una: afirma una tautología, luego rodea los cambios en sus corolarios: eso es filosofía. Dos: registra varios hechos. Intenta hallar un esquema. Luego hace una suposición equivocada respecto al próximo hecho: eso es ciencia. Tres: toma consciencia de que vives en un universo malevolente controlado por la ley de Murphy, a veces compensado en parte por el factor de Brewster: eso es ingeniería.

El numero de la Bestia - Robert Heinlein
Es muy simple armar una cocina solar portatil, plegable, de bajo costo, muy eficiente y duradera, de bajo peso y practica. Si bien hay cocinas solares parabolicas y "de caja", en este caso vamos a armar una "de panel" abierta, sin necesidad de elementos de alta tecnologia.
El diseño tiene varios paneles planos que concentran los rayos del Sol sobre un recipiente dentro de una bolsa de plastico. La ventaja es que por dos mangos se puede armar un menos de una hora y la comida nunca se quema. La desventaja es que normalmente las cosas tardan bastante mas en cocinarse, tipo minimo unas dos horas.

Materiales necesarios:
  • Dos Cartones gruesos de 50x75 cm c/u
  • Papel de Aluminio (de cocina)
  • Cola Vinilica (o Engrudo sino)
  • Cinta plana de tela resistente (o Velcro)
  • Pincel (o tus dedos)
  • Tijera (o trincheta)
  • Marcador fino
  • Regla
  • Esponja (o trapo)

Opcionales:
  • Olla metalica negra con tapa resistente al horno (no muy alta)
  • Bolsa para horno
  • Papel Kraft (o Vinilo autoadhesivo)
  • Bolsa de transporte de tela

Construccion:
Siguiendo esta sencilla plantilla en PDF, vemos que resulta muy facil construirla

Con paciencia, y mas paciencia, medimos los angulos y trazamos las lineas sobre el carton, hasta tener un dibujo de la plantilla sobre el mismo, cortamos donde nos marca, y hacemos las seis caladuras donde corresponden.

Con la ayuda de una regla (o algo recto y del largo adecuado) y algo con punta roma marcar las lineas de doblez, teniendo en cuenta que algunas son "hacia adentro", es decir hacia donde vamos a pegar el papel de ALU, y otras son "hacia afuera" o hacia la parte posterior.

Verificamos las piezas plegandolas totalmente, y que los pliegues estan para los lados correspondientes. Caso contrario, corregirlo.

Antes que nada, aclaro que el ALU tiene que quedar del lado mas brillante para los alimentos, el lado mas opaco siempre lo mas lejos posible de la comida, para evitar la parte toxica del mismo. Sabiendo esto, pegamos el papel de ALU con el lado mas opaco enfrentando al carton con cola vinilica al 50% con agua (partes iguales), ayudandonos con la esponja para no dejar globos debajo. En caso de se necesario, volver a plegar totalmente la pieza y ver como quedan los pliegues.

Pegar las seis tiras de Cinta plana como indica la figura en la cara exterior de las piezas, haciendoles las perforaciones donde se marca segun el esquema.

Juntar las piezas y armar la Cocina Solar, viendo que este todo correctamente dispuesto.

Probar apuntando la cocina solar y colocando la olla con agua, tomando los tiempos en cuanto tarda en hervir. Nota: No hace falta poner una olla gigantesca, todo lo contrario, incluso he visto usar latas de duraznos (de un litro casi creo), pintadas de negro con tempera funcionar muy bien como "ollas pequeña para cocina solar", con un excelente desempeño.


Opcional Refuerzo:
Pegarle con cola vinilica Papel Kraft del lado de afuera, o quizas un Vinilo autoadhesivo, para proteger el lado externo de la cocina de la humedad que podria dañarlo, o para poder limpiarla facilmente y darle mejor resistencia al maltrato.
Coserle una Bolsa de transporte de tela.
Pegarle los tiempos de coccion estimados para guiar.

Teoria:
Todos los alimentos que se cocinan en agua, llegan a una temperatura maxima de 100ºC (menos si estas a gran altitud), y como, dependiendo del rango de insolacion del lugar, esta cocina solar trabaja entre unos 90ºC a 165ºC, podemos tranquilamente pasteurizar agua durante veinte minutos, o cocinar nuestra comida (+82ºC) sin temor a que se queme (mientras no se evapore toda el agua), eso si, variando ligeramente las tecnicas que estamos acostumbrados a usar en nuestras cocinas de gas natural, de leña o electricas. Las temperaturas que figuran en los libros de cocina son para cocinar mas rapido, o para dorar los alimentos, tenelo presente.
Otra cosa a tener en cuenta es poner a cocinar las cosas temprano, ya que es necesario mas tiempo que las cocinas "tradicionales", y con la ventaja que la comida permanece caliente y no se pega ni se pasa.

La mejor forma es practicar tranquilo e ir tomandole la mano con los tiempos, y las inclinaciones segun la hora solar.

Otras cocinas solares parabolicas pueden lograr unos respetables 350ºC, pero son dificiles de armar, mas peligrosas en su manipulacion, y realmente no son tan practicas como el modelo aca elegido. Mas adelante tienen un sitio muy completo con planos y demas informacion.

Historia:
En 1767 un naturalista suizo, Horace de Saussure, construyo la primer cocina solar, desde esa epoca hubo muchos avances al respecto.

Tambien podes consultar a la Red Global sobre la Cocina Solar es.solarcooking.wikia.com/wiki/Red_Global_sobre_la_Cocina_Solar donde Tom Sponheim (tomsp@solarcooking.org) habla español, especialmente el articulo muy completo Preguntas Frecuentes de la Cocina Solar en solarcooking.org/espanol/solarcooking-faq-span.htm

Que te diviertas!