Stap 6: De code downloaden
De vier bibliotheken moeten worden gekopieerd naar de Arduino library directory en dan ze kunnen worden geïmporteerd zoals.
WorldMood/WorldMood.pde (zie hieronder) moeten worden geopend in de Arduino-ontwikkelomgeving.
U wilt vervolgens corrigeren de "[uw netwerk]" en "[uw netwerkwachtwoord]" velden. bv.
#define netwerk ("mynetwork")
#define wachtwoord ('mijnwachtwoord')
Vervolgens de schets (bibliotheken) moeten worden gecompileerd en geüpload naar de Arduino board.
Zie arduino.cc/en/Hacking/LibraryTutorial
De volgende 5 stappen net programmering geven een overzicht van elk van de onderdelen en de meest opvallende onderdelen van de broncode bevatten...
Update ***
Hebt u een nieuwere bord dan moet je kan om dit te veranderen
struct SPI_UART_cfg SPI_Uart_config = {0x50, 0x00, 0x03, 0x10};
daartoe:
struct SPI_UART_cfg SPI_Uart_config = {0x60, 0x00, 0x03, 0x10};
Zie hier voor meer info:
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
Einde Update ***
LED installatie - alleen sommige pennen bieden 8-bit PWM (Pulsbreedtemodulatie) / / output met de analogWrite() functie. http://www.Arduino.CC/en/Main/ArduinoBoardDuemilanove / / PWM: 3,5,6,9,10,11 #defineredPin (3) #definegreenPin (5) #definebluePin (6) / / vertraging in ms tussen vervagen updates / / max fade tijd 255 * 15 = 3.825s = #definefadeDelay (15) / / Wifi setup #definenetwork ([uw netwerk]) (hierna: [uw netwerkwachtwoord]) #definepassword #defineremoteServer ("twitter.com") constchar * moodNames [NUM_MOOD_TYPES] = {"love", "vreugde", "verrassing", "woede", "afgunst", "verdriet", "angst",}; constchar * moodIntensityNames [NUM_MOOD_INTENSITY] = {"mild", "aanzienlijke", "extreme",}; de lange termijn verhoudingen tussen tweets met emotionele inhoud / / zoals wordt ontdekt met behulp van de onderstaande zoektermen over een periode van tijd. floattempramentRatios [NUM_MOOD_TYPES] = {0.13f, 0.15f, 0.20f, 0.14f, 0.16f, 0.12f, 0.10f,}; Deze getallen kan worden getweaked om het systeem meer of minder reactief / / als meer of minder gevoelig voor lawaai of korte termijn resultaten emotionele blips, zoals sport / / of grotere evenementen, zoals de wereld rampen #define emotionSmoothingFactor (0.1f) #define moodSmoothingFactor (0.05f) #define moderateMoodThreshold (2.0f) #define extremeMoodThreshold (4.0f) / / opslaan batterij, zet de wifly slapen zo lang tussen zoekopdrachten (in ms) #defineSLEEP_TIME_BETWEEN_SEARCHES (1000 * 5) / / Store zoek snaren in het geheugen van de flits (programma) in plaats van SRAM. http://www.Arduino.CC/en/Reference/PROGMEM / / TWEETS_PER_PAGE bewerken als het veranderen van het rpp prog_charstring_0 [PROGMEM waarde] = "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 & result_type = recente"; 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 & result_type = recente"; prog_charstring_2 [PROGMEM] = "GET search.json?q=\"wow\"+OR+\"O_o\"+OR+\"can't+believe\"+OR+\"wtf\"+OR+\"unbelievable\"& rpp = 30 & result_type = recente"; 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 & result_type = recente"; 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 & result_type = recente"; 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 & result_type = recente"; 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 & result_type = recente"; Zorg ervoor dat u deze wijzigen als u de waarde van het rpp boven #defineTWEETS_PER_PAGE (30) bewerken PROGMEMconstchar * [searchStrings] = {string_0, string_1, string_2, string_3, string_4, string_5, string_6,}; voidsetup() {Serial.begin(9600); delay(100); } voidloop() {/ / maken en initialiseren van de subsystemen WiFlywifly (netwerk, wachtwoord, SLEEP_TIME_BETWEEN_SEARCHES, serieel); WorldMoodworldMood (serieel, emotionSmoothingFactor, moodSmoothingFactor, moderateMoodThreshold, extremeMoodThreshold, tempramentRatios); LEDled (serieel, redPin, greenPin, bluePin, fadeDelay); TwitterParsertwitterSearchParser (serieel, TWEETS_PER_PAGE); WiFly. Reset(); charsearchString [160]; terwijl (waar) {voor (inti = 0; ik < NUM_MOOD_TYPES; i ++) {twitterSearchParser.Reset(); voorlezen in nieuwe zoekreeks SRAM van flash-geheugen strcpy_P (searchString, (char *) pgm_read_word (&(searchStrings[i]))); boolok = false; intretries = 0; Wat herstel code als de webaanvraag mislukt terwijl (! ok) {ok = wifly. HttpWebRequest (remoteServer, searchString, & twitterSearchParser); Als ()! ok) {Serial.println ("HttpWebRequest mislukt"); pogingen ++; Als (> 3 pogingen) {wifly. Reset(); pogingen = 0; }}} floattweetsPerMinute = twitterSearchParser.GetTweetsPerMinute(); debug-code Serial.println(""); Serial.Print(moodNames[i]); Serial.Print (": tweets per min ="); Serial.println(tweetsPerMinute); worldMood.RegisterTweets (i, tweetsPerMinute); } MOOD_TYPEnewMood = worldMood.ComputeCurrentMood(); MOOD_INTENSITYnewMoodIntensity = worldMood.ComputeCurrentMoodIntensity(); Serial.Print ("The Mood van de wereld is... "); Serial.Print(moodIntensityNames[(int)newMoodIntensity]); Serial.Print(""); Serial.println(moodNames[(int)newMood]); geleid. SetColor (newMood (int), newMoodIntensity (int)); Sla de wifly batterij. Sleep(); wachten tot het is tijd voor de volgende update delay(SLEEP_TIME_BETWEEN_SEARCHES); Serial.println(""); } }