martes, 26 de abril de 2016

Scratch for Arduino S4A

Prometec está publicando una serie de artículos sobre Scratch for Arduino (S4A) orientado básicamente a la introducción de los niños a la programación.


He añadido los enlaces de los tutoriales que por ahora se han publicado y seguiré añadiendo los enlaces a los futuros tutoriales que prometec publique.

sábado, 12 de marzo de 2016

Nueva versión del IDE de Arduino

Esta nueva versión del IDE de Arduino añade soporte para escalar el interfaz compatible con los monitores UHD: si el IDE es demasiado pequeño debido a que su resolución de pantalla es muy alto o simplemente porque desea que sea más grande.

Otra mejora es que el IDE ahora recuerda la última posición de la ventana, resuelve algunos bug, etc. Para ver la lista completa consulta el siguiente enlace.

Resumen de nuevos enlaces

Resumen de los últimos enlaces añadidos a las diferentes secciones


Arduino:

ESP8266:

lunes, 29 de febrero de 2016

Versión 3 de la Raspberry Pi

Según los datos oficiales, la Raspberry Pi 3 seguirá costando 35 dólares, igual que Raspberry Pi 2. Incluye soporte WiFi 802.11n y Bluetooth LE 4.1, Cuenta con un nuevo procesador de 64 bits a 1.2GHz con cuatro núcleos (ARM Cortex-A53). Los desarrolladores aseguran que el nuevo procesador es diez veces más potente que el de una Raspberry original y un 50% más rápida que la segunda Raspberry. La memoria RAM se mantiene en 1GB.


Las primeras imágenes que se han filtrado parecen apuntar a un diseño de las Raspberry Pi 3 prácticamente idéntico al de la actual versión manteniendo las mismas dimensiones que la Raspberry Pi 2, con cuatro puertos USB, el puerto Ethernet (quizás Gigabit Ethernet), la ranura SD, el puerto HDMI y por supuesto el puerto GPIO.

Visto en xataka

sábado, 27 de febrero de 2016

Error en la versión esp8266 2.1.0 de Arduino IDE

Esta mañana al iniciar el IDE de Arduino me indicó el gestor de tarjetas que había una actualización para el módulo ESP8266. La anterior versión era la 2.0.0 y se actualizó a la 2.1.0. A partir de ese momento, no pude programar correctamente el módulo.

Después de varios intentos infructuosos he vuelto a instalar la versión 2.0.0 seleccionando dicha versión en el Gestor de tarjetas y todo ha vuelto a la normalidad.


Para realizar esta operación ha de ir al menú Herramientas - Placa - Gestor de Tarjetas y seleccionar esp8266. Luego, en Seleccione versión elegir 2.0.0 y click en Instalar.

domingo, 7 de febrero de 2016

Variando la intensidad de un led por bluetooth

Este proyecto tiene como objetivo el variar la intensidad de un led mediante una aplicación android instalada en un dispositivo conectado con el Arduino UNO a través de bluetooth. Este proyecto es muy parecido al realizado en esta entrada con la salvedad de que variamos la intensidad del led utilizando modulación por ancho de pulso (PWM).

En arduino utilizamos la función analogWrite(pin, value) que escribe un valor pseudo-analógico usando PWM en un pin de salida. Esta función está activa para los pines 3, 5, 6, 9, 10 y 11 de Arduino UNO.

Puede especificarse un valor de 0 - 255: un valor 0 genera 0 V en el pin especificado y 255 genera 5 V. Para valores de 0 a 255, el pin alterna rápidamente entre 0 V y 5 V (cuanto mayor sea el valor, más a menudo el pin se encuentra en HIGH (5 V). Por ejemplo, un valor de 64 será 0 V tres cuartas partes del tiempo y 5 V una cuarta parte. Un valor de 128 será 0 V la mitad del tiempo y 5 V la otra mitad. Un valor de 192 será 0 V una cuarta parte del tiempo y 5 V tres cuartas partes.

El esquema del montaje es sencillo:

Conectamos el módulo HC-06 al Arduino UNO (RX - TX) y un led al puerto 5.

El código completo de arduino es el siguiente:

char dato;
String comando;
#define led 5

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
  analogWrite(led,255);
  delay(1000);
  analogWrite(led,0);
  delay(10);
  Serial.println("Preparado...");
}

void LeerPuertoSerie() {
  comando = "";
  while(Serial.available()){
    delay(10);
    if (Serial.available() > 0){
      dato = Serial.read();
      comando += dato;
    }
  }
}
void loop(){
  LeerPuertoSerie();
  if (comando.length() > 0){
    Serial.println(comando);
    if (comando == "ON") {
        analogWrite(led,255);
        delay(10);
        comando == "";
    } else {
      if (comando == "OFF") {
        analogWrite(led,0);
        delay(10);
        comando == "";
      } else {
        if ((comando.toInt()>=0)&&(comando.toInt()<=255)) {
        analogWrite(led, comando.toInt());
          delay(10);
        }
      }
    }
  }
}



El programa lee el puerto serie y espra a recibir un comando:
ON: Enciende el led con la intensidad máxima
analogWrite(led,255);

OFF: Apaga el led
analogWrite(led,0);

Valor : si recibe un número comprendido entre 0 y 255, ilumina el led según dicho valor.
analogWrite(led, comando.toInt());

Utilizando App Inventor creamos nuestro programa:



Bloques de inicialización de variables e inicio del programa:


Bloques para salir del programa, desconectar y conectar con el módulo bluetooth:


  Bloque para desconexión:


Bloque que envía el comando ON (para enviar el comando OFF es similar):


Bloque que enviá el valor del slide:


Si deseas tener más conocimientos sobre la programación con App Inventor no dejes de visitar AppInventor a muete.

En este enlace puedes descargar la aplicación para tu dispositivo android. Las fuentes del programa las puedes descargar de aquí.

Fuentes: