e-interiores Headline Animator

Mostrando entradas con la etiqueta arduino. Mostrar todas las entradas
Mostrando entradas con la etiqueta arduino. Mostrar todas las entradas

9.11.07

Clónicos de arduino: freeduino

Acaba de llegarme un paquete con kit para montar clónicos de arduino de ModernDevices. ¿por que no usar los propios kit de arduino? porque dan mayor facilidad para hacer prototipos (pueden usar conectores machos o hembra), ocupan menos espacio y además son más baratos.

Freeduino BBB Este es el modelo BBB que se conectar de modo sencillo a una placa de prototipo y que además que facilita conectar directamente servos de radiocontrol u otros aparatos que requieren conexión de alimentación directamente.

Freeduino rBBB

Este otro, el modelo rBBB es realmente minimalista y permite usar la placa de prototipos porque tiene sepados las dos filas de contactos (sé que no me explico, prometo imágenes cuando los monte.

Ninguno de los dos modelos dispone de conexión usb, por lo que necesitamos un cable exterior o bien usar otra placa arduino que si lo tiene.

Otra ventaja de estas placas es que disponen de un bootloader más avanzado (sin los retardos del original) y que además soportan el nuevo reset por software.

Tengo que decir que el trato ha sido excelente, enviándome kit que de hecho aún no comercializa y usando una forma de envío superior a la que yo solicité y pagué (gracias Paul!!), porque pensaba que se había retrasado en envío. Resumiendo: atención exquisita al cliente.

En breve las tendré montadas con fotografías del proceso. Prometido.

5.10.07

ds18x20 con Arduino (midiendo la temperatura)

Desde hace tiempo tengo conectado un arduino a mi mini-itx
Por ahora solo monitorizo la temperatura de la cpu, disco duro, fuente de alimentación y exterior. Como sensores uso ds18x20 de Maxim (Gracias maxim por esos excelentes samples)
Arduino busca los sensores que hay en su red filtra los que son del tipo sensor de temperatura y les pide su valor. Dado que cada uno de ellos tiene un id interno único, es posible identificarlos. Posterioremente se envía el id del sensor y la temperatura leida por el puerto serie.
En el pc hay un programa c# (mono) que lee el puerto serie, traduce el id a un nombre dado y añade la fecha y hora de la lectura.
El código fuente de arduino:



#include
/* OneWire en Arduino
Descargamos el código fuente de aquí */

/* DS18S20 Temperature chip i/o */

OneWire ds(10); // on pin 10

void setup(void) {
Serial.begin(57600);
}

void loop(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
ds.reset_search();
return;
}

Serial.print("R");
for( i = 0; i < 8; i++) {
Serial.print("-");
if(addr[i]<16)
Serial.print(0);
Serial.print(addr[i], HEX);
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n");
return;
}

if ( addr[0] != 0x10) {
Serial.print("Device is not a DS18S20 family device.\n");
return;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.

present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
int HighByte=data[0];
int LowByte=data[1];

// Teniendo LowByte y HighByte
int TReading = (HighByte << 8) + LowByte;
int SignBit = TReading & 0x8000; // test most sig bit
if (SignBit) // negative
{
TReading = (TReading ^ 0xffff) + 1; // 2's comp
}
int Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25

int Whole = Tc_100 / 100; // separate off the whole and fractional portions
int Fract = Tc_100 % 100;

Serial.print(":");
Serial.print(HighByte/2);
Serial.print(".");
Serial.print(LowByte/2);
Serial.print(":");
Serial.print(TReading);

Serial.println();
}


Fuentes: Arduino playground, foros de arduino y phanderson

30.5.07

Arduino en ubuntu

Para instalar arduino en ubuntu (en linux en general) necesitamos
* sun's java runtime (jre)
* avr-gcc (aka "gcc-avr")
* avr-libc
Los instalamos:
sudo apt-get install sun-java5-jre gcc-avr avr-libc
Ubuntu 7 instala por defecto un programa que accede los puertos series para autodetectar dispositivos. Se trata de brltty un programa que permite acceder a personas ciegas a la consola desde un dispositivo especial. Si no se usa lo desistalamos.
sudo apt-get remove brltty
Descargamos arduino, descomprimimos tar zxvf arduino-0007-linux.tgz .
Conectamos nuestro arduino, comprobamos que se detecta con dmesg y lo ejecutamos.
Si todo ha ido bien tendremos como opción /dev/usb0 en la configuración del puerto serie y a volar!!!!

28.11.06

Arduino

Traducido de su propia página

Arduino es una plataforma de código libre de computación física formada por una simple placa de entrada salida y un entorno de desarrollo para escribir el software que ejecutaremos en Arduino. El lenguaje de programación es una implementacion de Wiring desarrollado él mismo en Processing.

Todo el proyecto (tanto software como hardware) se publica bajo la licencia Creative Commons.
La placa USB tiene este aspecto



Se pueden ver las opciones de compra aquí, aunque lo suyo es construírsela uno mismo, obteniendo el diseño de las placas y luego soldando los componentes o bien usando una placa de prototipado .
El entorno de programación está disponible para Windows, Mac y Linux, aunque en Linux hay que compilarlo uno mismo. Asunto que me dispongo a realizar en breve.

Para ver qué hace la gente con Arduino nada más que mirar en del.icio.us (entre los que estarán mis enlaces) y flickr