Instalar el editor de video Avidemux 2.6.8 en Ubuntu


Está disponible para su descarga la última versión de Avidemux, uno de los editores de video más veteranos en GNU/Linux, y que siempre ha sido de mis preferidos por su caracter multiplataforma y por proveer dos interfaces diferenciadas para GTK y QT, que nos permiten realizar las habituales tareas de conversión, corte y filtrado de video, manejando una buena cantidad de codecs y filtros.

La nueva versión mejora el soporte para x264, soluciona problemas en la detección de audio MP2, incluye soporte nativo para cortar y pegar, y también en la exportación de imágenes, entre otras muchas novedades y correcciones.

Vamos a ver como instalar la última versión 2.6.8:

Instalación en Ubuntu 12.04 ó 13.10

Avidemux 2.6.x está disponible mediante el repositorio GetDeb. tan solo tenemos que descargar e instalar este paquete deb (con GDebi por ejemplo) y después ejecutar en la terminal estos comandos:

  sudo apt-get update

   sudo apt-get install avidemux2.6-qt

Redimensionar imágenes en Ubuntu fácilmente

Los que trabajamos con imágenes que deben tener un determinado tamaño, como los bloggers, necesitan herramientas prácticas y rápidas para redimensionar imágenes con un tamaño determinado. Siempre puedes acudir a soluciones en linea como ciertas páginas que redimensionan imágenes de forma online, pero es mucho más rápido y sencillo desde una herramienta nativa en tu Ubuntu, como te vamos a explicar aquí. 

Existe un plugin muy práctico para Nautilus de GNOME, por tanto, no solo te valdrá para Ubuntu, sino para cualquier distro con este gestor de ficheros. Te permite redimensionar imágenes de una en una o hacer una selección y realizar el redimensionado de forma masiva, algo que se agradece cuando tienes muchas imágenes que redimensionar con un mismo tamaño. Para poder comenzar, solo hace falta instalarlo, y ya verás como es muy sencillo de usar.

Puedes instalarlo en tu distro desde una herramienta como el gestor de paquetes Synaptic, rápido y de forma gráfica o desde el terminal, tecleando los siguientes comandos:

    sudo apt-get install nautilus-image-converter

Para que el plugin surta efecto, debemos reiniciar el sistema o reiniciar Nautilus, si no quieres reiniciar el sistema completo, es más sencillo reiniciar Nautilus. Para ello puedes teclear lo siguiente:

    killall nautilus

Ahora ya tenemos el plugin funcionando y perfectamente integrado. Para redimensionar una imágen o grúpo de ellas, solo tienes que hacer clic con el botón derecho del ratón y seleccionar la opción “Redimensionar imágenes…” del menú que se despliega. Ahora te saldrá la ventana con las opciones de redimensión que puedes ver en la imagen de este artículo.




SERVOMOTOR MG995

Servomotor TowerPro MG995 con alto Torque, hasta 15Kg-cm. Robusto, alto rendimiento, compacto, con engranes de Metal, tamaño estándar, incluye accesorios y tornillos para montarlo en cualquier proyecto. Ideal para proyectos de Electronica, Robotica... etc.


Se puede utilizar con Arduino o cualquier Microcontrolador, compatible con tarjetas controladoras de Servos.

CARACTERÍSTICAS 
 
  • Dimensiones: 40.7 * 19.7 * 42.9mm
  • Peso: 55g
  • Torque: 8.5kg/cm (4.8V), 10kg/cm (6V)
  • Deadband settings: 4 microseconds
  • Tipo de conector: JR, FUTABA General, Conector universal para la mayoría de los receptores de radio control
  • Ángulo de rotación: Un máximo de 180º
  • Operating current: 100mA
  • Tensión de funcionamiento: 3-7.2V
  • Rango de Temperatura: -30 a +60 °C
  • Velocidad de Operación (4.8V sin carga): 0.2 seg / 60 grados
  • Velocidad de Operación (6V sin carga): 0.16 seg / 60 grados

CONEXIONES


Qué es y como instalar Geany en Ubuntu para programar en C

Geany es un editor de texto pequeño y ligero con características básicas de entorno de desarrollo integrado (IDE). Está disponible para distintos sistemas operativos, como GNU/Linux, Mac OS X y Microsoft Windows. Es distribuido como software libre bajo la Licencia Pública General de GNU.



Algunas de sus principales características:
  • Sirve para programar en varios lenguajes como C, Java, Pascal, HTML, CSS, PHP y muchos más. 
  • Se pueden gestionar proyectos grandes de forma sencilla. 
  • Tiene la función de autocompletado, con la cual hay que tener cuidado ya que nos puede llevar a cometer errores de sintaxis, pero siendo cuidadoso esta muy bien. 
  • Se le pueden instalar plugins para añadirle funcionalidades. 
  • El código se puede “plegar” por secciones, para tener una vista general de todo el texto. 
  • Es un entorno bastante ligero y fácil de usar. 
  • Colorea nuestro código en función del lenguaje que estemos usando para una más fácil búsqueda de textos. 
  • Permite búsqueda de textos concretos en el código. 
  • Está disponible para los principales sistemas operativos. Geany
  • Numeración de las líneas del documento.
Opciones para instalar Geany
  
1.- Instalar este programa en Ubuntu añadiendo el PPA correspondiente, para ello tenéis que abrir la Terminal y escribir el siguiente comando:

 sudo add-apt-repository ppa:geany-dev/ppa

Ahora toca recargar los repositorios de Ubuntu con este otro comando:

 sudo apt-get update 

Y por ultimo, ya hemos agregado el PPA, ahora solo nos falta instalar el programa con este otro comando:

sudo apt-get install geany geany-plugins

Ahora, después de que termine el proceso ya tendremos a nuestra disposición este excelente programa con el cual podremos escribir código.

2.- Instalar Geany directamente desde "Centro de software de Ubuntu"
Está disponible para ser instalado sin necesidad de acceder al terminal.


Una vez instalado el programa necesitamos configurar varios parámetros para compilar el código escrito en C y después ejecutar el programa generado.

Es necesario acceder al menú Construir y acceder a la opción Establecer comandos de construcción. Nos aparecerá una ventana donde tenemos que introducir los valores que faltan.


Pasos a seguir para compilar y ejecutar un programa con geany

  • Los ficheros se han de guardar en la carpeta personal.
  • Los ficheros tienen la extensión .c, Ejemplo: areaCirculo.c
  • Pulsar la tecla “F9” para compilar y construir el ejecutable.
  • A continuación pulsar  “F5” para ejecutar el programa.


La polea reductora

La polea reductora es un operador compuesto de un motor y una polea doble que están unidos mediante una correa.


Se emplea para transformar el movimiento rápido y con poca fuerza, del motor en el movimiento, más lento pero con mayor fuerza de la polea.

Entre otras aplicaciones, la polea reductora sirve para construir mecanismos que son capaces de elevar pesos, vehículos que se desplazan, etc... empleando para ello motores de poca potencia

Cómo construir una polea reductora

Si no se tiene una polea, se puede fabricar una utilizando cartón o contrachapado de 10 mm de grosor. El tamaño de esta polea dependerá de la carga y velocidad, cuanto mayor sea la carga, tanto mayor deberá ser el radio de la polea.



Se coloca la polea en un eje, fijando la polea a dicho eje, tiene que quedar solidaria a dicho eje. Si el eje se ha fabricado utilizando varilla roscada, la polea se fija mediante tuercas y arandelas.

A la hora de colocar el motor eléctrico , se tendrá en cuenta que:

Si el motor está muy lejos de la polea, cuando se unan, la goma elástica que los une quedará muy tensa y al motor le costará más trabajo hacer girar la polea.

  • Si el motor está muy próximo a la polea, la goma que los une estará poco tensa, el motor patinará y la polea no se moverá.

  • Si el eje del motor y el de la polea son convergentes, cuando giré el motor la gomilla se escapará .

  • Si el eje del motor y el de la polea son divergentes, la gomilla rozará con el motor y le hará perder fuerza.

Una vez que sabemos cuales son la posición y distancia adecuadas, se fija el motor a la base. Fijar el motor a la base

Se conecta la correa de la polea con el eje del motor.

¿Cómo es la estructura general de un programa en Arduino?

Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino 

La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen declaraciones, estamentos o instrucciones.

setup()

La función setup() se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de trabajo de los pins, o el puerto serie. Debe ser incluido en un programa aunque no haya declaración que ejecutar. Así mismo se puede utilizar para establecer el estado inicial de las salidas de la placa. 

loop()

Después de llamar a setup(), la función loop() hace precisamente lo que sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que el programa esté respondiendo continuamente ante los eventos que se produzcan en la placa.
//Declaración de las funciones y variables

void setup()
{
 // Funciones de inicialización que define el modo de los pines y del puerto USB
}

void loop()
{
//Funciones, estructuras de control y operadores que definen el funcionamiento de la placa

}


//Programa de ejemplo

int tiempoEncendido=1000; // Variable que establece el tiempo durante el cual el diodo se va a mantener encendido
int tiempoApagado=1000; // Variable que establece el tiempo durante el cual el diodo se va a mantener encendido

int pinDiodo=0; // Variable para establecer el pin donde va a esta conectado el diodo
void setup()
{
pinMode(pinDiodo, OUTPUT);
}

// El programa se ejecuta cíclicamente por tiempo indefinido
void loop()
{
digitalWrite(pinDiodo, HIGH); // Enciende el led
delay(tiempoEncendido); // Se mantiene encendido el tiempo establecido en la variable tiempoEncendido
digitalWrite(pinDiodo, LOW);  // Se apaga el diodo led
delay(tiempoApagado); //Se mantiene apagado el diodo led el tiempo establecido en la variable tiempoApagado
}

¿Qué es una instrucción?

Una instrucción puede ser considerada como un hecho o suceso de duración determinada que genera unos cambios previstos en la ejecución de un programa, por lo que debe ser una acción previamente estudiada y definida.

Ejemplos:

int n=0;
delay(1000);
adelante();

Tipos de instrucciones

Los tipos de instrucciones permitidos están definidos y determinados dentro de cada plataforma y  podemos encontrar las siguientes:
  • Instrucciones de definición de datos.
  • Instrucciones primitivas.
    • Instrucciones de entrada.
    • Instrucciones de salida.
    • Instrucciones de asignación.
  • Instrucciones compuestas
  • Instrucciones de salto.

Instrucciones primitivas

Se consideran como tales las instrucciones de entrada/salida y las instrucciones de asignación.


Instrucciones de entrada

Son aquellas instrucciones encargadas de recoger el dato de un periférico o dispositivo de entrada (sensor) y seguidamente almacenarlo en memoria en una variable previamente definida.

 
Ejemplos

digitalRead(num_del_pin); // Devuelve un valor digital (HIGH o LOW) leído desde el pin num_del_pin.

analogRead(num_del_pin);  //Devuelve un número que es la tensión  leída en el pin num_del_pin.


millis(); //Devuelve el tiempo em milisegundos, desde que se activó el programa.

Serial.read(); //Lee el puerto USB y devuelve el valor 0_255 del dato allí presente.


Instrucciones de salida

Son aquellas instrucciones encargadas de recoger los datos procedentes de variable o los resultados obtenidos de expresiones evaluadas y depositarlos en periféricos o dispositivos de salida.

Ejemplos

pinMode(numero_del_pin, modo); // Pone elpin numero_del_pin en  modo INPUT o OUTPUT.
digitalWrite(numero_del_pin, valor); // Escribe un valor digital ( HIGH o LOW)  en el pin numero_del_pin.
analogWrite(num_del_pin, valor _0_255); // Pone en el pin numero_del_pin una señal digital  PWM, proporcional al valor valor _0_255.


Instrucciones de asignación de datos

Son aquellas instrucciones utilizadas para informar al procesador del espacio que debe reservar en memoria para almacenar un dato mediante el uso de variables.

La definición consiste en indicar un nombre a través del cual haremos referencia al dato, un tipo para informar al procesador de las características y espacio que debe reservar en memoria y opcionalmente un valor inicial.

int n=0;  // Variable "n" de tipo entero y con el valor inicial 0.

nivel_ldr=leerEstadoLdr();  //Llamada a la función leerEstadoLdr y asignar el valor devuelto por dicha función a la variable nivel_ldr.

Instrucciones compuestas

Son aquellas instrucciones que no pueden ser ejecutadas directamente por el procesador, y están constituidas por un bloque de acciones agrupadas en subprogramas.

//Función para controlar el movimiento de subida de un puente levadizo

 void subir()
{
 analogWrite(EA, velocidad);
 digitalWrite(I1, HIGH);
 digitalWrite(I2, LOW);
}


Instrucciones de salto

Son aquellas instrucciones que alteran o rompen la secuencia de ejecución de un programa, perdiendo toda posibilidad de retornar el control de ejecución del programa al punto de llamada. El uso de este tipo de instrucciones debe quedar restringido y usarlo solo en excepciones.