Elaboración de Planos y relaciones de posición en SolidWorks

Standard

Hola! muy buen día, aquí estoy de nuevo compartiendo un tema del tutorial de SolidWorks continuando con funciones básicas del programa.

En esta ocasión veremos funcionalidades que son relativamente sencillas (ya las he visto en otros ocasiones en el blog) pero encontraremos una solución sencilla de como hacer esta figura.

r1

Analizando la figura:

Vemos varios lados inclinados, donde podemos usar planos para hacer los cortes, recordando, que el ideal es iniciar el croquis desde la cara que tiene mayor numero de cotas, y después de eso definir detalles de la pieza que realizaremos. Así que iniciaré un croquis desde la vista de “planta”. Continue reading

Android: Conexión simultánea con múltiples dispositivos BLE + sensor Acelerómetro

Standard

 

Imagen tomada de: http://pocketnow.com/2013/01/17/bluetooth-low-energy

Imagen tomada de: http://pocketnow.com/2013/01/17/bluetooth-low-energy

¡Qué tal, gente! Después de un algún tiempo sin publicar, traigo para ustedes este ejemplo práctico y resumido (aunque usted no lo crea) de una implementación a la medida que fue realizada recientemente para un proyecto en el que me encuentro colaborando.

La situación—brevemente explicada— es esta: es necesario, mediante una app Android para móvil, conectarse como mínimo con 3 dispositivos BLE 4.0 vestibles de manera simultánea y leer los datos de sus diversos sensores en tiempo real. Los dispositivos en cuestión no cuentan con el sistema operativo Android instalado.

Para fines prácticos, en el presente ejemplo sólo se leen y muestran los datos del sensor acelerómetro de los dispositivos BLE 4.0 utilizados. Cabe destacar, además, que se consiguió conectar con hasta 4 dispositivos simultáneamente, esto ya que no se contaba con una cantidad mayor de los mismos. Por lo tanto, me aventuro a conjeturar que es probablemente viable el conectar con más de 4 dispositivos sin problema mediante esta aplicación.

Y bien, sin mayor preámbulo, pasemos a la descripción de las clases y layouts necesarios para construir nuestra aplicación de prueba. Pueden encontrar en GitHub el CÓDIGO COMPLETO DEL PROYECTO.

Continue reading

Matriz de Competencias del Programador

Standard

Esta publicación es el resultado de la experiencia como programador y de la lectura de varios libros, no tanto de una tecnología o plataforma en concreto, si no más bien de conceptos, patrones y buenas prácticas.

En particular decidí escribir al respecto por un par de blogs y un libro que fueron seminales para esta idea:
– La discusión por la cuál nació la idea de este post, aquí se referencia la matriz, y a aparte hay una discusión muy interesante a favor y en contra de estos puntos.
– La matriz de la cual me tomé la libertad de traducir y agregar mis comentarios.
– 97 cosas que todo programador debería saber. A través de historias y anécdotas de programadores experimentados, van ilustrando algunos de los puntos considerados en esta matriz.
Cabe mencionar que más que volvernos expertos en herramientas, yo valoro los atributos como que este fuerte en los conceptos necesarios para ser programadores exitosos, ya que debido a la experiencia, las herramientas, frameworks, etc., pueden variar, pero las buenas bases y prácticas aceleran la adopción de nuevas tecnologías y mejora el desempeño de los equipos.
Gran parte de estos puntos los estamos utilizando activamente en Hunabsys, para definir que buscamos en nuestros equipos de desarrollo, en qué los vamos a entrenar y como base para seleccionar algún nuevo integrante.

Continue reading

Engranes helicoidales

Standard

Buen día compañeros del blog, este día nos adentraremos un poco más sobre el tema de los engranes dándole seguimiento al blog anterior, por lo que quiero compartir con ustedes esta información de importancia sobre los engranes helicoidales en sus generalidades.

El engranaje cilíndrico helicoidal es una rueda dentada que posee dientes inclinados oblicuos respecto al eje de rotación de la rueda. Esto hace que puedan transmitir potencia entre ejes paralelos. En estos engranajes el movimiento se transmite de modo igual a los engranajes rectos, pero con mayores ventajas. A medida que los engranes helicoidales giran, cada diente engrana primero en un lado, y posteriormente el contacto va aumentando hasta recorrer toda la anchura del diente conforme continúa la rotación.

Los dientes presentan inclinación a un cierto ángulo, a este ángulo se le denomina ángulo de hélice. Estos engranajes se consideran más silenciosos que los rectos y se emplean siempre que se trate de velocidades elevadas, necesitando cojinetes de empuje para contrarrestar la fuerza axial se puede utilizar un engranaje doble helicoidal ya que debido a la inclinación doble en sentido contrario de sus dientes se contrarrestan dichas fuerzas.

e1 Continue reading

Finite State Machines: Part II

Standard

In the last post i tried to explain what a finite state machine is (see here). In this post, we’ll talk about regular languages and the equivalence between deterministic finite state machines, often called deterministic finite automata (DFA), and nondeterministic finite state machines, often called nondeterministic finite automata (NDFA).

Equivalences

One might think that NDFAs can solve problems that DFAs cannot, but NDFAs are just as powerful as DFAs. However, a DFA will require many more states and transitions than a NDFA would take to solve the same problem. Continue reading

Introducción al CC 2541 (Parte 2) “HOLA MUNDO”

Standard

Hola compañeros, otra vez tengo la oportunidad de dirigirme a ustedes. En un post anterior les había hablado sobre el microcontrolador de texas instruments, el CC 2541, Entre varias características que contiene, podemos destacar el hecho de venir integrado con un ble 4.0 y de ser un micro de ultra bajo consumo. Entre otras cosas que ya hablamos en el anterior post: Introducción al cc 2541 (Parte 1).

Ahora, ya pasando la parte teórica, veremos a continuación un poco más lo que es la interfaz de programación, como tambien el codigo, cómo se divide para lograr entenderlo un poco mejor y así comenzar a experimentar con el, cómo ya no ver y pensar si esta en chino.

Para comenzar, debemos tener en cuenta algunas cosas. En primer lugar el micro se programa y compila con: embedded workbench 8051

La principal desventaja de este programa es que es de paga, por lo que la empresa nos ofrece 2 opciones: la primera probarlo por 30 días o códigos que pesen  4k o menos.

En segunda, debemos tener los drivers adecuados. Ademas, utilizaremos ejemplos para entender un poco mejor como funciona el micro: smartrftm studio y ble stack

Y nuestro software necesario para subir el codigo a nuestro micro: Flash Programmer

PROCEDIMIENTO.-
  1. Comenzamos por abrir nuestro entorno, nos encontraremos  una interfaz como esta:

cc2541

Continue reading

El problema que daña a la productividad

Standard

Hola, de nuevo, este momento de hacer una nota de Blog, en los siguientes seguiré hablando de productividad,

Documentar… A muchas personas les molesta documentar, lo  ven como algo inútil, una perdida de tiempo, algo poco funcional y para nada rentable; cuando escucho eso, pienso que esas personas deben tener una excelente memoria. Documentar no solo es para cumplir con una norma, o certificación, documentar nos sirve para evidenciar lo que hicimos de manera formal, conocernos a nosotros mismos y hacerles conocer a las personas que nos leerán en algún futuro lo que pueden o no hacer, brindarles un poco de nuestro conocimiento para que sepan que deben o no deben hacer para las mismas situaciones por las que ya hemos pasado. Además generamos evidencia de lo que se puede mejorar.

He leído algunos libros y muchos artículos  sobre productividad, y he notado que siempre hay un mal que acecha nuestras actividades, de dominarse pudiéramos lograr una productividad excelente.  Las distracciones, son el gran culpable detrás de uno de los mayores destructores de la productividad en la jornada del trabajo: el cambio de contexto.

¿Qué es el cambio de contexto?

Es la forma de estar saltando de una tarea a otra, sin que estas tengan alguna relación. Incluso si tienes la suerte de trabajar desde casa , el cambio de contexto sigue desviando de otras maneras tu productividad.

El cambio de contexto es una forma de multitarea, pero ser multitareas no es siempre bueno,  no se trata de responder distraídamente los correos durante la vídeo-conferencia, si ambas son importantes y demandan de nuestra atención es imposible que hagamos ambas bien.

Continue reading

Manejo de retardos con Interrupciones en Arduino

Standard

Que tal amigos lectores, me da gusto redactar nuevamente. Esta vez traigo ante ustedes algo muy breve, pero sin duda muy práctico. ¿Alguna vez han manejado Interrupciones en programación?, ¿Les parecen un pequeño dolor de cabeza?, ¿Alguna vez han tratado de evadirlas y al final terminan dándose cuenta que son realmente necesarias?. Si alguna de tus respuestas fue un si, tal vez esta información te pueda ayudar mucho. Si no tienes idea de lo que son las interrupciones te recomiendo dar un vistazo en cualquier sitio web de programación y podrás empaparte perfectamente de este concepto.

Continue reading

Finite State Machines

Standard

What is a Finite State Machine?

The simplest type of computing machine that is worth considering is called a ‘finite state machine’. Finite state machines may sound like a very dry and boring topic but they reveal a lot about the power of different types of computing machine. Every Turing machine includes a finite state machine so there is a sense in which they come first. They also turn out to be very useful in practice.

A finite state machine (sometimes called a finite state automaton) is a computation model that can be implemented with hardware or software and can be used to simulate sequential logic and some computer programs. Finite state automata generate regular languages. A regular language is a language that can be expressed with a regular expression or a deterministic or non-deterministic finite automata or state machine. A language is a set of strings which are made up of characters from a specified alphabet, or set of symbols. Regular languages are a subset of the set of all strings. Regular languages are used in parsing and designing programming languages and are one of the first concepts taught in computability courses. 

Continue reading