domingo, 6 de marzo de 2022
lunes, 19 de octubre de 2020
Casa prefabricada metalcon
Posted on 12:51:00by ro with No comments
El proyecto consiste en diseñar una casa de 6 metros de ancho por 7 metros de largo de acero liviano y entregar planos para confeccionar paneles y realizar un montaje de la estructura en el menor tiempo posible.
jueves, 16 de abril de 2020
Proyecto sala multiuso
Posted on 17:33:00by ro with No comments
Proyecto de construcción de sala multiuso.
El proyecto consiste en crear un salón para el almacenamiento de nobiliario y una sala de preparación de alimentos fríos.
La construcción se unirá a otra estructura existente a través de pasadizos elevados.
Video:
Imagenes:
Recorrido de armadura de marcos de hormigón:
cubicación de material.
El proyecto consiste en crear un salón para el almacenamiento de nobiliario y una sala de preparación de alimentos fríos.
La construcción se unirá a otra estructura existente a través de pasadizos elevados.
Video:
Imagenes:
Recorrido de armadura de marcos de hormigón:
cubicación de material.
miércoles, 8 de enero de 2020
Modelo en Revit de Estanques
Posted on 14:10:00by ro with No comments
A continuación modelo de conexiones de estanques de agua de diferentes volumenes
Estanques y conexiones:
Armado Losa, doble malla armada de acero:
Dificultades:
- la conexion brida en el modelo no considera los pernos.
- Falta la creación de una valvula flotador.
- Falta crear una familia de salida de estanque.
Beneficios:
- poder dimensionar el tamaño de losa de hormigón con dimensiones coherentes a la realidad.
- cubicar cantidad de acero y número de barras para el armado de la losa.
- cubicar longitudes de tuberías.
- cubicar accesorios.
Imágenes:

miércoles, 14 de marzo de 2018
Modelo de baño creado en revit (METALCON)
Posted on 17:34:00by ro with No comments
A continuación en el siguiente link se presenta la estructura de un baño creado en la plataforma Revit:
http://autode.sk/2pir9kC
Dificultades:
- Creación de familia de perfiles metalcon.
- Falta la creación de una familia de unión a 90°, aun no se define que unión usar.
- Falta modificar la familia de perfiles incorporando los orificios del perfil para pasar las tuberías.
- Faltan las conexiones eléctricas.
- Falta incorporar los tornillos, aun no se define como hacerlo de una forma mas rápida (idea: parece que la familia de las placas OSB debe tener algún parámetro que me indique la cantidad de tornillos).
Beneficios:
- Cubicar la cantidad de material y longitudes de corte.
- Sabiendo las longitudes de corte aplicar software de optimización de cortes para definir que longitud de perfiles comprar para tener el menor desperdicio posible.
Imágenes:
jueves, 9 de marzo de 2017
Activar cámara con Twitter
Posted on 16:19:00by ro with No comments
Objetivo:
El proyecto intenta aprovechar la plataforma de Twitter para subir imágenes desde una ubicación remota con conexión a una red móvil. De esta manera la imagen mostrará información visual sobre el estado de un jardín o las condiciones climáticas.
Circuito:
Como twitter no permite repetir mensajes se incorpora una variable que es la hora, por lo que el código esta condicionado a enviar un tweet y por lo tanto subir la foto por cada una hora.
El código también restringe al autor del tweet, por lo que no solo basta que coincida el contenido del mensaje.
Codigo:
#include <OneSheeld.h>
#define CUSTOM_SETTINGS
#define INCLUDE_TERMINAL_SHIELD
#define INCLUDE_TWITTER_SHIELD
#define INCLUDE_CLOCK_SHIELD
#define INCLUDE_CAMERA_SHIELD
int hour;
int led=10;
void setup()
{
OneSheeld.begin();
pinMode(led,OUTPUT);
}
void loop()
{
Twitter.trackKeyword("@Abel212Rodrigo"); //SIGA ESE CLAVE
Twitter.setOnNewTweet(&checkTweets);//VERIFIQUE NUEVO TWEET
}
void checkTweets(String user , String sms)
{
Terminal.println(sms);
Terminal.println(user);
Clock.queryDateAndTime();
hour = Clock.getHours();
String hora=String (hour);
String keyword =" @Abel212Rodrigo";
String palabrainfo=String ("Information ");
String palabrahrs=String (" hrs");
String oracioninfo=String (palabrainfo+hora+palabrahrs+keyword);
String ledon=String ("On li ");
String ledoff=String ("Off li ");
String apagarled=String (ledoff+hora+palabrahrs+keyword);
String prenderled=String (ledon+hora+palabrahrs+keyword);
Terminal.println(oracioninfo);
Terminal.println(prenderled);
Terminal.println(apagarled)
;
if (sms == prenderled && user == "Rodrigo" ) {
digitalWrite(led,HIGH);
Camera.setQuality(LOW_QUALITY);
Camera.setFlash(ON);
/* Take the picture. */
Camera.rearCapture();
/* Wait for 10 seconds. */
OneSheeld.delay(10000);
/* Post the picture on Twitter. */
Twitter.tweetLastPicture("oracion_de_informacion",0);
}
if (sms == apagarled && user == "Rodrigo" ) {
digitalWrite(led,LOW);
}
}
Vídeo 1:
vídeo pendiente con la activación de la cámara.
Vídeo 2:
El código anterior con modificaciones también es útil para activar y desactivar electrovalvulas, luces u otros dispositivos, como también añadir sensores de humedad y temperatura para que que el sistema haga un tweet con esta información. Lo anterior se puede ver el siguiente vídeo:
lunes, 16 de enero de 2017
Recycling wood to construct dome
Posted on 18:56:00by ro with No comments
viernes, 11 de noviembre de 2016
(IOT) Arduino/Thingspeak/1sheeld/Matlab(en construcción)
Posted on 5:05:00by ro with No comments
Objetivo general:
- Desarrollar un prototipo de control, para controlar a distancia un invernadero en el desierto de Atacama.
Objetivos específicos:
- Subir datos de temperatura y humedad a la nube de thingspeak.
- Encender relevadores para activar electrovalvulas u otro con una solicitud HTTP.
- Subir una foto al correo electronico.
- Analizar los datos.
desarrollo:
El desarrollo de este prototipo tiene como fin implementarlo en un invernadero real, que a futuro se espera construirlo en el desierto de Atacama.
1) Creación de tres canales en Thingspeak: Temperatura, humedad y ON/OFF
2) Apertura de canales y creación de campos:
3) Capturamos las API's keys, de lectura y escritura.
4) El montaje electrónico comprende un sensor DHT22, la placa arduino, la placa 1sheeld y un smartphone, se utilizo este método pues en el lugar de instalación no existe red Wifi por lo cual se usa la red movil 3G local.
5) Básicamente el código de programación subirá los datos de temperatura y humedad a la plataforma de Thingspeak y realizará una solicitud de lectura del campo N°3 para que la placa determine si enciende el led o no.
code:
#define CUSTOM_SETTINGS
#define INCLUDE_INTERNET_SHIELD
#define INCLUDE_TERMINAL_SHIELD
#include <OneSheeld.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
char temperatura[10];
char humedad[10];
HttpRequest request("https://api.thingspeak.com/update");
HttpRequest solicitud("https://api.thingspeak.com/channels/aqui_va_el_canal/feeds.json?&results=1"); // put where 9 your channel number
int led = 10;
void setup()
{
Serial.begin(9600);
OneSheeld.begin();
pinMode(led, OUTPUT);
request.addParameter("key","Xxxxxxxxxxxxxxxxxxxxxxxxxxxx"); // key de escritura
solicitud.setOnSuccess(&onSuccess);
/* Subscribe to json value replies. */
solicitud.getResponse().setOnJsonResponse(&onJsonReply);
/* Subscribe to response errors. */
solicitud.getResponse().setOnError(&onResponseError);
/* Subscribe to Internet errors. */
Internet.setOnError(&onInternetError);
/* LED pin modes OUTPUT.*/
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
dtostrf(t, 3, 2, temperatura); // convert from int to char array
dtostrf(h, 3, 2, humedad);
// add the value of the temperature as the other parameter for the URL
request.addParameter("field1",temperatura);
request.addParameter("field2",humedad);
Internet.performGet(request); // Perform get to the request
//Serial.println(temperatura);
//Serial.println(humedad);
solicitud.addParameter("key","4xxxxxxxxxxxxxxxxxxxxxxx");//key de lectura
Internet.performGet(solicitud);
OneSheeld.delay(10000);
}
void onSuccess(HttpResponse & response)
{
response["feeds"][0]["field3"].query();
}
void onJsonReply(JsonKeyChain & hell,char * output)
{
/* 1Sheeld responds using text-to-speech shield. */
// TextToSpeech.say(output);
/* Check if the LED must turn ON. */
//if (!strcmp("1",output)) //werkt bij 1 tm 4;
if (!strcmp("1",output))
blueRGB();
/* Check if the LED must be OFF. */
else if (!strcmp("0",output))
off();
}
/* Set the pins of the blue LED to ON. */
void blueRGB()
{
digitalWrite(led, HIGH);
Terminal.println("on");
}
/* Set the pins of the blue LED to OFF. */
void off()
{
digitalWrite(led, LOW);
Terminal.println("off");
}
void onResponseError(int errorNumber)
{
/* Print out error Number.*/
Terminal.print("Response error:");
switch(errorNumber)
{
case INDEX_OUT_OF_BOUNDS: Terminal.println("INDEX_OUT_OF_BOUNDS");break;
case RESPONSE_CAN_NOT_BE_FOUND: Terminal.println("RESPONSE_CAN_NOT_BE_FOUND");break;
case HEADER_CAN_NOT_BE_FOUND: Terminal.println("HEADER_CAN_NOT_BE_FOUND");break;
case NO_ENOUGH_BYTES: Terminal.println("NO_ENOUGH_BYTES");break;
case REQUEST_HAS_NO_RESPONSE: Terminal.println("REQUEST_HAS_NO_RESPONSE");break;
case SIZE_OF_REQUEST_CAN_NOT_BE_ZERO: Terminal.println("SIZE_OF_REQUEST_CAN_NOT_BE_ZERO");break;
case UNSUPPORTED_HTTP_ENTITY: Terminal.println("UNSUPPORTED_HTTP_ENTITY");break;
case JSON_KEYCHAIN_IS_WRONG: Terminal.println("JSON_KEYCHAIN_IS_WRONG");break;
}
}
void onInternetError(int requestId, int errorNumber)
{
/* Print out error Number.*/
Terminal.print("Request id:");
Terminal.println(requestId);
Terminal.print("Internet error:");
switch(errorNumber)
{
case REQUEST_CAN_NOT_BE_FOUND: Terminal.println("REQUEST_CAN_NOT_BE_FOUND");break;
case NOT_CONNECTED_TO_NETWORK: Terminal.println("NOT_CONNECTED_TO_NETWORK");break;
case URL_IS_NOT_FOUND: Terminal.println("URL_IS_NOT_FOUND");break;
case ALREADY_EXECUTING_REQUEST: Terminal.println("ALREADY_EXECUTING_REQUEST");break;
case URL_IS_WRONG: Terminal.println("URL_IS_WRONG");break;
}
}
6) datos en Thingspeak:
7) Para activar el led se introduce el siguiente link, variando el 0 o 1 para apagarlo o encenderlo respectivamente. Esta entrada analógica remota podría ser util para activar la cámara y obtener una imagen o para cortar el suministro eléctrico o resetear alguna placa.
https://api.thingspeak.com/update?api_key=key_de_escritura&field3=1
8) Desarrollo del análisis de los datos con MatLab:
En una primera instancia se recogen los datos para estudiarlos y establecer relaciones entre la diferentes variables que permitan optimizar el crecimiento de los cultivos en la zona desértica, muy en especial la Quinoa. Si se llegase a encontrar relaciones entre variables que logren este objetivo debería ser implementado en el algoritmo de MatLab, por lo tanto el programa automáticamente debería ejecutar acciones para esto MatLab debería tener la capacidad de escribir entradas digitales en thingspeak para que la placa arduino lea, interprete y ejecute las acciones.
desarrollo:
miércoles, 2 de noviembre de 2016
Catastro de la infraestructura con Fusion table/Google drive/AppInventor (en construcción)
Posted on 11:14:00by ro with No comments
Este proyecto es parte del concepto SMAC (social, mobile, analytics and cloud) y busca usar herramientas digitales para facilitar la recolección de datos en terreno.
Resumen:
Se crea una aplicación android con AppInventor que posea todos los parámetros a medir en el catastro. Al finalizar un catastro con un botón se guarda la información, y la aplicación automáticamente sube la información del catastro a los servidores de Google. En tiempo real la Fusion Table de Google interpreta estos datos para mostrar esta información mediante tablas, gráficos y mapas para que otro usuario pueda analizar o hacer controles de forma remota.
Desarrollo del proyecto:
1) Crear un proyecto en Fusion Table
2) Preparar la tabla con la información a medir:
3) Obtener la ID de la tabla creada: File/About this table:
4) Compartir el proyecto con permisos a usuarios que posean el link. Share/change
5) Obtener la URL de la tabla: Tools/Publish
6) Creación de usuario: crear proyecto en https://console.developers.google.com, habilitar las APIS, agregar la API de fusion tables, y crear credenciales.
Suscribirse a:
Comentarios (Atom)














































