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 > /* Biblioteca de la cadena (antes TextString) por Tom Igoe el botón de impreso booleano = true; int color; volátil reader1 largo = 0; #define azul 57337134 largo prevTime; largo dec; int r = 0; #define dirección 0 x 09 utilizado para almacenar el estado del pin (6) largo randNum1; Cadena dataString; definir la configuración de red para el Shield Ethernet Esto puede estar formado por obtener esta configuración, a continuación, cambiar el último byte para conseguir token: http://arduino-tweet.appspot.com/ prog_char words1_0 [] PROGMEM = "Rojo"; prog_char words2_0 [] PROGMEM = "luces"; prog_char words3_0 [] PROGMEM = "sueño."; prog_char words4_0 [] PROGMEM = "Los gatos son impresionantes."; Const char PROGMEM * words1_table [] = {} Const char PROGMEM * words2_table [] = {} Const char PROGMEM * words3_table [] = {} Const char PROGMEM * words4_table [] = {} char words1_buffer [7]; void reader1One(void) {} void reader1Zero(void) {}
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
http://www.Arduino.CC/en/Tutorial/TextString
*/
#define pushBtn 6
volátiles int reader1Count = 0;
#define 23773468 rojo
#define verde 23805695
card1 int;
int card2;
int cuenta = 0;
int g = 0;
int b = 0;
int var;
largo randNum2;
largo randNum3;
largo randNum4;
prevtime largo =-30000;
mac de bytes [] = {}
0x1A, 0x6F, 0x99, 0xCD, 0xFF, 0xFF};
byte ip [] = {}
10,0,1,197};
Twitter twitter("[your_token_here]");
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_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_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_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.";
words1_0,
words1_1,
words1_2,
words1_3,
words1_4,
words1_5,
words1_6};
words2_0, words2_1, words2_2, words2_3, words2_4, words2_5, words2_6};
words3_0, words3_1, words3_2, words3_3, words3_4, words3_5, words3_6};
words4_0, words4_1, words4_2, words4_3, words4_4, words4_5, words4_6};
char words2_buffer [10];
char words3_buffer [10];
char words4_buffer [30];
reader1Count ++;
reader1 = reader1 << 1;
reader1 | = 1;
}
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.