Stap 4: Seeed en Twitter
1. Knip gaten voor de USB en Ethernet en misschien een gat voor de macht jack desgewenst aan de macht van de arduino op die manier.
2. maakt een 2.5 in door 2.5 in 2.5 in vak van velum met de 2.5 in door te 5 in bodem open
3. tape het perkament naar de top van uw box over de BlinkM en beveiligen van alle onderdelen
4. download de TrueRandom http://code.google.com/p/tinkerit/wiki/TrueRandom,
NewSoftSerial http://arduiniana.org/libraries/newsoftserial/,
en Twitter http://www.arduino.cc/playground/Code/TwitterLibrary bibliotheken
5. upload deze code aan je 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 > /* Tekenreeks (voorheen TextString) Library door Tom Igoe de drukknop Boolean afgedrukt = true; int kleur; vluchtige lange reader1 = 0; #define 57337134 blauw lange prevTime; lange dec; int r = 0; #define addr 0x09 gebruikt voor het opslaan van de status van de pin (6) lange randNum1; String dataString; definiëren van de netwerkinstellingen voor de Ethernet-Shield Dit kan worden samengesteld krijg dit van de instellingen, dan veranderen de laatste byte om token: http://arduino-tweet.appspot.com/ prog_char words1_0 [PROGMEM] = "Rood"; prog_char words2_0 [PROGMEM] = "lights"; prog_char words3_0 [PROGMEM] = "slaap."; prog_char words4_0 [PROGMEM] = "Katten zijn geweldig."; PROGMEM const char * [words1_table] = {} PROGMEM const char * [words2_table] = {} PROGMEM const char * [words3_table] = {} PROGMEM const char * [words4_table] = {} char words1_buffer [7]; ongeldig reader1One(void) {} ongeldig reader1Zero(void) {}
op basis van Kittty Twitty Cat Toy v1.0
door Marc de Vinck
6-jan-2010
KittyTwitty kat speelgoed project gevonden in zorg, Volume 22
http://www.Arduino.CC/en/tutorial/TextString
*/
#define pushBtn 6
vluchtige int reader1Count = 0;
#define rode 23773468
#define groen 23805695
int card1;
int card2;
int count = 0;
int g = 0;
int b = 0;
var int;
lange randNum2;
lange randNum3;
lange randNum4;
lange prevtime =-30000;
byte mac [] {} =
0x1A, 0x6F, 0x99, 0xCD, 0xFF, 0xFF};
byte ip [] {} =
10,0,1,197};
Twitter van twitter("[your_token_here]");
prog_char words1_1 [PROGMEM] = "Groen";
prog_char words1_2 [PROGMEM] = "Blue";
prog_char words1_3 [PROGMEM] = "Geel";
prog_char words1_4 [PROGMEM] = "Purple";
prog_char words1_5 [PROGMEM] = "Cyaan";
prog_char words1_6 [PROGMEM] = "Wit";
prog_char words2_1 [PROGMEM] = "arts";
prog_char words2_2 [PROGMEM] = "gassen";
prog_char words2_3 [PROGMEM] = "cirkels";
prog_char words2_4 [PROGMEM] = "naalden";
prog_char words2_5 [PROGMEM] = "deurknoppen";
prog_char words2_6 [PROGMEM] = "sirens";
prog_char words3_1 [PROGMEM] = "walk.";
prog_char words3_2 [PROGMEM] = "leven.";
prog_char words3_3 [PROGMEM] = "bestaat.";
prog_char words3_4 [PROGMEM] = "waarnemen.";
prog_char words3_5 [PROGMEM] = "denken.";
prog_char words3_6 [PROGMEM] = "weergeven";
prog_char words4_1 [PROGMEM] = "Quilts smaak zoals peperkoek.";
prog_char words4_2 [PROGMEM] = "Metaal is zeer interactief.";
prog_char words4_3 [PROGMEM] = "Licht is straling.";
prog_char words4_4 [PROGMEM] = "Geluid is de wind.";
prog_char words4_5 [PROGMEM] = "Klokken maken een goed bed.";
prog_char words4_6 [PROGMEM] = "Glas is ondoorzichtig.";
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 {}
Deze code eenmaal uitvoeren
BlinkM_beginWithPower();
de btn definiëren als een input zodat kunnen wij het lezen
pinMode (pushBtn, INPUT);
seriële communicatie begint zodat u gemakkelijker kunt zuiveren
Serial.begin(9600);
DATA0 naar pin 2
attachInterrupt (0, reader1Zero, stijgt);
Data1 aan op pin 3
attachInterrupt (1, reader1One, stijgt);
for (int i = 2; ik < 4; i ++) {}
pinMode (ik, OUTPUT);
digitalWrite (i, hoge); inschakelen van interne pull up veroorzaakt een
digitalWrite (i, laag); uitschakelen interne pull up waardoor nul en dus een interrupt
pinMode (i, ingang);
digitalWrite (i, hoge); interne pull up inschakelen
}
reader1 = 0;
reader1Count = 0;
begint de Ethernet-verbinding van de opgeslagen informatie
Ethernet.begin (mac, ip);
connectToTwitter();
Serial.println("Waiting"); afdrukken, gebruikt voor foutopsporing
}
ongeldig connectToTwitter() {}
Print een lege regel, gebruikt voor foutopsporing
Serial.println ("aansluiten op Twitter..."); afdrukken, gebruikt voor foutopsporing
char testFN1[4]={int(random(4000,5000))};
Als (twitter.post(testFN1)) {/ / Twitter dat we gebruiksklaar zijn
int status = twitter.wait (& Serial); wacht op een antwoord van twitter
Als (status == 200) {/ / als Twitter reageert 200
Serial.println ("Tweet OK!"); afdrukken van succes / / print een lege regel, gebruikt voor foutopsporing
} else {}
Serial.Print ("Tweet is mislukt: code");
Serial.println(status); foutcode afdrukken
connectToTwitter(); Print een lege regel, gebruikt voor foutopsporing
}
} else {}
Serial.println ("verbinding mislukt.");
connectToTwitter();
}
}
void loop {}
over en voorbij lopen, nooit stoppen
readCard();
displayColor();
status van draad sensor
checkState();
}
ongeldig getString() {}
aaneengeschakeld gedicht
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";
}
ongeldig tweet() {}
functie tweet, dit heet als status = 1
char bestandsnaam [88];
dataString.toCharArray (filename, 88);
Serial.println ("aansluiten op Twitter..."); afdrukken, gebruikt voor foutopsporing
Serial.println(); Print een lege regel, gebruikt voor foutopsporing
Als (twitter.post(filename)) {}
Tweet van de ingevulde datastring van woorden
Serial.Print ("Tweeting--"); afdrukken, gebruikt voor foutopsporing
Serial.println(dataString); afdrukken, gebruikt voor foutopsporing
Serial.Print ("--Status:"); afdrukken, gebruikt voor foutopsporing
int status = twitter.wait();
Als (status == 200) {}
Serial.println("successful!");
Serial.println();
} else {}
Serial.Print ("Tweet is mislukt: code"); foutcode afdrukken
Serial.println(status); foutcode afdrukken
}
} else {}
Serial.println ("verbinding met Twitter is mislukt."); foutcode afdrukken
}
}
ongeldig readCard() {}
if(count<2) {}
Als (reader1Count > = 26) {}
int serialNumber = (reader1 >> 1) & 0x3fff;
int code = (reader1 >> 17) & 0x3ff;
DEC = (reader1 & 0xfffffff);
if(Count==0) {}
r = 0;
b = 0;
g = 0;
}
Serial.Print("DEC=");
Serial.println(DEC);
switch(DEC) {}
Case rood:
r = 255;
breken;
Case groen:
g = 255;
breken;
Case blauw:
b = 255;
breken;
standaard:
kleur = 0;
Serial.Print ("nieuwe tag");
Serial.Print(reader1& 0xFFFFFFF);
}
reader1 = 0;
reader1Count = 0;
afgedrukt = false;
} else if(reader1Count == 0) {}
}
Als (millis ()-prevTime > 2000) {}
Graaf ++;
prevTime=millis();
}
} else {}
Graaf = 0;
}
} //readCard()
VOID checkState() {/ / status van draad functie
if(!printed) {}
doStuff();
afgedrukt = true;
}
}
ongeldig displayColor() {}
Als (r == 255 & & g == 0 & & b == 0) {}
kleur = 0;
} else if (r == 0 & & g == 255 & & b == 0) {}
kleur = 1;
} else if (r == 0 & & g == 0 & & b == 255) {}
kleur = 2;
} else if (r == 255 & & g == 255 & & b == 0) {}
kleur = 3;
} else if (r == 255 & & g == 0 & & b == 255) {}
kleur = 4;
} else if (r == 0 & & g == 255 & & b == 255) {}
kleur = 5;
} else if (r == 255 & & g == 255 & & b == 255) {}
kleur = 6;
}
BlinkM_fadeToRGB(addr,r,g,b);
}
ongeldig doStuff() {}
randNum2 = random(7);
randNum3 = random(7);
randNum4 = random(7);
getString();
Tweet();
}
5. Sluit je Arduino aan de ethernet
6. test.