viernes, 14 de agosto de 2015

Mi primer tuerca con OPENSCAD..

Estoy impresionado con este programa OPENSCAD un lenguaje parametrico para CAD 2D y 3D con el cual podemos crear objetos e imprimirlos con nuestra impresora 3D existe blender, autocad y otros pero este soft es lo mas :) utiliza una libreria de geometria CGAL por lo cual es un lenguaje parametrico con funciones geometricas y matematicas...

Una tuerca autofrenante sin usar librerias es una prueba usando la matematica y geometria como corresponde se pueden lograr piezas mas complejas y animarlas :)

difference()
{
translate([1,1,0])cube([10,10,5]);
translate([4,4,1])cylinder(r=0.8,h=4,$fn=6,$fa=0.1,$fs=0.5);
translate([8,4,1])cylinder(r=0.8,h=4,$fn=6,$fa=0.1,$fs=0.5);
translate([4,8,1])cylinder(r=0.8,h=4,$fn=6,$fa=0.1,$fs=0.5);
translate([8,8,1])cylinder(r=0.8,h=4,$fn=6,$fa=0.1,$fs=0.5);
}


difference(){
translate([8,-10,8])cylinder(r=6,h=3,$fn=0,$fa=0.1,$fs=0.5);
translate([11.5,-10.2,8])cube([3,0.35,3.5]);
translate([1.5,-10.2,8])cube([3,0.35,3.5]);
rotate(118)translate([-9,-2.5,8])cube([3,0.35,3.5]);
rotate(60)translate([-1.5,-12,8])cube([3,0.35,3.5]);
rotate(60)translate([-11,-12,8])cube([3,0.35,3.5]);
rotate(118)translate([-19,-2.5,8])cube([3,0.35,3.5]);
translate([8,-10,-1])cylinder(r=4,h=15,$fn=0,$fa=0.1,$fs=0.5);
}


difference(){
translate([8,-10,1])cylinder(r=8,h=7,$fn=6,$fa=0.1,$fs=0.5);
translate([8,-10,-1])cylinder(r=4,h=15,$fn=0,$fa=0.1,$fs=0.5);
}


Y se puede exportar como un STL para usarlo con repetier-Host u otro...


lunes, 3 de agosto de 2015

Arduino - Comunicación con SIM800l GPRS/GSM

Resumen de funcionamiento shield sim800l, como interface arduino, esp8266, esp32 u otro microcontrolador, se puede utilizar para un sistema de seguridad, comunicacion gsm, scanner, etc.

Ejemplos  y casos de uso.

1)Sistema de seguridad
PIR --> Arduino ---> sim800L    )))  (gprs/gsm)   (((( "celular 3G"

2)Sistema de seguridad 2(nodos wifi bajo consumo )

PIR_1 -->esp-01 -))))        ((((--router_wifi_red_domotica--)))     ((((-esp-12--sim800l-)))) celular 3G
PIR_2 --->esp-01-))))                                                                                 
PIR_3 --->esp-01-))))

3)Sistema de comunicacion y reconocimiento de voz

maple_mini --->sim800l  ))) gprs/gsm/internet
                      --->esp-12  )))wifi P2P/router
                      --->easy-VR "reconocimiento de voz"
                      -->HC-05 programacion por bluetooth o conexion a celulares
                      --->GPS
                      ---->RF transceiver de rf 2.4ghz red domotica

Este es el breakout sim800l con comunicacion serie el cual se puede conectar a un uC 'microcontrolador', arduino, esp8266, raspberry pi etc, o a un programador usb-rs232
Hay varias versiones de este  CI , sim800, sim900 y el adaptador para smd, se puede armar pero ya hay breakout desarroladas, por costos muy bajos.
El breakout sim800l que consegui no tiene salida ni entrada de audio por lo cual me limita solo a realizar llamadas y enviar y recibir mensajes.

Hoja de datos
http://www.seeedstudio.com/wiki/LoNet_-_GSM/GPRS/GPS_Breakout


  • Quad-band 850/900/1800/1900MHz( cuatribanda para 2G y 3G)
  • GPRS multi-slot class12 connectivity: max. 85.6kbps(down-load/up-load)
  • GPRS mobile station class B
  • Controlled by AT Command (3GPP TS 27.007, 27.005 and SIMCOM enhanced AT Commands)
  • Supports charging control for Li-Ion battery
  • Supports Real Time Clock
  • Supply voltage range 3.4V ~ 4.4V (muy importante recomendado 4.2)
  • Integrated GPS/CNSS and supports A-GPS
  • Supports 3.0V to 5.0V logic level (conversion TTL 3vcc a 5vvcc)
  • Low power consumption, 1mA in sleep mode
  • Supports GPS NMEA protocol
  • Compact size 27mm x 46mm x 10mm
  • Standard SIM Card



  • Diagrama de conexion
    este diagrama de conexion es bastante bueno tuve inconvenientes para hacerlo funcionar consejo hay que alimentarlo con una fuente estable alrededor de 4.2vcc@800mA ya sea una bateria LIPO o una fuente regulada no usar la alimentacion de arduino porque funciona pero no adecuadamente ya que el sim800 tiene un ESD el cual si detecta baja o alta tension se desconecta o reinicia... (Proteccion por alto o vajo voltaje) el cual es muy buena funcion ya que nos asegura no dañarlo muy importanto leer lo que responde por la consola serie


    Fuente switching  ---->sim800l -->arduino o esp8266



    El primer ejemplo lo conectas direscto al uC le bajas el codigo de FONA o el tuyo y ya esta.
    El segundo te conectas con un USB-FT232 y desde una consola ya sea en win o linux abris la terminal en /dev/usb te conectas con baudrate 9600 y tenes que ingrasar los comandos AT.


    PDF con todos los comandos AT
    http://www.seeedstudio.com/wiki/images/5/51/SIM800_ATCommand_Manual_V1.02.pdf

    Aca hay muhca info.
    http://www.seeedstudio.com/wiki/LoNet_-_GSM/GPRS/GPS_Breakout

    En cuanto a librerias deberian descargar la ultima verision del IDE para arduino ya que hubieron muchos cambios en las librerias y soporte para hardware han agregado el soporte para los esp8266 esta mi querido souliss(framework domotica) y muchas otras placas

    Esta libreria de ADAFRUIT es recomenda ya que esta completa poder realizar llamadas enviar sms y conectarte a internet solo funciona con la version del IDE nueva de arduino
    https://github.com/adafruit/Adafruit_FONA_Library (ya tiene implementado los comandos AT)
    este es un codigo de ejemplo para mi alrma ya que fona tiene cosas que no voy a ocupar pero para hacer pruebas y sacar el codigo que necesitas te sirve.

    https://github.com/pablinn/sim800_v2

    Video demo de sim800l usando FONA_Library


    Sldos.....


    Agregado de protocolos TCP
    Desarrollo de libreria con soporte "HTTP GET y POST" le falta mucho pero me gusta como esta quedando.

    *modo debug o logico(ver las respuestas AT o solo los estado True o False) para poder hacer tu programa basado en estados(maquina de estados )
    *generar una clase
    *soporte para TCP/IP o UDP/IP
    *"HTTP GET o POST "

    https://github.com/pablinn/sim800v3.git


    Saludos....

    Envio de mensajes
    Una forma simple y sencilla de mandar mensaje con la librería que estoy haciendo de ultima borra el resto y deja la que necesitas me imagino que es para automatización.

    4.2@800mA (estables con esto y ya lo charle en el grupo de whatsapp debe ser fijo no debe variar sino se desconecta de la red)

    AT+CBC   --> indica la tension 0,100,4212 (0, 100 % carga de la bateria , tension en milivolt)

     una vez conecatado a la red demora 3 segundos revisar con

    AT+COPS=? redes disponibles
    AT+COPS?  red conectada
    AT+CGREG?

    Mandar mensaje conectado a la red movil (unifon - movistar / CTImovil - claro)

    AT+CMGF=1
    AT+CMGS=\"+54299xxxxx\"  (el cel es con cod \"+pais-area-celular\")
    te devuelve >
    mandas el msj y terminas con control Z
    escribir (0x1A)

    en la libreria sim800v3 el cual esta funcionando la probamos en varios celulares un compañero colombiano logro automatizar una cerradura desde su celular asi que funciona si no es otra cosa..
    Ademas te podes conectar a internet usando TCP/IP UDP/IP HTTP  FTP EMAIL POP funciones de RADIO FM :) aun no termino ya estoy mareado :O

        //CMGS_SMS("+54299xxxxx","Hola Mundo");

    tener en cuenta la tension revisar con AT+CBC varias veces no debe variar o se resetea o desconecta.

    Saludos.

    Bueno nada nuevo a lo mucho que hay solo el montaje final un arduino nano los dos PIR por las interrupciones del nano para ponerlo en modo sleep y ahorrar el consumo de la bateria.



    Saludos..