Poema caja de Twitter (4 / 8 paso)

Paso 4: Seeed y Twitter


1. Recorte los agujeros para el USB y Ethernet y tal vez un agujero para la toma de corriente Si desea alimentar el arduino de esa manera.

2. crear una en 2,5 por 2,5 por 2,5 en la caja de velo con el 2,5 por fondo 5 en abierto

3. Cinta vitela a la parte superior de la caja sobre lo BlinkM y asegurar todas las piezas

4. descargar el TrueRandom http://code.google.com/p/tinkerit/wiki/TrueRandom,
NewSoftSerial http://arduiniana.org/libraries/newsoftserial/,
y Twitter http://www.arduino.cc/playground/Code/TwitterLibrary bibliotecas

5. Añadir este código a tu Arduino

#include < TrueRandom.h >

#include < SPI.h >

#include < avr/pgmspace.h >

#include < Wire.h >

#include < BlinkM_funcs.h >

#include < Client.h >

#include < Ethernet.h >

#include < Server.h >

#include < Udp.h >

#include < EthernetDNS.h >

#include < Twitter.h >

/*
basado en el juguete de gato Twitty Kittty v1.0
por Marc de Vinck
06 de enero de 2010
KittyTwitty proyecto de juguete de gato en hacer, volumen 22

Biblioteca de la cadena (antes TextString) por Tom Igoe
http://www.Arduino.CC/en/Tutorial/TextString
*/

el botón de
#define pushBtn 6

impreso booleano = true;

int color;

volátil reader1 largo = 0;
volátiles int reader1Count = 0;

#define azul 57337134
#define 23773468 rojo
#define verde 23805695

largo prevTime;
card1 int;
int card2;
int cuenta = 0;

largo dec;

int r = 0;
int g = 0;
int b = 0;

#define dirección 0 x 09

utilizado para almacenar el estado del pin (6)
int var;

largo randNum1;
largo randNum2;
largo randNum3;
largo randNum4;

Cadena dataString;
prevtime largo =-30000;

definir la configuración de red para el Shield Ethernet

Esto puede estar formado por
mac de bytes [] = {}
0x1A, 0x6F, 0x99, 0xCD, 0xFF, 0xFF};

obtener esta configuración, a continuación, cambiar el último byte
byte ip [] = {}
10,0,1,197};

para conseguir token: http://arduino-tweet.appspot.com/
Twitter twitter("[your_token_here]");

prog_char words1_0 [] PROGMEM = "Rojo";
prog_char words1_1 [] PROGMEM = "Verde";
prog_char words1_2 [] PROGMEM = "Azul";
prog_char words1_3 [] PROGMEM = "Amarillo";
prog_char words1_4 [] PROGMEM = "Morado";
prog_char words1_5 [] PROGMEM = "Cyan";
prog_char words1_6 [] PROGMEM = "Blanco";

prog_char words2_0 [] PROGMEM = "luces";
prog_char words2_1 [] PROGMEM = «artes»;
prog_char words2_2 [] PROGMEM = "gases";
prog_char words2_3 [] PROGMEM = «círculos»;
prog_char words2_4 [] PROGMEM = "agujas";
prog_char words2_5 [] PROGMEM = "pomos";
prog_char words2_6 [] PROGMEM = "las sirenas";

prog_char words3_0 [] PROGMEM = "sueño.";
prog_char words3_1 [] PROGMEM = "walk.";
prog_char words3_2 [] PROGMEM = "vivir.";
prog_char words3_3 [] PROGMEM = "existe.";
prog_char words3_4 [] PROGMEM = "percibir.";
prog_char words3_5 [] PROGMEM = "pensar.";
prog_char words3_6 [] PROGMEM = "ver.";

prog_char words4_0 [] PROGMEM = "Los gatos son impresionantes.";
prog_char words4_1 [] PROGMEM = "Tejidos gusto jengibre.";
prog_char words4_2 [] PROGMEM = "El Metal es altamente interactivo.";
prog_char words4_3 [] PROGMEM = "La luz es radiación.";
prog_char words4_4 [] PROGMEM = "Sonido es el viento.";
prog_char words4_5 [] PROGMEM = "Relojes hacen una buena cama.";
prog_char words4_6 [] PROGMEM = "El vidrio es opaco.";

Const char PROGMEM * words1_table [] = {}
words1_0,
words1_1,
words1_2,
words1_3,
words1_4,
words1_5,
words1_6};

Const char PROGMEM * words2_table [] = {}
words2_0, words2_1, words2_2, words2_3, words2_4, words2_5, words2_6};

Const char PROGMEM * words3_table [] = {}
words3_0, words3_1, words3_2, words3_3, words3_4, words3_5, words3_6};

Const char PROGMEM * words4_table [] = {}
words4_0, words4_1, words4_2, words4_3, words4_4, words4_5, words4_6};

char words1_buffer [7];
char words2_buffer [10];
char words3_buffer [10];
char words4_buffer [30];

void reader1One(void) {}
reader1Count ++;
reader1 = reader1 << 1;
reader1 | = 1;
}

void reader1Zero(void) {}
reader1Count ++;
reader1 = reader1 << 1;
}

void setup() {}
ejecutar este código una vez
BlinkM_beginWithPower();

definir el btn como entrada por lo que podemos leerlo
pinMode (pushBtn, entrada);

comienza serie de comunicaciones por lo que puede depurar más fácilmente
Serial.Begin(9600);

Data0 al pin 2
attachInterrupt (0, reader1Zero, RISING);

Data1 a pin 3
attachInterrupt 1, reader1One, RISING;

para (int i = 2; i < 4; i ++) {}
pinMode (i, salida);
digitalWrite (i, alto); permiten tirar interno causando una
digitalWrite (i, LOW); desactivar la interna levantan causando cero y, por tanto, una interrupción
pinMode (, entrada);
digitalWrite (i, alto); permiten interno tire para arriba
}

reader1 = 0;
reader1Count = 0;

comienza la conexión Ethernet de la información almacenada
Ethernet.Begin (mac, ip);

connectToTwitter();

Serial.println("Waiting"); imprimir, utiliza para la depuración
}

void connectToTwitter() {}
imprimir una línea en blanco, utilizada para la depuración
Serial.println ("conexión a Twitter..."); imprimir, utiliza para la depuración

char testFN1[4]={int(random(4000,5000))};

Si (twitter.post(testFN1)) {/ / Twitter que estamos ya en funcionamiento
int estado = twitter.wait (y serie); esperar una respuesta de twitter
Si (status == 200) {/ / si Twitter responde 200
Serial.println ("Tweet OK!"); impresión de éxito / / imprimir una línea en blanco, utilizada para la depuración

} else {}
Serial.Print ("Tweet error: código");
Serial.println(Status); código de error de impresión
connectToTwitter(); imprimir una línea en blanco, utilizada para la depuración
}
} else {}
Serial.println ("fallada la conexión.");
connectToTwitter();
}
}

void loop() {}
ejecutar una y otra vez, nunca dejar de
readCard();
displayColor();

verificar estado de cables
checkState();
}

{} void getString()
concatena el poema
dataString = strcpy_P (words1_buffer, (char *) pgm_read_word (&(words1_table[color])));
dataString = dataString + strcpy_P (words2_buffer, (char *) pgm_read_word (&(words2_table[int(randNum2)])));

dataString = dataString + strcpy_P (words3_buffer, (char *) pgm_read_word (&(words3_table[int(randNum3)])));

dataString = dataString + strcpy_P (words4_buffer, (char *) pgm_read_word (&(words4_table[int(randNum4)])));

dataString = dataString + "-1000000000";
}

void tweet() {}
tweet de la función, esto se llama si estado = 1
char nombre [88];

dataString.toCharArray (filename, 88);

Serial.println ("conexión a Twitter..."); imprimir, utiliza para la depuración
Serial.println(); imprimir una línea en blanco, utilizada para la depuración
Si (twitter.post(filename)) {}
Tweet el datastring completado de palabras
Serial.Print ("Twitter--"); imprimir, utiliza para la depuración
Serial.println(dataString); imprimir, utiliza para la depuración
Serial.Print ("--estado:"); imprimir, utiliza para la depuración
int estado = twitter.wait();
Si (status == 200) {}
Serial.println("Successful!");
Serial.println();
} else {}
Serial.Print ("Tweet error: código"); código de error de impresión
Serial.println(Status); código de error de impresión
}
} else {}
Serial.println ("conexión a Twitter fallada."); código de error de impresión
}
}

void readCard() {}
if(Count<2) {}
Si (reader1Count > = 26) {}
int serialNumber = (reader1 >> 1) & 0x3fff;
int siteCode = (reader1 >> 17) & 0x3ff;
Dec = (reader1 y 0xfffffff);
{if(Count==0)}
r = 0;
b = 0;
g = 0;
}

Serial.Print("Dec=");
Serial.println(DEC);

{Switch(DEC)}
caso rojo:
r = 255;
rotura;

caja verde:
g = 255;
rotura;

caja azul:
b = 255;
rotura;

por defecto:
color = 0;

Serial.Print ("nueva etiqueta");
Serial.Print(reader1& 0xfffffff);
}

reader1 = 0;
reader1Count = 0;
imprimir = false;
} else if(reader1Count == 0) {}

}
Si (millis ()-prevTime > 2000) {}
cuenta ++;
prevTime=millis();
}

} else {}
cuenta = 0;
}

} //readCard()

void checkState() {/ / comprobar el estado de la función de alambre
{if(!Printed)}
doStuff();
imprimir = true;
}
}

void displayColor() {}
Si (r == 255 & & g == 0 & & b == 0) {}
color = 0;
} else if (r == 0 & & g == 255 & & b == 0) {}
color = 1;
} else if (r == 0 & & g == 0 & & b == 255) {}
color = 2;
} else if (r == 255 & & g == 255 & & b == 0) {}
color = 3;
} else if (r == 255 & & g == 0 & & b == 255) {}
color = 4;
} else if (r == 0 & & g == 255 & & b == 255) {}
color = 5;
} else if (r == 255 & & g == 255 & & b == 255) {}
color = 6;
}
BlinkM_fadeToRGB(addr,r,g,b);
}

void doStuff() {}
randNum2 = random(7);
randNum3 = random(7);
randNum4 = random(7);
getString();
Tweet();
}

5. Conecte su Arduino ethernet

6. prueba.

Artículos Relacionados

Twitter Mood Light - humor del mundo en una caja de

Twitter Mood Light - humor del mundo en una caja de

¿Cómo se siente el mundo ahora mismo? Este cuadro le indica.Desarrollado por: un Arduino, un WiFly wireless módulo, un LED RGB, Twitter.com y una batería de 9v.Soy un adicto a la noticia. Quiero saber todo lo que está sucediendo en el mundo tan pront
Básico Modular múltiples marcos para bicicletas de carga - corte del laser hermético apilable cajas

Básico Modular múltiples marcos para bicicletas de carga - corte del laser hermético apilable cajas

Los marcos múltiples básicos para bicicletas de carga es el primer bloque de edificio en nuestra plataforma de código abierto Vélo M², un ecosistema donde ofrecemos la electricidad solar y energía del pedal y los planes de construir módulos a su imag
Cámara trampa subir Twitter con Edison de Intel

Cámara trampa subir Twitter con Edison de Intel

Cámaras trampa es cámaras especialmente diseñadas para capturar imágenes de animales de una fauna y flora. Con esto se pretende estudiar el ecosistema de los animales en el bosque. Esta cámara está equipada por movimiento cencors que censurar pir. Si
Flone Quadcopter transporte caja

Flone Quadcopter transporte caja

Se trata de una caja de transporte Flone Quadcopter.Esta caja de transporte está diseñada sin las tuercas o tornillos con una diapositiva de la puerta para llevar un kit completo de drone: marco y hélices, cardán, algunas baterías, incluso el cargado
Personalizada en forma de cajas de madera

Personalizada en forma de cajas de madera

En nuestra última instructable le mostramos cómo hacer un corazón en forma de caja de madera, así que pensamos que esta vez nos mostraría cómo dibujar cualquier caja de la forma que desee.Utilizamos Inkscape para hacer todo de nuestro dibujo, es libr
Galleta de la fortuna teller con partícula fotón, thethings.iO y Twitter

Galleta de la fortuna teller con partícula fotón, thethings.iO y Twitter

En este instructivo vamos a construir y programa una impresionante galleta de la fortuna teller, con el fotón partícula ligada al thethings.iO via mqtt y Twitter vía solicitudes de api.Funcionalidad deseada:-Cada vez que se pulsa el botón (conectado
Convertir su caja de embalaje del IPhone en un casco de realidad Virtual

Convertir su caja de embalaje del IPhone en un casco de realidad Virtual

Let ' s go DIY. Aquí está una manera simple y elegante para convertir cualquier contenedor en un casco de vr.Paso 1: Utilizar este materialEn este tutorial, usamos caja de iPhone. También se puede utilizar cualquier caja de dos piezas similar que se
Desconcierto del tesoro abre usando twitter y energía inalámbrica

Desconcierto del tesoro abre usando twitter y energía inalámbrica

Un regalo sorprendente! Mi "víctima" se da tres cajas:Una caja muy pequeña encerrados con cadenas y un candado.Una pequeña caja cerrada con ningunos bolsas de exterior, que está cerrada y tiene una tapa superior reflexiva.Una gran pirata-y la ca
Garduino actualización, ahora con Twitter más!

Garduino actualización, ahora con Twitter más!

Hace unos meses me encontré con dos grandes instructables.  El primero fue el Garduino, un jardín de arduino controlado para ayudar a crecer las plantas en casa.  El segundo fue el Tweet-a-Watt, un proyecto que enseña a controlar su consumo de energí
Twitter seguimiento juguete construido con LEGO y Arduino

Twitter seguimiento juguete construido con LEGO y Arduino

Se trata de un juguete LEGO animado que monitorea twitter y celebra cada vez que encuentra una nueva ocurrencia del hashtag #BLOCKSHELL que suena una campana, una luz intermitente y enviando a un poco huevón activista minfigure encima de la superestr
Caja de galletas - Cookie Monster segura de mantequilla

Caja de galletas - Cookie Monster segura de mantequilla

Este proyecto fue parte de la construcción de colaboración fueron un montón de otros carpintero de vino de Europa para crear algo que presenta o sirviendo una especialidad local de producto o alimentos y la construcción en un video en Youtube. Decidí
Juego de tronos con temas de LED de ajedrez caja

Juego de tronos con temas de LED de ajedrez caja

¡Hola a todos! En este video se puede ver mi proceso de hacer un juego de tronos el conjunto del ajedrez de LED temática para mi hijo adolescente. He usado un ajedrez de cristal baratos set ganado en un arcade (pero puede encontrarse en Amazon o EBay
Día de San Valentín caja de madera

Día de San Valentín caja de madera

Aunque hice este cuadro para llevar los anillos para nuestra boda, que sería el ideal de San Valentín para tu alma gemela. Está construido de madera de cerezo envejecido de la granja donde me crié y de arce duro. El M + K soporte para Michael y Kim.
IoT de Twitter Sentry Ward usando Intel Edison

IoT de Twitter Sentry Ward usando Intel Edison

¿Nunca se sentó en su escritorio y se preguntó lo que estaba sucediendo detrás en casa? ¿Tal vez usted quería ver cómo era su bebé? Tal vez usted quería asegurarse de que el perro no estaba sentado en el sofá o tal vez solo disfrutar de la vista fuer