Étape 4: Seeed et Twitter
1. découper les trous pour l’USB, Ethernet et peut-être un trou pour la prise d’alimentation si vous voulez alimenter l’arduino comme ça.
2. créer une 2,5 po de 2,5 po par boîte de 2,5 po du voile du palais avec le 2,5 po en bas de 5 po ouvert
3. ruban adhésif le vélin vers le haut de votre boîte sur la BlinkM et de fixer toutes les pièces
4. Télécharger le TrueRandom http://code.google.com/p/tinkerit/wiki/TrueRandom,
NewSoftSerial http://arduiniana.org/libraries/newsoftserial/,
et les bibliothèques de Twitter http://www.arduino.cc/playground/Code/TwitterLibrary
5. Envoyez ce code à votre 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 > /* Bibliothèque de chaînes (anciennement TextString) par Tom Igoe le bouton poussoir Boolean imprimé = true ; couleur intérieurs ; volatils reader1 long = 0 ; #define bleu 57337134 long prevTime ; long déc ; int r = 0 ; #define addr 0 x 09 utilisé pour stocker l’état de la broche (6) long randNum1 ; DataString chaîne ; définir les paramètres du réseau pour le Shield Ethernet Cela peut être constitué obtenir cette information de paramètres, puis modifier le dernier octet pour obtenir le jeton : http://arduino-tweet.appspot.com/ prog_char words1_0 [] PROGMEM = "Red" ; prog_char words2_0 [] PROGMEM = "voyants" ; prog_char words3_0 [] PROGMEM = "sommeil." ; prog_char words4_0 [] PROGMEM = "Chats sont impressionnants." ; Les const char PROGMEM * [] words1_table = {} Les const char PROGMEM * [] words2_table = {} Les const char PROGMEM * [] words3_table = {} Les const char PROGMEM * [] words4_table = {} char words1_buffer [7] ; void reader1One(void) {} void reader1Zero(void) {}
basé sur le jouet pour chat Twitty Kittty v1.0
par Marc de Vinck
6 janvier 2010
KittyTwitty projet de jouet chat trouvé dans MAKE, Volume 22
http://www.Arduino.cc/en/Tutorial/TextString
*/
#define pushBtn 6
volatile int reader1Count = 0 ;
#define 23773468 rouge
#define vert 23805695
carte1 int ;
card2 int ;
int count = 0 ;
g int = 0 ;
int b = 0 ;
var int ;
long randNum2 ;
long randNum3 ;
long randNum4 ;
long prevtime =-30000 ;
la mac de Byte [] = {}
0x1A, 0x6F, 0x99, 0xCD, 0xFF, 0xFF} ;
la propriété intellectuelle de Byte [] = {}
10,0,1,197} ;
Twitter twitter("[your_token_here]") ;
prog_char words1_1 [] PROGMEM = "Vert" ;
prog_char words1_2 [] PROGMEM = "Blue" ;
prog_char words1_3 [] PROGMEM = "Jaune" ;
prog_char words1_4 [] PROGMEM = "Purple" ;
prog_char words1_5 [] PROGMEM = "Cyan" ;
prog_char words1_6 [] PROGMEM = "Blanc" ;
prog_char words2_1 [] PROGMEM = "arts" ;
prog_char words2_2 [] PROGMEM = "gaz" ;
prog_char words2_3 [] PROGMEM = « cercles » ;
prog_char words2_4 [] PROGMEM = "aiguille" ;
prog_char words2_5 [] PROGMEM = "poignées" ;
prog_char words2_6 [] PROGMEM = "sirènes" ;
prog_char words3_1 [] PROGMEM = "marcher." ;
prog_char words3_2 [] PROGMEM = "vivre." ;
prog_char words3_3 [] PROGMEM = "existe." ;
prog_char words3_4 [] PROGMEM = "percevoir." ;
prog_char words3_5 [] PROGMEM = "pense." ;
prog_char words3_6 [] PROGMEM = "voir." ;
prog_char words4_1 [] PROGMEM = "Quilts goût pain d’épice." ;
prog_char words4_2 [] PROGMEM = "Métal est hautement interactif." ;
prog_char words4_3 [] PROGMEM = "Lumière est rayonnement." ;
prog_char words4_4 [] PROGMEM = "Sound est le vent." ;
prog_char words4_5 [] PROGMEM = "Horloges font un bon lit." ;
prog_char words4_6 [] PROGMEM = "Le verre est opaque." ;
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() {}
exécutez ce code une fois
BlinkM_beginWithPower() ;
définir le btn comme intrant, ainsi nous pouvons lire
pinMode (pushBtn, entrée) ;
démarre la communication série donc vous pouvez déboguer plus facilement
Serial.Begin(9600) ;
DATA0 sur broche 2
attachInterrupt (0, reader1Zero, RISING) ;
Data1 à la broche 3
attachInterrupt 1, reader1One, RISING ;
pour (int i = 2; i < 4; i ++) {}
pinMode (i, sortie) ;
digitalWrite (i, HIGH) ; activez l’arrachage par causer un
digitalWrite (i, faible) ; désactiver l’arrachage par causer de zéro et donc une interruption
pinMode (i, entrée) ;
digitalWrite (i, HIGH) ; activez l’arrachage des
}
Reader1 = 0 ;
reader1Count = 0 ;
commence la connexion Ethernet de l’information stockée
Ethernet.Begin (mac, ip) ;
connectToTwitter() ;
Serial.println("Waiting") ; imprimer, utilisé pour le débogage
}
void connectToTwitter() {}
imprimer une ligne vide, utilisée pour le débogage
Serial.println ("connexion à Twitter...") ; imprimer, utilisé pour le débogage
char testFN1[4]={int(random(4000,5000))} ;
Si (twitter.post(testFN1)) {/ / Twitter que nous sommes en cours d’exécution
int status = twitter.wait (& série) ; attendre une réponse de twitter
Si (statut == 200) {/ / Si Twitter répond 200
Serial.println ("Tweet OK!") ; succès d’impression / / imprimer une ligne vide, utilisée pour le débogage
} else {}
Serial.Print ("Tweet a échoué : code") ;
Serial.println(Status) ; code d’erreur d’impression
connectToTwitter() ; imprimer une ligne vide, utilisée pour le débogage
}
} else {}
Serial.println ("connexion a échoué.") ;
connectToTwitter() ;
}
}
void loop() {}
courir encore et encore, jamais arrêter
readCard() ;
displayColor() ;
vérifier l’état du capteur de fil
checkState() ;
}
Writting Sub {}
Concatène les poème
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 fonction, cela s’appelle si status = 1
char nom [88] ;
dataString.toCharArray (filename, 88) ;
Serial.println ("connexion à Twitter...") ; imprimer, utilisé pour le débogage
Serial.println() ; imprimer une ligne vide, utilisée pour le débogage
Si (twitter.post(filename)) {}
Tweet le datastring rempli de mots
Serial.Print ("Tweeting--") ; imprimer, utilisé pour le débogage
Serial.println(dataString) ; imprimer, utilisé pour le débogage
Serial.Print ("--statut:") ; imprimer, utilisé pour le débogage
État int = twitter.wait() ;
Si (statut == 200) {}
Serial.println("successful!") ;
Serial.println() ;
} else {}
Serial.Print ("Tweet a échoué : code") ; code d’erreur d’impression
Serial.println(Status) ; code d’erreur d’impression
}
} else {}
Serial.println ("Connection to Twitter a échoué.") ; code d’erreur d’impression
}
}
void readCard() {}
if(Count<2) {}
Si (reader1Count > = 26) {}
serialNumber int = (reader1 >> 1) & 0x3fff ;
int siteCode = (reader1 >> 17) & 0x3ff ;
DEC = (reader1 & 0xfffffff) ;
{if(Count==0)}
r = 0 ;
b = 0 ;
g = 0 ;
}
Serial.Print("Dec=") ;
Serial.println(DEC) ;
{Switch(DEC)}
boitier rouge :
r = 255 ;
rupture ;
boitier vert :
g = 255 ;
rupture ;
boîtier bleu :
b = 255 ;
rupture ;
par défaut :
couleur = 0 ;
Serial.Print (« nouveau tag ») ;
Serial.Print(Reader1& 0xFFFFFFF) ;
}
Reader1 = 0 ;
reader1Count = 0 ;
imprimé = false ;
} else if(reader1Count == 0) {}
}
Si (millis ()-prevTime > 2000) {}
Count ++ ;
prevTime=millis() ;
}
} else {}
Count = 0 ;
}
} //readCard()
void checkState() {/ / vérifier l’état de la fonction de fil
{if(!Printed)}
doStuff() ;
imprimé = true ;
}
}
void displayColor() {}
Si (r == 255 & & g == 0 & & b == 0) {}
couleur = 0 ;
} ElseIf (r == 0 & & g == 255 & & b == 0) {}
couleur = 1 ;
} ElseIf (r == 0 & & g == 0 & & b == 255) {}
couleur = 2 ;
} ElseIf (r == 255 & & g == 255 & & b == 0) {}
couleur = 3 ;
} ElseIf (r == 255 & & g == 0 & & b == 255) {}
couleur = 4 ;
} ElseIf (r == 0 & & g == 255 & & b == 255) {}
couleur = 5 ;
} ElseIf (r == 255 & & g == 255 & & b == 255) {}
couleur = 6 ;
}
BlinkM_fadeToRGB(addr,r,g,b) ;
}
void doStuff() {}
randNum2 = random(7) ;
randNum3 = random(7) ;
randNum4 = random(7) ;
Writting ;
Tweet() ;
}
5. Connectez votre Arduino à l’Ether
6. cycle d’essai.