Paso 6: Descargue el código de
Las cuatro bibliotecas deben copiarse en el directorio de bibliotecas de Arduino y luego pueden ser importados como se muestra.
WorldMood/WorldMood.pde (ver más abajo) debe estar abierto en el entorno de desarrollo Arduino.
Deberá corregir el "[la red]" y "[su contraseña de la red]". por ejemplo.
#define red ("Mired")
#define clave ("micontraseña")
Entonces el esbozo (y bibliotecas) deben ser compiladas y subidas a la placa Arduino.
Ver arduino.cc/en/Hacking/LibraryTutorial
El próximo 5 pasos de programación sólo dan una descripción de cada uno de los componentes e incluyen las piezas más destacables del código fuente...
Actualización ***
Si tiene una placa nueva puede que necesite cambiar este
struct SPI_UART_cfg SPI_Uart_config = {0 x 50, 0 x 00, 0 x 03, 0 x 10};
a esto:
struct SPI_UART_cfg SPI_Uart_config = {0x60, 0 x 00, 0 x 03, 0 x 10};
Ver aquí para más información:
http://Forum.Sparkfun.com/viewtopic.php?f=13&t=21846&SID=24282242d4256db0c7b7e814d7ca6952&Start=15
http://www.Sparkfun.com/Commerce/product_info.php?products_id=9367
Fin de actualización ***
Instalación LED - sólo algunos pernos proporcionan 8-bit PWM (modulación por ancho de pulso) / / salida con la función analogWrite(). http://www.Arduino.CC/en/Main/ArduinoBoardDuemilanove / / PWM: 3,5,6,9,10,11 #defineredPin #definegreenPin (3) #definebluePin (5) (6) / retardo en ms entre versiones se descoloran / / max tiempo de fade = 255 * 15 = 3.825s #definefadeDelay (15) / / configuración de Wi-Fi #definenetwork ([la red]) #definepassword ([tu contraseña de la red]) #defineremoteServer ("twitter.com") constchar * moodNames [NUM_MOOD_TYPES] = {"amor", "alegría", "sorpresa", "enojo", "envidia", "tristeza", "miedo",}; constchar * moodIntensityNames [NUM_MOOD_INTENSITY] = {"suave", "considerablemente", "extremo",}; las relaciones de largo plazo entre tweets con contenido emocional / / as descubierto mediante el uso de la por debajo de los términos de búsqueda durante un período de tiempo. floattempramentRatios [NUM_MOOD_TYPES] = {0.13f, 0.15f, 0.20f, 0.14f, 0.16f, 0.12f, 0.10f,}; Estos números pueden ser ajustados para que el sistema sea más o menos reactivo / a ser más o menos susceptibles al ruido o a corto plazo resultados baches emocionales, como el deporte / / o grandes eventos, como el mundo desastres #define emotionSmoothingFactor (0.1f) #define moodSmoothingFactor (0.05f) #define moderateMoodThreshold (2.0f) #define extremeMoodThreshold (4.0f) / / ahorra batería, ponen de wifly a dormir por tanto tiempo entre búsquedas (en ms) #defineSLEEP_TIME_BETWEEN_SEARCHES (1000 * 5) / / cadenas de búsqueda tienda en memoria flash (programa) en lugar de SRAM. http://www.Arduino.CC/en/Reference/PROGMEM / / edit TWEETS_PER_PAGE si cambio el rpp valor prog_charstring_0 [] PROGMEM = "GET /search.json?q=\"i+love+you\"+OR+\"i+love+her\"+OR+\"i+love+him\"+OR+\"all+my+love\"+OR+\"i'm+in+love\"+OR+\"i+really+love\"& rpp = 30 & tipo_de_resultado = recientes"; [prog_charstring_1] PROGMEM = "GET /search.json?q=\"happiest\"+OR+\"so+happy\"+OR+\"so+excited\"+OR+\"i'm+happy\"+OR+\"woot\"+OR+\"w00t\"& rpp = 30 & tipo_de_resultado = recientes"; [prog_charstring_2] PROGMEM = "GET search.json?q=\"wow\"+OR+\"O_o\"+OR+\"can't+believe\"+OR+\"wtf\"+OR+\"unbelievable\"& rpp = 30 & tipo_de_resultado = recientes"; [prog_charstring_3] PROGMEM = "GET search.json?q=\"i+hate\"+OR+\"really+angry\"+OR+\"i+am+mad\"+OR+\"really+hate\"+OR+\"so+angry\"& rpp = 30 & tipo_de_resultado = recientes"; [prog_charstring_4] PROGMEM = "GET /search.json?q=\"i+wish+i\"+OR+\"i'm+envious\"+OR+ \"i'm+jealous\"+OR+\"i+want+to+be\"+OR+\"why+can't+i\"+ & rpp = 30 & tipo_de_resultado = recientes"; [prog_charstring_5] PROGMEM = "GET /search.json?q=\"i'm+so+sad\"+OR+\"i'm+heartbroken\"+OR+\"i'm+so+upset\"+OR+\"i'm+depressed\"+OR+\"i+can't+stop+crying\"& rpp = 30 & tipo_de_resultado = recientes"; [prog_charstring_6] PROGMEM = "GET /search.json?q=\"i'm+so+scared\"+OR+\"i'm+really+scared\"+OR+\"i'm+terrified\"+OR+\"i'm+really+afraid\"+OR+\"so+scared+i\"& rpp = 30 & tipo_de_resultado = recientes"; Asegúrese de cambiar esto Si edita el valor de rpp sobre el #defineTWEETS_PER_PAGE (30) PROGMEMconstchar * searchStrings [] = {string_0 string_1 string_2, string_3, string_4, string_5, string_6,}; voidsetup() {Serial.begin(9600); Delay(100); } voidloop() {/ / crear e inicializar los subsistemas WiFlywifly (red, contraseña, SLEEP_TIME_BETWEEN_SEARCHES, serie); WorldMoodworldMood (serie, emotionSmoothingFactor, moodSmoothingFactor, moderateMoodThreshold, extremeMoodThreshold, tempramentRatios); LEDled (serie, redPin, bluePin, greenPin, fadeDelay); TwitterParsertwitterSearchParser (serie, TWEETS_PER_PAGE); Wifly. RESET(); charsearchString [160]; mientras que (verdad) {para (inti = 0; i < NUM_MOOD_TYPES; i ++) {twitterSearchParser.Reset(); leer en nueva cadena SRAM de strcpy_P de memoria flash (searchString, (char *) pgm_read_word (&(searchStrings[i]))); boolok = false; intretries = 0; algunos código de recuperación si la solicitud web falla mientras (! ok) {ok = wifly. HttpWebRequest (remoteServer, searchString & twitterSearchParser); Si ()! ok) {Serial.println ("HttpWebRequest fallado"); reintentos ++; Si (> 3 reintentos) {wifly. RESET(); intentos = 0; }}} floattweetsPerMinute = twitterSearchParser.GetTweetsPerMinute(); depurar código Serial.println(""); Serial.Print(moodNames[i]); Serial.Print (": tweets por minuto ="); Serial.println(tweetsPerMinute); worldMood.RegisterTweets (i, tweetsPerMinute); } MOOD_TYPEnewMood = worldMood.ComputeCurrentMood(); MOOD_INTENSITYnewMoodIntensity = worldMood.ComputeCurrentMoodIntensity(); Serial.Print ("el estado de ánimo del mundo es... "); Serial.Print(moodIntensityNames[(int)newMoodIntensity]); Serial.Print(""); Serial.println(moodNames[(int)newMood]); LED. Colores (newMood (int), (int) newMoodIntensity); guardar la batería wifly. Sleep(); Espere hasta que es hora de que la próxima actualización de delay(SLEEP_TIME_BETWEEN_SEARCHES); Serial.println(""); } }